==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_60c058dc-dbaa-4f61-8327-45f1ec190edb]...done ==> Making package: curl 8.11.1-3.1 (Sun Dec 15 02:58:33 2024) ==> Retrieving sources... -> Cloning curl git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/curl-8.11.1-3/curl'... ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed ==> Making package: curl 8.11.1-3.1 (Sun Dec 15 01:58:47 2024) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (8) New Version Net Change core/debuginfod 0.192-2 0.38 MiB core/libmicrohttpd 1.0.1-1 0.59 MiB extra/perl-error 0.17029-7 0.04 MiB extra/perl-mailtools 2.21-9 0.10 MiB extra/perl-timedate 2.33-7 0.08 MiB extra/git 2.47.1-1 28.29 MiB extra/patchelf 0.18.0-3 0.24 MiB extra/valgrind 3.24.0-1 72.20 MiB Total Installed Size: 101.92 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing git... Optional dependencies for git tk: gitk and git gui openssh: ssh transport and crypto perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-mediawiki-api: git mediawiki support perl-datetime-format-iso8601: git mediawiki support perl-lwp-protocol-https: git mediawiki https support perl-cgi: gitweb (web interface) support python: git svn & git p4 subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] installing patchelf... installing libmicrohttpd... installing debuginfod... Optional dependencies for debuginfod elfutils=0.192: for translations installing valgrind... Optional dependencies for valgrind lib32-glibc: 32-bit ABI support [installed] python: cg_* scripts :: Running post-transaction hooks... (1/5) Creating system user accounts... Creating group 'git' with GID 972. Creating user 'git' (git daemon user) with UID 972 and GID 972. (2/5) Reloading system manager configuration... Skipped: Current root is not booted. (3/5) Arming ConditionNeedsUpdate... (4/5) Warn about old perl modules (5/5) Updating the info directory file... ==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Creating working copy of curl git repo... Cloning into 'curl'... done. Switched to a new branch 'makepkg' ==> Starting prepare()... ff5091aa9f async-thread: avoid closing eventfd twice libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' libtoolize: Remember to add 'LT_INIT' to configure.ac. configure.ac:125: installing './compile' configure.ac:437: installing './config.guess' configure.ac:437: installing './config.sub' configure.ac:125: installing './install-sh' configure.ac:131: installing './missing' docs/examples/Makefile.am: installing './depcomp' ==> Starting build()... configure: WARNING: unrecognized options: --with-random checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for code coverage support... no checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking dependency style of gcc... gcc3 checking curl version... 8.11.1 checking for httpd... no checking for apache2... no checking for apachectl... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for nghttpx... no checking for caddy... /usr/bin/caddy checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1402' (raw: '14.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 file API... no checking whether build target supports Win32 crypto API... no checking for good-to-use Darwin CFLAGS... no checking whether to build libcurl and curl in "unity" mode... no checking whether to build tests into single-binary bundles... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for sys/time.h... yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Secure Transport... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/x509.h... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... yes checking for SSL_set_quic_use_legacy_codepoint... no configure: OpenSSL version does not speak QUIC API checking for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... yes configure: built with one SSL backend checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use built-in CA store of SSL library... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for library containing gsasl_init... no configure: WARNING: libgsasl was not found checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_session_block_directions in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... yes checking if libraries can be versioned... yes checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH configure: HTTP3 support is experimental checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for sys/select.h... yes checking for sys/socket.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for stdlib.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/stat.h... (cached) yes checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... yes checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/wait.h... yes checking for sys/eventfd.h... yes checking for setjmp.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for sys/socket.h... (cached) yes checking for struct timeval... yes checking run-time libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for long long... yes checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for in_addr_t... yes checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for sys/socket.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for MSG_NOSIGNAL... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is threadsafe... yes checking if gethostbyname can be linked... yes checking if gethostbyname is prototyped... yes checking if gethostbyname is compilable... yes checking if gethostbyname usage allowed... yes checking if gethostbyname might be used... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/socket.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking if stricmp can be linked... no checking if stricmp might be used... no checking if strtok_r can be linked... yes checking if strtok_r is prototyped... yes checking if strtok_r is compilable... yes checking if strtok_r usage allowed... yes checking if strtok_r might be used... yes checking if strtoll can be linked... yes checking if strtoll is prototyped... yes checking if strtoll is compilable... yes checking if strtoll usage allowed... yes checking if strtoll might be used... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether getpwuid_r is declared... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for if_nametoindex... yes checking for mach_absolute_time... no checking for pipe... yes checking for poll... yes checking for sched_yield... yes checking for sendmsg... yes checking for sendmmsg... yes checking for setlocale... yes checking for setmode... no checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for fseeko... yes checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking for perl... /usr/bin/perl checking whether to enable the threaded resolver... yes checking whether to link macOS CoreFoundation, CoreServices, and SystemConfiguration frameworks... no checking whether to use POSIX threads for threaded resolver... auto checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking for SSL_set0_wbio... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/certs/scripts/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating tests/http/clients/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating curl-config config.status: creating libcurl.pc config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: WARNING: unrecognized options: --with-random configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lnghttp2 -lidn2 -lssh2 -lssh2 -lssl -lcrypto -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.11.1 SSL: enabled (OpenSSL v3+) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos/Heimdal) GSASL: no (libgsasl not found) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (openssl + nghttp3) ECH: no (--enable-ech) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd configure: WARNING: HTTP3 is enabled but marked EXPERIMENTAL. Use with caution! Making all in lib make[1]: Entering directory '/startdir/src/build-curl/lib' make all-am make[2]: Entering directory '/startdir/src/build-curl/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-thread.lo CC libcurl_la-base64.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-c-hyper.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_des.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_multibyte.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-dict.lo CC libcurl_la-dllmain.lo CC libcurl_la-doh.lo CC libcurl_la-dynbuf.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-fopen.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostasyn.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hostsyn.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-idn.lo CC libcurl_la-http_proxy.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-inet_ntop.lo CC libcurl_la-inet_pton.lo CC libcurl_la-krb5.lo CC libcurl_la-ldap.lo CC libcurl_la-macos.lo CC libcurl_la-llist.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-netrc.lo CC libcurl_la-nonblock.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-rename.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-share.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.lo CC libcurl_la-strerror.lo CC libcurl_la-strtok.lo CC libcurl_la-strtoofft.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-timediff.lo CC libcurl_la-timeval.lo CC libcurl_la-transfer.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-version_win32.lo CC libcurl_la-warnless.lo CC libcurl_la-ws.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-bearssl.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-mbedtls_threadlock.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-sectransp.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_msh3.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-curl_path.lo CC vssh/libcurl_la-wolfssh.lo CCLD libcurl.la make[2]: Leaving directory '/startdir/src/build-curl/lib' make[1]: Leaving directory '/startdir/src/build-curl/lib' Making all in docs make[1]: Entering directory '/startdir/src/build-curl/docs' RENDER mk-ca-bundle.1 RENDER curl-config.1 Making all in . make[2]: Entering directory '/startdir/src/build-curl/docs' make[2]: Nothing to be done for 'all-am'. make[2]: Leaving directory '/startdir/src/build-curl/docs' Making all in cmdline-opts make[2]: Entering directory '/startdir/src/build-curl/docs/cmdline-opts' GENERATE curl.1 GENERATE curl.txt make[2]: Leaving directory '/startdir/src/build-curl/docs/cmdline-opts' Making all in libcurl make[2]: Entering directory '/startdir/src/build-curl/docs/libcurl' Making all in opts make[3]: Entering directory '/startdir/src/build-curl/docs/libcurl/opts' RENDER CURLINFO_ACTIVESOCKET.3 RENDER CURLINFO_APPCONNECT_TIME_T.3 RENDER CURLINFO_APPCONNECT_TIME.3 RENDER CURLINFO_CAINFO.3 RENDER CURLINFO_CAPATH.3 RENDER CURLINFO_CERTINFO.3 RENDER CURLINFO_CONDITION_UNMET.3 RENDER CURLINFO_CONNECT_TIME.3 RENDER CURLINFO_CONN_ID.3 RENDER CURLINFO_CONNECT_TIME_T.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 RENDER CURLINFO_CONTENT_TYPE.3 RENDER CURLINFO_COOKIELIST.3 RENDER CURLINFO_EARLYDATA_SENT_T.3 RENDER CURLINFO_EFFECTIVE_METHOD.3 RENDER CURLINFO_EFFECTIVE_URL.3 RENDER CURLINFO_FILETIME.3 RENDER CURLINFO_FILETIME_T.3 RENDER CURLINFO_FTP_ENTRY_PATH.3 RENDER CURLINFO_HEADER_SIZE.3 RENDER CURLINFO_HTTP_CONNECTCODE.3 RENDER CURLINFO_HTTP_VERSION.3 RENDER CURLINFO_HTTPAUTH_AVAIL.3 RENDER CURLINFO_LASTSOCKET.3 RENDER CURLINFO_LOCAL_IP.3 RENDER CURLINFO_LOCAL_PORT.3 RENDER CURLINFO_NAMELOOKUP_TIME_T.3 RENDER CURLINFO_NAMELOOKUP_TIME.3 RENDER CURLINFO_NUM_CONNECTS.3 RENDER CURLINFO_OS_ERRNO.3 RENDER CURLINFO_PRETRANSFER_TIME.3 RENDER CURLINFO_PRETRANSFER_TIME_T.3 RENDER CURLINFO_POSTTRANSFER_TIME_T.3 RENDER CURLINFO_PRIMARY_IP.3 RENDER CURLINFO_PRIMARY_PORT.3 RENDER CURLINFO_PRIVATE.3 RENDER CURLINFO_PROTOCOL.3 RENDER CURLINFO_PROXY_ERROR.3 RENDER CURLINFO_PROXY_SSL_VERIFYRESULT.3 RENDER CURLINFO_PROXYAUTH_AVAIL.3 RENDER CURLINFO_QUEUE_TIME_T.3 RENDER CURLINFO_REDIRECT_COUNT.3 RENDER CURLINFO_REDIRECT_TIME.3 RENDER CURLINFO_REDIRECT_TIME_T.3 RENDER CURLINFO_REDIRECT_URL.3 RENDER CURLINFO_REFERER.3 RENDER CURLINFO_REQUEST_SIZE.3 RENDER CURLINFO_RESPONSE_CODE.3 RENDER CURLINFO_RETRY_AFTER.3 RENDER CURLINFO_RTSP_CLIENT_CSEQ.3 RENDER CURLINFO_RTSP_CSEQ_RECV.3 RENDER CURLINFO_RTSP_SERVER_CSEQ.3 RENDER CURLINFO_RTSP_SESSION_ID.3 RENDER CURLINFO_SCHEME.3 RENDER CURLINFO_SIZE_DOWNLOAD.3 RENDER CURLINFO_SIZE_DOWNLOAD_T.3 RENDER CURLINFO_SIZE_UPLOAD_T.3 RENDER CURLINFO_SIZE_UPLOAD.3 RENDER CURLINFO_SPEED_DOWNLOAD.3 RENDER CURLINFO_SPEED_DOWNLOAD_T.3 RENDER CURLINFO_SPEED_UPLOAD.3 RENDER CURLINFO_SPEED_UPLOAD_T.3 RENDER CURLINFO_SSL_ENGINES.3 RENDER CURLINFO_SSL_VERIFYRESULT.3 RENDER CURLINFO_STARTTRANSFER_TIME.3 RENDER CURLINFO_STARTTRANSFER_TIME_T.3 RENDER CURLINFO_TLS_SESSION.3 RENDER CURLINFO_TLS_SSL_PTR.3 RENDER CURLINFO_TOTAL_TIME.3 RENDER CURLINFO_TOTAL_TIME_T.3 RENDER CURLINFO_USED_PROXY.3 RENDER CURLINFO_XFER_ID.3 RENDER CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 RENDER CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 RENDER CURLMOPT_MAX_CONCURRENT_STREAMS.3 RENDER CURLMOPT_MAX_HOST_CONNECTIONS.3 RENDER CURLMOPT_MAX_PIPELINE_LENGTH.3 RENDER CURLMOPT_MAX_TOTAL_CONNECTIONS.3 RENDER CURLMOPT_MAXCONNECTS.3 RENDER CURLMOPT_PIPELINING.3 RENDER CURLMOPT_PIPELINING_SERVER_BL.3 RENDER CURLMOPT_PIPELINING_SITE_BL.3 RENDER CURLMOPT_PUSHDATA.3 RENDER CURLMOPT_PUSHFUNCTION.3 RENDER CURLMOPT_SOCKETDATA.3 RENDER CURLMOPT_SOCKETFUNCTION.3 RENDER CURLMOPT_TIMERDATA.3 RENDER CURLMOPT_TIMERFUNCTION.3 RENDER CURLOPT_ABSTRACT_UNIX_SOCKET.3 RENDER CURLOPT_ACCEPT_ENCODING.3 RENDER CURLOPT_ACCEPTTIMEOUT_MS.3 RENDER CURLOPT_ADDRESS_SCOPE.3 RENDER CURLOPT_ALTSVC.3 RENDER CURLOPT_ALTSVC_CTRL.3 RENDER CURLOPT_APPEND.3 RENDER CURLOPT_AUTOREFERER.3 RENDER CURLOPT_AWS_SIGV4.3 RENDER CURLOPT_BUFFERSIZE.3 RENDER CURLOPT_CAINFO.3 RENDER CURLOPT_CAINFO_BLOB.3 RENDER CURLOPT_CAPATH.3 RENDER CURLOPT_CA_CACHE_TIMEOUT.3 RENDER CURLOPT_CERTINFO.3 RENDER CURLOPT_CHUNK_BGN_FUNCTION.3 RENDER CURLOPT_CHUNK_DATA.3 RENDER CURLOPT_CHUNK_END_FUNCTION.3 RENDER CURLOPT_CLOSESOCKETDATA.3 RENDER CURLOPT_CLOSESOCKETFUNCTION.3 RENDER CURLOPT_CONNECT_ONLY.3 RENDER CURLOPT_CONNECT_TO.3 RENDER CURLOPT_CONNECTTIMEOUT.3 RENDER CURLOPT_CONNECTTIMEOUT_MS.3 RENDER CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 RENDER CURLOPT_CONV_FROM_UTF8_FUNCTION.3 RENDER CURLOPT_CONV_TO_NETWORK_FUNCTION.3 RENDER CURLOPT_COOKIE.3 RENDER CURLOPT_COOKIEFILE.3 RENDER CURLOPT_COOKIEJAR.3 RENDER CURLOPT_COOKIELIST.3 RENDER CURLOPT_COOKIESESSION.3 RENDER CURLOPT_COPYPOSTFIELDS.3 RENDER CURLOPT_CRLF.3 RENDER CURLOPT_CRLFILE.3 RENDER CURLOPT_CURLU.3 RENDER CURLOPT_CUSTOMREQUEST.3 RENDER CURLOPT_DEBUGDATA.3 RENDER CURLOPT_DEBUGFUNCTION.3 RENDER CURLOPT_DEFAULT_PROTOCOL.3 RENDER CURLOPT_DIRLISTONLY.3 RENDER CURLOPT_DISALLOW_USERNAME_IN_URL.3 RENDER CURLOPT_DNS_CACHE_TIMEOUT.3 RENDER CURLOPT_DNS_INTERFACE.3 RENDER CURLOPT_DNS_LOCAL_IP4.3 RENDER CURLOPT_DNS_LOCAL_IP6.3 RENDER CURLOPT_DNS_SERVERS.3 RENDER CURLOPT_DNS_SHUFFLE_ADDRESSES.3 RENDER CURLOPT_DNS_USE_GLOBAL_CACHE.3 RENDER CURLOPT_DOH_SSL_VERIFYHOST.3 RENDER CURLOPT_DOH_SSL_VERIFYPEER.3 RENDER CURLOPT_DOH_SSL_VERIFYSTATUS.3 RENDER CURLOPT_DOH_URL.3 RENDER CURLOPT_ECH.3 RENDER CURLOPT_EGDSOCKET.3 RENDER CURLOPT_ERRORBUFFER.3 RENDER CURLOPT_EXPECT_100_TIMEOUT_MS.3 RENDER CURLOPT_FAILONERROR.3 RENDER CURLOPT_FILETIME.3 RENDER CURLOPT_FNMATCH_DATA.3 RENDER CURLOPT_FOLLOWLOCATION.3 RENDER CURLOPT_FNMATCH_FUNCTION.3 RENDER CURLOPT_FORBID_REUSE.3 RENDER CURLOPT_FRESH_CONNECT.3 RENDER CURLOPT_FTP_ACCOUNT.3 RENDER CURLOPT_FTP_ALTERNATIVE_TO_USER.3 RENDER CURLOPT_FTP_CREATE_MISSING_DIRS.3 RENDER CURLOPT_FTP_FILEMETHOD.3 RENDER CURLOPT_FTP_SKIP_PASV_IP.3 RENDER CURLOPT_FTP_SSL_CCC.3 RENDER CURLOPT_FTP_USE_EPRT.3 RENDER CURLOPT_FTP_USE_EPSV.3 RENDER CURLOPT_FTP_USE_PRET.3 RENDER CURLOPT_FTPPORT.3 RENDER CURLOPT_FTPSSLAUTH.3 RENDER CURLOPT_GSSAPI_DELEGATION.3 RENDER CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 RENDER CURLOPT_HAPROXYPROTOCOL.3 RENDER CURLOPT_HAPROXY_CLIENT_IP.3 RENDER CURLOPT_HEADER.3 RENDER CURLOPT_HEADERDATA.3 RENDER CURLOPT_HEADERFUNCTION.3 RENDER CURLOPT_HEADEROPT.3 RENDER CURLOPT_HSTS.3 RENDER CURLOPT_HSTS_CTRL.3 RENDER CURLOPT_HSTSREADDATA.3 RENDER CURLOPT_HSTSREADFUNCTION.3 RENDER CURLOPT_HSTSWRITEDATA.3 RENDER CURLOPT_HSTSWRITEFUNCTION.3 RENDER CURLOPT_HTTP09_ALLOWED.3 RENDER CURLOPT_HTTP200ALIASES.3 RENDER CURLOPT_HTTP_CONTENT_DECODING.3 RENDER CURLOPT_HTTP_TRANSFER_DECODING.3 RENDER CURLOPT_HTTP_VERSION.3 RENDER CURLOPT_HTTPAUTH.3 RENDER CURLOPT_HTTPGET.3 RENDER CURLOPT_HTTPHEADER.3 RENDER CURLOPT_HTTPPOST.3 RENDER CURLOPT_HTTPPROXYTUNNEL.3 RENDER CURLOPT_IGNORE_CONTENT_LENGTH.3 RENDER CURLOPT_INFILESIZE.3 RENDER CURLOPT_INFILESIZE_LARGE.3 RENDER CURLOPT_INTERFACE.3 RENDER CURLOPT_INTERLEAVEDATA.3 RENDER CURLOPT_INTERLEAVEFUNCTION.3 RENDER CURLOPT_IOCTLDATA.3 RENDER CURLOPT_IOCTLFUNCTION.3 RENDER CURLOPT_IPRESOLVE.3 RENDER CURLOPT_ISSUERCERT.3 RENDER CURLOPT_ISSUERCERT_BLOB.3 RENDER CURLOPT_KEEP_SENDING_ON_ERROR.3 RENDER CURLOPT_KEYPASSWD.3 RENDER CURLOPT_KRBLEVEL.3 RENDER CURLOPT_LOCALPORT.3 RENDER CURLOPT_LOCALPORTRANGE.3 RENDER CURLOPT_LOGIN_OPTIONS.3 RENDER CURLOPT_LOW_SPEED_LIMIT.3 RENDER CURLOPT_LOW_SPEED_TIME.3 RENDER CURLOPT_MAIL_AUTH.3 RENDER CURLOPT_MAIL_FROM.3 RENDER CURLOPT_MAIL_RCPT.3 RENDER CURLOPT_MAIL_RCPT_ALLOWFAILS.3 RENDER CURLOPT_MAX_RECV_SPEED_LARGE.3 RENDER CURLOPT_MAX_SEND_SPEED_LARGE.3 RENDER CURLOPT_MAXAGE_CONN.3 RENDER CURLOPT_MAXFILESIZE.3 RENDER CURLOPT_MAXCONNECTS.3 RENDER CURLOPT_MAXFILESIZE_LARGE.3 RENDER CURLOPT_MAXREDIRS.3 RENDER CURLOPT_MIME_OPTIONS.3 RENDER CURLOPT_MIMEPOST.3 RENDER CURLOPT_MAXLIFETIME_CONN.3 RENDER CURLOPT_NETRC.3 RENDER CURLOPT_NETRC_FILE.3 RENDER CURLOPT_NEW_DIRECTORY_PERMS.3 RENDER CURLOPT_NEW_FILE_PERMS.3 RENDER CURLOPT_NOBODY.3 RENDER CURLOPT_NOPROGRESS.3 RENDER CURLOPT_NOPROXY.3 RENDER CURLOPT_NOSIGNAL.3 RENDER CURLOPT_OPENSOCKETDATA.3 RENDER CURLOPT_OPENSOCKETFUNCTION.3 RENDER CURLOPT_PASSWORD.3 RENDER CURLOPT_PATH_AS_IS.3 RENDER CURLOPT_PINNEDPUBLICKEY.3 RENDER CURLOPT_PIPEWAIT.3 RENDER CURLOPT_PORT.3 RENDER CURLOPT_POST.3 RENDER CURLOPT_POSTFIELDS.3 RENDER CURLOPT_POSTFIELDSIZE.3 RENDER CURLOPT_POSTFIELDSIZE_LARGE.3 RENDER CURLOPT_POSTQUOTE.3 RENDER CURLOPT_POSTREDIR.3 RENDER CURLOPT_PRE_PROXY.3 RENDER CURLOPT_PREQUOTE.3 RENDER CURLOPT_PREREQDATA.3 RENDER CURLOPT_PREREQFUNCTION.3 RENDER CURLOPT_PRIVATE.3 RENDER CURLOPT_PROGRESSDATA.3 RENDER CURLOPT_PROGRESSFUNCTION.3 RENDER CURLOPT_PROTOCOLS.3 RENDER CURLOPT_PROTOCOLS_STR.3 RENDER CURLOPT_PROXY.3 RENDER CURLOPT_PROXY_CAINFO.3 RENDER CURLOPT_PROXY_CAINFO_BLOB.3 RENDER CURLOPT_PROXY_CAPATH.3 RENDER CURLOPT_PROXY_CRLFILE.3 RENDER CURLOPT_PROXY_ISSUERCERT.3 RENDER CURLOPT_PROXY_ISSUERCERT_BLOB.3 RENDER CURLOPT_PROXY_KEYPASSWD.3 RENDER CURLOPT_PROXY_PINNEDPUBLICKEY.3 RENDER CURLOPT_PROXY_SERVICE_NAME.3 RENDER CURLOPT_PROXY_SSL_OPTIONS.3 RENDER CURLOPT_PROXY_SSL_CIPHER_LIST.3 RENDER CURLOPT_PROXY_SSL_VERIFYHOST.3 RENDER CURLOPT_PROXY_SSL_VERIFYPEER.3 RENDER CURLOPT_PROXY_SSLCERT.3 RENDER CURLOPT_PROXY_SSLCERT_BLOB.3 RENDER CURLOPT_PROXY_SSLCERTTYPE.3 RENDER CURLOPT_PROXY_SSLKEY_BLOB.3 RENDER CURLOPT_PROXY_SSLKEY.3 RENDER CURLOPT_PROXY_SSLKEYTYPE.3 RENDER CURLOPT_PROXY_SSLVERSION.3 RENDER CURLOPT_PROXY_TLS13_CIPHERS.3 RENDER CURLOPT_PROXY_TLSAUTH_PASSWORD.3 RENDER CURLOPT_PROXY_TLSAUTH_TYPE.3 RENDER CURLOPT_PROXY_TLSAUTH_USERNAME.3 RENDER CURLOPT_PROXY_TRANSFER_MODE.3 RENDER CURLOPT_PROXYAUTH.3 RENDER CURLOPT_PROXYHEADER.3 RENDER CURLOPT_PROXYPASSWORD.3 RENDER CURLOPT_PROXYPORT.3 RENDER CURLOPT_PROXYTYPE.3 RENDER CURLOPT_PROXYUSERNAME.3 RENDER CURLOPT_PROXYUSERPWD.3 RENDER CURLOPT_PUT.3 RENDER CURLOPT_QUICK_EXIT.3 RENDER CURLOPT_QUOTE.3 RENDER CURLOPT_RANDOM_FILE.3 RENDER CURLOPT_RANGE.3 RENDER CURLOPT_READDATA.3 RENDER CURLOPT_READFUNCTION.3 RENDER CURLOPT_REDIR_PROTOCOLS.3 RENDER CURLOPT_REDIR_PROTOCOLS_STR.3 RENDER CURLOPT_REFERER.3 RENDER CURLOPT_REQUEST_TARGET.3 RENDER CURLOPT_RESOLVE.3 RENDER CURLOPT_RESOLVER_START_DATA.3 RENDER CURLOPT_RESOLVER_START_FUNCTION.3 RENDER CURLOPT_RESUME_FROM.3 RENDER CURLOPT_RESUME_FROM_LARGE.3 RENDER CURLOPT_RTSP_CLIENT_CSEQ.3 RENDER CURLOPT_RTSP_REQUEST.3 RENDER CURLOPT_RTSP_SERVER_CSEQ.3 RENDER CURLOPT_RTSP_SESSION_ID.3 RENDER CURLOPT_RTSP_STREAM_URI.3 RENDER CURLOPT_RTSP_TRANSPORT.3 RENDER CURLOPT_SASL_AUTHZID.3 RENDER CURLOPT_SASL_IR.3 RENDER CURLOPT_SEEKDATA.3 RENDER CURLOPT_SEEKFUNCTION.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.3 RENDER CURLOPT_SERVICE_NAME.3 RENDER CURLOPT_SHARE.3 RENDER CURLOPT_SOCKOPTDATA.3 RENDER CURLOPT_SOCKOPTFUNCTION.3 RENDER CURLOPT_SOCKS5_AUTH.3 RENDER CURLOPT_SOCKS5_GSSAPI_NEC.3 RENDER CURLOPT_SOCKS5_GSSAPI_SERVICE.3 RENDER CURLOPT_SSH_AUTH_TYPES.3 RENDER CURLOPT_SSH_HOSTKEYDATA.3 RENDER CURLOPT_SSH_COMPRESSION.3 RENDER CURLOPT_SSH_HOSTKEYFUNCTION.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3 RENDER CURLOPT_SSH_KEYDATA.3 RENDER CURLOPT_SSH_KEYFUNCTION.3 RENDER CURLOPT_SSH_KNOWNHOSTS.3 RENDER CURLOPT_SSH_PRIVATE_KEYFILE.3 RENDER CURLOPT_SSH_PUBLIC_KEYFILE.3 RENDER CURLOPT_SSL_CIPHER_LIST.3 RENDER CURLOPT_SSL_CTX_DATA.3 RENDER CURLOPT_SSL_CTX_FUNCTION.3 RENDER CURLOPT_SSL_EC_CURVES.3 RENDER CURLOPT_SSL_ENABLE_ALPN.3 RENDER CURLOPT_SSL_ENABLE_NPN.3 RENDER CURLOPT_SSL_FALSESTART.3 RENDER CURLOPT_SSL_OPTIONS.3 RENDER CURLOPT_SSL_VERIFYHOST.3 RENDER CURLOPT_SSL_SESSIONID_CACHE.3 RENDER CURLOPT_SSL_VERIFYSTATUS.3 RENDER CURLOPT_SSL_VERIFYPEER.3 RENDER CURLOPT_SSLCERT.3 RENDER CURLOPT_SSLCERT_BLOB.3 RENDER CURLOPT_SSLCERTTYPE.3 RENDER CURLOPT_SSLENGINE.3 RENDER CURLOPT_SSLENGINE_DEFAULT.3 RENDER CURLOPT_SSLKEY.3 RENDER CURLOPT_SSLKEY_BLOB.3 RENDER CURLOPT_SSLKEYTYPE.3 RENDER CURLOPT_SSLVERSION.3 RENDER CURLOPT_STDERR.3 RENDER CURLOPT_STREAM_DEPENDS.3 RENDER CURLOPT_STREAM_DEPENDS_E.3 RENDER CURLOPT_STREAM_WEIGHT.3 RENDER CURLOPT_SUPPRESS_CONNECT_HEADERS.3 RENDER CURLOPT_TCP_FASTOPEN.3 RENDER CURLOPT_TCP_KEEPALIVE.3 RENDER CURLOPT_TCP_KEEPIDLE.3 RENDER CURLOPT_TCP_KEEPINTVL.3 RENDER CURLOPT_TCP_KEEPCNT.3 RENDER CURLOPT_TCP_NODELAY.3 RENDER CURLOPT_TELNETOPTIONS.3 RENDER CURLOPT_TFTP_BLKSIZE.3 RENDER CURLOPT_TFTP_NO_OPTIONS.3 RENDER CURLOPT_TIMECONDITION.3 RENDER CURLOPT_TIMEOUT.3 RENDER CURLOPT_TIMEOUT_MS.3 RENDER CURLOPT_TIMEVALUE.3 RENDER CURLOPT_TIMEVALUE_LARGE.3 RENDER CURLOPT_TLS13_CIPHERS.3 RENDER CURLOPT_TLSAUTH_TYPE.3 RENDER CURLOPT_TLSAUTH_PASSWORD.3 RENDER CURLOPT_TLSAUTH_USERNAME.3 RENDER CURLOPT_TRAILERDATA.3 RENDER CURLOPT_TRAILERFUNCTION.3 RENDER CURLOPT_TRANSFER_ENCODING.3 RENDER CURLOPT_TRANSFERTEXT.3 RENDER CURLOPT_UNIX_SOCKET_PATH.3 RENDER CURLOPT_UNRESTRICTED_AUTH.3 RENDER CURLOPT_UPKEEP_INTERVAL_MS.3 RENDER CURLOPT_UPLOAD.3 RENDER CURLOPT_UPLOAD_BUFFERSIZE.3 RENDER CURLOPT_URL.3 RENDER CURLOPT_USE_SSL.3 RENDER CURLOPT_USERAGENT.3 RENDER CURLOPT_USERNAME.3 RENDER CURLOPT_USERPWD.3 RENDER CURLOPT_VERBOSE.3 RENDER CURLOPT_WILDCARDMATCH.3 RENDER CURLOPT_WRITEDATA.3 RENDER CURLOPT_WRITEFUNCTION.3 RENDER CURLOPT_WS_OPTIONS.3 RENDER CURLOPT_XFERINFODATA.3 RENDER CURLOPT_XFERINFOFUNCTION.3 RENDER CURLOPT_XOAUTH2_BEARER.3 RENDER CURLSHOPT_LOCKFUNC.3 RENDER CURLSHOPT_SHARE.3 RENDER CURLSHOPT_UNLOCKFUNC.3 RENDER CURLSHOPT_UNSHARE.3 RENDER CURLSHOPT_USERDATA.3 make[3]: Leaving directory '/startdir/src/build-curl/docs/libcurl/opts' make[3]: Entering directory '/startdir/src/build-curl/docs/libcurl' RENDER curl_easy_escape.3 RENDER curl_easy_getinfo.3 RENDER curl_easy_duphandle.3 RENDER curl_easy_cleanup.3 RENDER curl_easy_init.3 RENDER curl_easy_header.3 RENDER curl_easy_nextheader.3 RENDER curl_easy_option_by_id.3 RENDER curl_easy_option_by_name.3 RENDER curl_easy_option_next.3 RENDER curl_easy_pause.3 RENDER curl_easy_perform.3 RENDER curl_easy_recv.3 RENDER curl_easy_reset.3 RENDER curl_easy_send.3 RENDER curl_easy_strerror.3 RENDER curl_easy_upkeep.3 RENDER curl_easy_setopt.3 RENDER curl_easy_unescape.3 RENDER curl_escape.3 RENDER curl_formadd.3 RENDER curl_formfree.3 RENDER curl_formget.3 RENDER curl_free.3 RENDER curl_getdate.3 RENDER curl_getenv.3 RENDER curl_global_cleanup.3 RENDER curl_global_init.3 RENDER curl_global_init_mem.3 RENDER curl_global_trace.3 RENDER curl_global_sslset.3 RENDER curl_mime_addpart.3 RENDER curl_mime_data.3 RENDER curl_mime_data_cb.3 RENDER curl_mime_encoder.3 RENDER curl_mime_filedata.3 RENDER curl_mime_filename.3 RENDER curl_mime_free.3 RENDER curl_mime_headers.3 RENDER curl_mime_init.3 RENDER curl_mime_name.3 RENDER curl_mime_subparts.3 RENDER curl_mime_type.3 RENDER curl_mprintf.3 RENDER curl_multi_add_handle.3 RENDER curl_multi_assign.3 RENDER curl_multi_cleanup.3 RENDER curl_multi_fdset.3 RENDER curl_multi_get_handles.3 RENDER curl_multi_info_read.3 RENDER curl_multi_init.3 RENDER curl_multi_perform.3 RENDER curl_multi_poll.3 RENDER curl_multi_remove_handle.3 RENDER curl_multi_setopt.3 RENDER curl_multi_socket.3 RENDER curl_multi_socket_action.3 RENDER curl_multi_socket_all.3 RENDER curl_multi_strerror.3 RENDER curl_multi_timeout.3 RENDER curl_multi_wakeup.3 RENDER curl_multi_waitfds.3 RENDER curl_multi_wait.3 RENDER curl_pushheader_byname.3 RENDER curl_pushheader_bynum.3 RENDER curl_share_cleanup.3 RENDER curl_share_init.3 RENDER curl_share_setopt.3 RENDER curl_share_strerror.3 RENDER curl_slist_append.3 RENDER curl_slist_free_all.3 RENDER curl_strequal.3 RENDER curl_strnequal.3 RENDER curl_unescape.3 RENDER curl_url.3 RENDER curl_url_cleanup.3 RENDER curl_url_dup.3 RENDER curl_url_get.3 RENDER curl_url_set.3 RENDER curl_url_strerror.3 RENDER curl_version.3 RENDER curl_version_info.3 RENDER curl_ws_meta.3 RENDER curl_ws_recv.3 RENDER curl_ws_send.3 RENDER libcurl-easy.3 RENDER libcurl-env.3 RENDER libcurl-env-dbg.3 RENDER libcurl-errors.3 RENDER libcurl-multi.3 RENDER libcurl-security.3 RENDER libcurl-share.3 RENDER libcurl-symbols.md RENDER libcurl-thread.3 RENDER libcurl-url.3 RENDER libcurl-tutorial.3 RENDER libcurl-ws.3 RENDER libcurl.3 RENDER libcurl-symbols.3 make[3]: Leaving directory '/startdir/src/build-curl/docs/libcurl' make[2]: Leaving directory '/startdir/src/build-curl/docs/libcurl' make[1]: Leaving directory '/startdir/src/build-curl/docs' Making all in src make[1]: Entering directory '/startdir/src/build-curl/src' CC slist_wc.o CC terminal.o CC tool_binmode.o CC tool_bname.o CC tool_cb_dbg.o CC tool_cb_hdr.o CC tool_cb_prg.o CC tool_cb_rea.o CC tool_cb_see.o CC tool_cb_soc.o CC tool_cb_wrt.o CC tool_cfgable.o CC tool_dirhie.o CC tool_doswin.o CC tool_easysrc.o CC tool_filetime.o CC tool_findfile.o CC tool_formparse.o CC tool_getparam.o CC tool_getpass.o CC tool_help.o CC tool_helpers.o echo '#include "tool_hugehelp.h"' >> tool_hugehelp.c CC tool_ipfs.o CC tool_libinfo.o CC tool_listhelp.o CC tool_main.o CC tool_msgs.o CC tool_operate.o CC tool_operhlp.o CC tool_paramhlp.o CC tool_parsecfg.o CC tool_progress.o CC tool_setopt.o CC tool_sleep.o CC tool_stderr.o CC tool_strdup.o CC tool_urlglob.o CC tool_util.o CC tool_vms.o CC tool_writeout.o CC tool_writeout_json.o CC tool_xattr.o CC var.o echo 'extern const void *curl_ca_embed; const void *curl_ca_embed;' > tool_ca_embed.c CC tool_hugehelp.o CC tool_ca_embed.o CC ../lib/base64.o CC ../lib/dynbuf.o CC ../lib/curl_multibyte.o CC ../lib/nonblock.o CC ../lib/strtoofft.o CC ../lib/timediff.o CC ../lib/version_win32.o CC ../lib/warnless.o CCLD curl make[1]: Leaving directory '/startdir/src/build-curl/src' Making all in scripts make[1]: Entering directory '/startdir/src/build-curl/scripts' if test -z "/usr/bin/perl"; then echo "No perl: can't install completion script"; else \ /usr/bin/perl /startdir/src/curl/scripts/completion.pl --curl ../src/curl --shell zsh > _curl ; fi if test -z "/usr/bin/perl"; then echo "No perl: can't install completion script"; else \ /usr/bin/perl /startdir/src/curl/scripts/completion.pl --curl ../src/curl --shell fish > curl.fish ; fi make[1]: Leaving directory '/startdir/src/build-curl/scripts' make[1]: Entering directory '/startdir/src/build-curl' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/startdir/src/build-curl' configure: WARNING: unrecognized options: --with-random checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for code coverage support... no checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking dependency style of gcc... gcc3 checking curl version... 8.11.1 checking for httpd... no checking for apache2... no checking for apachectl... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for nghttpx... no checking for caddy... /usr/bin/caddy checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1402' (raw: '14.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 file API... no checking whether build target supports Win32 crypto API... no checking for good-to-use Darwin CFLAGS... no checking whether to build libcurl and curl in "unity" mode... no checking whether to build tests into single-binary bundles... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for sys/time.h... yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Secure Transport... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/x509.h... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... yes checking for SSL_set_quic_use_legacy_codepoint... no configure: OpenSSL version does not speak QUIC API checking for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... yes configure: built with one SSL backend checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use built-in CA store of SSL library... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for library containing gsasl_init... no configure: WARNING: libgsasl was not found checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_session_block_directions in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... no checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH configure: HTTP3 support is experimental checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for sys/select.h... yes checking for sys/socket.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for stdlib.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/stat.h... (cached) yes checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... yes checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/wait.h... yes checking for sys/eventfd.h... yes checking for setjmp.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for sys/socket.h... (cached) yes checking for struct timeval... yes checking run-time libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for long long... yes checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for in_addr_t... yes checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for sys/socket.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for MSG_NOSIGNAL... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is threadsafe... yes checking if gethostbyname can be linked... yes checking if gethostbyname is prototyped... yes checking if gethostbyname is compilable... yes checking if gethostbyname usage allowed... yes checking if gethostbyname might be used... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/socket.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking if stricmp can be linked... no checking if stricmp might be used... no checking if strtok_r can be linked... yes checking if strtok_r is prototyped... yes checking if strtok_r is compilable... yes checking if strtok_r usage allowed... yes checking if strtok_r might be used... yes checking if strtoll can be linked... yes checking if strtoll is prototyped... yes checking if strtoll is compilable... yes checking if strtoll usage allowed... yes checking if strtoll might be used... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether getpwuid_r is declared... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for if_nametoindex... yes checking for mach_absolute_time... no checking for pipe... yes checking for poll... yes checking for sched_yield... yes checking for sendmsg... yes checking for sendmmsg... yes checking for setlocale... yes checking for setmode... no checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for fseeko... yes checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking for perl... /usr/bin/perl checking whether to enable the threaded resolver... yes checking whether to link macOS CoreFoundation, CoreServices, and SystemConfiguration frameworks... no checking whether to use POSIX threads for threaded resolver... auto checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking for SSL_set0_wbio... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/certs/scripts/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating tests/http/clients/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating curl-config config.status: creating libcurl.pc config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: WARNING: unrecognized options: --with-random configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lnghttp2 -lidn2 -lssh2 -lssh2 -lssl -lcrypto -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.11.1 SSL: enabled (OpenSSL v3+) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos/Heimdal) GSASL: no (libgsasl not found) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (openssl + nghttp3) ECH: no (--enable-ech) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd configure: WARNING: HTTP3 is enabled but marked EXPERIMENTAL. Use with caution! make: Entering directory '/startdir/src/build-curl-compat/lib' make all-am make[1]: Entering directory '/startdir/src/build-curl-compat/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-thread.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-base64.lo CC libcurl_la-bufref.lo CC libcurl_la-bufq.lo CC libcurl_la-c-hyper.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_des.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_multibyte.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-dict.lo CC libcurl_la-dllmain.lo CC libcurl_la-doh.lo CC libcurl_la-dynbuf.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-fopen.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostasyn.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hostsyn.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-inet_ntop.lo CC libcurl_la-inet_pton.lo CC libcurl_la-krb5.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-netrc.lo CC libcurl_la-nonblock.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-rename.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-share.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.lo CC libcurl_la-strerror.lo CC libcurl_la-strtok.lo CC libcurl_la-strtoofft.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-timediff.lo CC libcurl_la-timeval.lo CC libcurl_la-transfer.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-version_win32.lo CC libcurl_la-warnless.lo CC libcurl_la-ws.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-bearssl.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-mbedtls_threadlock.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-sectransp.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_msh3.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-curl_path.lo CC vssh/libcurl_la-wolfssh.lo CCLD libcurl.la /usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols /usr/bin/nm: .libs/libcurl_la-asyn-ares.o: no symbols /usr/bin/nm: .libs/libcurl_la-c-hyper.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_des.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_multibyte.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_rtmp.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-dllmain.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostsyn.o: no symbols /usr/bin/nm: .libs/libcurl_la-inet_ntop.o: no symbols /usr/bin/nm: .libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: .libs/libcurl_la-ldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-macos.o: no symbols /usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols /usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-strtok.o: no symbols /usr/bin/nm: .libs/libcurl_la-system_win32.o: no symbols /usr/bin/nm: .libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-bearssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-gtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls_threadlock.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-sectransp.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-x509asn1.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_msh3.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_ngtcp2.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-wolfssh.o: no symbols make[1]: Leaving directory '/startdir/src/build-curl-compat/lib' make: Leaving directory '/startdir/src/build-curl-compat/lib' configure: WARNING: unrecognized options: --with-random checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for code coverage support... no checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking dependency style of gcc... gcc3 checking curl version... 8.11.1 checking for httpd... no checking for apache2... no checking for apachectl... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for nghttpx... no checking for caddy... /usr/bin/caddy checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1402' (raw: '14.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 file API... no checking whether build target supports Win32 crypto API... no checking for good-to-use Darwin CFLAGS... no checking whether to build libcurl and curl in "unity" mode... no checking whether to build tests into single-binary bundles... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for sys/time.h... yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Secure Transport... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for gnutls options with pkg-config... found checking for gnutls_x509_crt_get_dn2 in -lgnutls... yes configure: detected GnuTLS version 3.8.8 checking for nettle_MD5Init in -lgnutls... no checking for nettle_MD5Init in -lnettle... yes checking for gnutls_srp_verifier in -lgnutls... yes configure: built with one SSL backend checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use built-in CA store of SSL library... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for library containing gsasl_init... no configure: WARNING: libgsasl was not found checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_session_block_directions in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... no checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for sys/select.h... yes checking for sys/socket.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for stdlib.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/stat.h... (cached) yes checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... yes checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/wait.h... yes checking for sys/eventfd.h... yes checking for setjmp.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for sys/socket.h... (cached) yes checking for struct timeval... yes checking run-time libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for long long... yes checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for in_addr_t... yes checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for sys/socket.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for MSG_NOSIGNAL... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is threadsafe... yes checking if gethostbyname can be linked... yes checking if gethostbyname is prototyped... yes checking if gethostbyname is compilable... yes checking if gethostbyname usage allowed... yes checking if gethostbyname might be used... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for sys/socket.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/socket.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking if stricmp can be linked... no checking if stricmp might be used... no checking if strtok_r can be linked... yes checking if strtok_r is prototyped... yes checking if strtok_r is compilable... yes checking if strtok_r usage allowed... yes checking if strtok_r might be used... yes checking if strtoll can be linked... yes checking if strtoll is prototyped... yes checking if strtoll is compilable... yes checking if strtoll usage allowed... yes checking if strtoll might be used... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether getpwuid_r is declared... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for if_nametoindex... yes checking for mach_absolute_time... no checking for pipe... yes checking for poll... yes checking for sched_yield... yes checking for sendmsg... yes checking for sendmmsg... yes checking for setlocale... yes checking for setmode... no checking for setrlimit... yes checking for snprintf... yes checking for utime... yes checking for utimes... yes checking for fseeko... yes checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking for perl... /usr/bin/perl checking whether to enable the threaded resolver... yes checking whether to link macOS CoreFoundation, CoreServices, and SystemConfiguration frameworks... no checking whether to use POSIX threads for threaded resolver... auto checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/certs/scripts/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating tests/http/clients/Makefile config.status: creating packages/Makefile config.status: creating packages/vms/Makefile config.status: creating curl-config config.status: creating libcurl.pc config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: WARNING: unrecognized options: --with-random configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE -isystem /usr/include/p11-kit-1 LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp2 -lidn2 -lssh2 -lssh2 -lssl -lcrypto -lpsl -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.11.1 SSL: enabled (GnuTLS) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos/Heimdal) GSASL: no (libgsasl not found) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: no (--with-ngtcp2 --with-nghttp3, --with-quiche, --with-openssl-quic, --with-msh3) ECH: no (--enable-ech) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd make: Entering directory '/startdir/src/build-curl-gnutls/lib' make all-am make[1]: Entering directory '/startdir/src/build-curl-gnutls/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-thread.lo CC libcurl_la-base64.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-c-hyper.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_des.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_multibyte.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-dict.lo CC libcurl_la-dllmain.lo CC libcurl_la-doh.lo CC libcurl_la-dynbuf.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-fopen.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostasyn.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hostsyn.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-inet_ntop.lo CC libcurl_la-inet_pton.lo CC libcurl_la-krb5.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-netrc.lo CC libcurl_la-nonblock.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-rename.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-share.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.lo CC libcurl_la-strerror.lo CC libcurl_la-strtok.lo CC libcurl_la-strtoofft.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-timediff.lo CC libcurl_la-timeval.lo CC libcurl_la-transfer.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-version_win32.lo CC libcurl_la-warnless.lo CC libcurl_la-ws.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-bearssl.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-mbedtls_threadlock.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-sectransp.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_msh3.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_osslq.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-curl_path.lo CC vssh/libcurl_la-wolfssh.lo CCLD libcurl.la /usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols /usr/bin/nm: .libs/libcurl_la-asyn-ares.o: no symbols /usr/bin/nm: .libs/libcurl_la-c-hyper.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_multibyte.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_rtmp.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-dllmain.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostsyn.o: no symbols /usr/bin/nm: .libs/libcurl_la-inet_ntop.o: no symbols /usr/bin/nm: .libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: .libs/libcurl_la-ldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-macos.o: no symbols /usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols /usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-strtok.o: no symbols /usr/bin/nm: .libs/libcurl_la-system_win32.o: no symbols /usr/bin/nm: .libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-bearssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-hostcheck.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls_threadlock.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-openssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-sectransp.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_msh3.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_ngtcp2.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_osslq.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-vquic-tls.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-wolfssh.o: no symbols make[1]: Leaving directory '/startdir/src/build-curl-gnutls/lib' make: Leaving directory '/startdir/src/build-curl-gnutls/lib' ==> Starting check()... make[1]: Entering directory '/startdir/src/build-curl/tests' Making all in certs make[2]: Entering directory '/startdir/src/build-curl/tests/certs' Making all in scripts make[3]: Entering directory '/startdir/src/build-curl/tests/certs/scripts' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/startdir/src/build-curl/tests/certs/scripts' make[3]: Entering directory '/startdir/src/build-curl/tests/certs' make[3]: Nothing to be done for 'all-am'. make[3]: Leaving directory '/startdir/src/build-curl/tests/certs' make[2]: Leaving directory '/startdir/src/build-curl/tests/certs' Making all in data make[2]: Entering directory '/startdir/src/build-curl/tests/data' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/startdir/src/build-curl/tests/data' Making all in server make[2]: Entering directory '/startdir/src/build-curl/tests/server' CC ../../lib/getpart-mprintf.o CC ../../lib/getpart-nonblock.o CC ../../lib/getpart-strtoofft.o CC ../../lib/getpart-warnless.o CC ../../lib/getpart-timediff.o CC ../../lib/getpart-dynbuf.o CC ../../lib/getpart-strdup.o CC ../../lib/getpart-strcase.o CC ../../lib/getpart-curl_multibyte.o CC getpart-getpart.o CC ../../lib/getpart-base64.o CC ../../lib/getpart-memdebug.o CC getpart-testpart.o CC ../../lib/resolve-mprintf.o CC ../../lib/resolve-nonblock.o CC ../../lib/resolve-strtoofft.o CC ../../lib/resolve-warnless.o CC ../../lib/resolve-timediff.o CC ../../lib/resolve-dynbuf.o CC ../../lib/resolve-strdup.o CC ../../lib/resolve-strcase.o CC resolve-getpart.o CC ../../lib/resolve-curl_multibyte.o CC ../../lib/resolve-base64.o CC ../../lib/resolve-memdebug.o CC resolve-util.o CC resolve-resolve.o CC ../../lib/rtspd-mprintf.o CC ../../lib/rtspd-nonblock.o CC ../../lib/rtspd-strtoofft.o CC ../../lib/rtspd-warnless.o CC ../../lib/rtspd-timediff.o CC ../../lib/rtspd-dynbuf.o CC ../../lib/rtspd-strdup.o CC ../../lib/rtspd-strcase.o CC ../../lib/rtspd-curl_multibyte.o CC rtspd-getpart.o CC ../../lib/rtspd-base64.o CC ../../lib/rtspd-memdebug.o CC rtspd-util.o CC rtspd-rtspd.o CC ../../lib/sockfilt-mprintf.o CC ../../lib/sockfilt-nonblock.o CC ../../lib/sockfilt-strtoofft.o CC ../../lib/sockfilt-warnless.o CC ../../lib/sockfilt-timediff.o CC ../../lib/sockfilt-dynbuf.o CC ../../lib/sockfilt-strdup.o CC ../../lib/sockfilt-strcase.o CC ../../lib/sockfilt-curl_multibyte.o CC sockfilt-getpart.o CC ../../lib/sockfilt-base64.o CC ../../lib/sockfilt-memdebug.o CC sockfilt-util.o CC sockfilt-sockfilt.o CC ../../lib/sockfilt-inet_pton.o CC ../../lib/sws-mprintf.o CC ../../lib/sws-nonblock.o CC ../../lib/sws-strtoofft.o CC ../../lib/sws-warnless.o CC ../../lib/sws-timediff.o CC ../../lib/sws-dynbuf.o CC ../../lib/sws-strdup.o CC ../../lib/sws-strcase.o CC ../../lib/sws-curl_multibyte.o CC sws-getpart.o CC ../../lib/sws-base64.o CC ../../lib/sws-memdebug.o CC sws-util.o CC sws-sws.o CC ../../lib/sws-inet_pton.o CC ../../lib/tftpd-mprintf.o CC ../../lib/tftpd-nonblock.o CC ../../lib/tftpd-strtoofft.o CC ../../lib/tftpd-warnless.o CC ../../lib/tftpd-timediff.o CC ../../lib/tftpd-dynbuf.o CC ../../lib/tftpd-strdup.o CC ../../lib/tftpd-strcase.o CC ../../lib/tftpd-curl_multibyte.o CC tftpd-getpart.o CC ../../lib/tftpd-base64.o CC ../../lib/tftpd-memdebug.o CC tftpd-util.o CC tftpd-tftpd.o CC ../../lib/socksd-mprintf.o CC ../../lib/socksd-nonblock.o CC ../../lib/socksd-strtoofft.o CC ../../lib/socksd-warnless.o CC ../../lib/socksd-timediff.o CC ../../lib/socksd-dynbuf.o CC ../../lib/socksd-strdup.o CC ../../lib/socksd-strcase.o CC ../../lib/socksd-curl_multibyte.o CC socksd-getpart.o CC ../../lib/socksd-base64.o CC ../../lib/socksd-memdebug.o CC socksd-util.o CC socksd-socksd.o CC ../../lib/socksd-inet_pton.o CC disabled-disabled.o CC ../../lib/mqttd-mprintf.o CC ../../lib/mqttd-strtoofft.o CC ../../lib/mqttd-nonblock.o CC ../../lib/mqttd-warnless.o CC ../../lib/mqttd-timediff.o CC ../../lib/mqttd-dynbuf.o CC ../../lib/mqttd-strdup.o CC ../../lib/mqttd-strcase.o CC ../../lib/mqttd-curl_multibyte.o CC mqttd-getpart.o CC ../../lib/mqttd-base64.o CC ../../lib/mqttd-memdebug.o CC mqttd-util.o CC mqttd-mqttd.o CC ../../lib/mqttd-inet_pton.o CCLD getpart CCLD resolve CCLD rtspd CCLD sockfilt CCLD sws CCLD tftpd CCLD socksd CCLD disabled CCLD mqttd make[2]: Leaving directory '/startdir/src/build-curl/tests/server' Making all in libtest make[2]: Entering directory '/startdir/src/build-curl/tests/libtest' CC libauthretry.o CC first.o CC libntlmconnect.o CC testutil.o CC libprereq.o CC lib500.o CC testtrace.o CC lib501.o CC lib502.o CC lib503.o CC lib504.o CC lib505.o CC lib506.o CC lib507.o CC lib508.o CC lib509.o CC lib510.o CC lib511.o CC lib512.o CC lib513.o CC lib514.o CC lib515.o CC lib516.o CC lib517.o CC lib518.o CC lib519.o CC lib520.o CC lib521.o CC lib523.o CC lib524.o CC lib525.o CC lib526-lib526.o CC ../../lib/lib526-timediff.o CC lib526-first.o CC lib526-testutil.o CC ../../lib/lib526-warnless.o CC lib527-lib526.o CC ../../lib/lib527-timediff.o CC lib527-first.o CC lib527-testutil.o CC ../../lib/lib527-warnless.o CC lib529-lib525.o CC ../../lib/lib529-timediff.o CC lib529-first.o CC lib529-testutil.o CC ../../lib/lib529-warnless.o CC ../../lib/lib529-curl_multibyte.o CC lib530.o CC lib532-lib526.o CC ../../lib/lib532-timediff.o CC lib532-first.o CC lib532-testutil.o CC ../../lib/lib532-warnless.o CC lib533.o CC lib536.o CC lib537.o CC lib539.o CC lib540.o CC lib541.o CC lib542.o CC lib543.o CC lib544.o CC lib545-lib544.o CC ../../lib/lib545-timediff.o CC lib545-first.o CC lib547.o CC lib548-lib547.o CC ../../lib/lib548-timediff.o CC lib548-first.o CC lib549.o CC lib552.o CC lib553.o CC lib554.o CC lib556.o CC lib555.o CC lib557.o CC lib558.o CC lib559.o CC lib560.o CC lib562.o CC lib564.o CC lib565-lib510.o CC ../../lib/lib565-timediff.o CC lib565-first.o CC lib566.o CC lib567.o CC lib568.o CC lib570.o CC lib569.o CC lib571.o CC lib572.o CC lib573.o CC lib574.o CC lib575.o CC lib576.o CC lib578.o CC lib579.o CC lib582.o CC lib583.o CC lib584-lib589.o CC ../../lib/lib584-timediff.o CC lib584-first.o CC lib585-lib500.o CC ../../lib/lib585-timediff.o CC lib585-first.o CC lib585-testutil.o CC lib585-testtrace.o CC ../../lib/lib585-curl_multibyte.o CC lib586.o CC lib587-lib554.o CC ../../lib/lib587-timediff.o CC lib587-first.o CC lib589.o CC lib590.o CC lib591.o CC lib597.o CC lib598.o CC lib599.o CC lib643.o CC lib645-lib643.o CC ../../lib/lib645-timediff.o CC lib645-first.o CC lib650.o CC lib651.o CC lib652.o CC lib653.o CC lib654.o CC lib655.o CC lib658.o CC lib659.o CC lib661.o CC lib666.o CC lib667.o CC lib668.o CC lib670-lib670.o CC ../../lib/lib670-timediff.o CC lib670-first.o CC lib670-testutil.o CC ../../lib/lib670-warnless.o CC lib671-lib670.o CC ../../lib/lib671-timediff.o CC lib671-first.o CC lib671-testutil.o CC ../../lib/lib671-warnless.o CC lib672-lib670.o CC ../../lib/lib672-timediff.o CC lib672-first.o CC lib672-testutil.o CC ../../lib/lib672-warnless.o CC lib670.o CC lib674.o CC lib676.o CC lib677.o CC lib678.o CC lib1156.o CC lib1301.o CC lib1485.o CC lib1500.o CC lib1501.o CC lib1502-lib1502.o CC ../../lib/lib1502-timediff.o CC lib1502-first.o CC lib1502-testutil.o CC ../../lib/lib1502-warnless.o CC lib1503-lib1502.o CC ../../lib/lib1503-timediff.o CC lib1503-first.o CC lib1503-testutil.o CC ../../lib/lib1503-warnless.o CC lib1504-lib1502.o CC ../../lib/lib1504-timediff.o CC lib1504-first.o CC lib1504-testutil.o CC ../../lib/lib1504-warnless.o CC lib1505-lib1502.o CC ../../lib/lib1505-timediff.o CC lib1505-first.o CC lib1505-testutil.o CC ../../lib/lib1505-warnless.o CC lib1506.o CC lib1507.o CC lib1508.o CC lib1509.o CC lib1510.o CC lib1511.o CC lib1512.o CC lib1513.o CC lib1514.o CC lib1515.o CC lib1517.o CC lib1518.o CC lib1520.o /usr/bin/perl /startdir/src/curl/tests/libtest/mk-lib1521.pl < /startdir/src/curl/include/curl/curl.h lib1521.c CC ../../lib/lib1521-timediff.o CC lib1521-first.o CC lib1522.o CC lib1523.o CC lib1525.o CC lib1526.o CC lib1527.o CC lib1528.o CC lib1529.o CC lib1530.o CC lib1531.o CC lib1532.o CC lib1533.o CC lib1534.o CC lib1535.o CC lib1536.o CC lib1537.o CC lib1538.o CC lib1539-lib1514.o CC ../../lib/lib1539-timediff.o CC lib1539-first.o CC lib1539-testutil.o CC ../../lib/lib1539-warnless.o CC lib1540.o CC lib1541.o CC lib1542.o CC lib1543-lib1518.o CC ../../lib/lib1543-timediff.o CC lib1543-first.o CC lib1545.o CC lib1550.o CC lib1551.o CC lib1552.o CC lib1553.o CC lib1554.o CC lib1555.o CC lib1556.o CC lib1557.o CC lib1558.o CC lib1559.o CC lib1560.o CC lib1564.o CC lib1565.o CC lib1567.o CC lib1568.o CC lib1569.o CC lib1591.o CC lib1592.o CC lib1593.o CC lib1594.o CC lib1596-lib1594.o CC ../../lib/lib1596-timediff.o CC lib1596-first.o CC lib1596-testutil.o CC ../../lib/lib1596-warnless.o CC lib1597.o CC lib1598.o CC lib1662.o CC lib1900.o CC lib1901.o CC lib1903.o CC lib1905.o CC lib1906.o CC lib1907.o CC lib1908.o CC lib1910.o CC lib1911.o CC lib1912.o CC lib1913.o CC lib1915.o CC lib1916.o CC lib1917-lib1916.o CC ../../lib/lib1917-timediff.o CC lib1917-first.o CC ../../lib/lib1917-warnless.o CC lib1918.o CC lib1919.o CC lib1933.o CC lib1934.o CC lib1935.o CC lib1936.o CC lib1937.o CC lib1938.o CC lib1939.o CC lib1940.o CC lib1945.o CC lib1946-lib1940.o CC ../../lib/lib1946-timediff.o CC lib1946-first.o CC lib1947.o CC lib1948.o CC lib1955.o CC lib1956.o CC lib1957.o CC lib1958.o CC lib1959.o CC lib1960.o CC lib1964.o CC lib1970.o CC lib1971.o CC lib1972.o CC lib1973.o CC lib1974.o CC lib1975.o CC lib2301.o CC lib2304.o CC lib2302.o CC lib2305.o CC lib2306.o CC lib2308.o CC lib2309.o CC lib2402.o CC lib2404.o CC lib2405.o CC lib2502.o CC lib3010.o CC lib3025.o CC lib3026.o CC lib3027.o CC lib3100.o CC lib3101.o CC lib3102.o CC lib3103.o CC lib3207.o CC ../../lib/curl_threads.o CC libstubgss_la-stub_gssapi.lo CCLD libauthretry CCLD libntlmconnect CCLD libprereq CCLD lib500 CCLD lib501 CCLD lib502 CCLD lib503 CCLD lib504 CCLD lib505 CCLD lib506 CCLD lib507 CCLD lib508 CCLD lib509 CCLD lib510 CCLD lib511 CCLD lib512 CCLD lib513 CCLD lib514 CCLD lib515 CCLD lib516 CCLD lib517 CCLD lib518 CCLD lib519 CCLD lib520 CCLD lib521 CCLD lib523 CCLD lib524 CCLD lib525 CCLD lib526 CCLD lib527 CCLD lib529 CCLD lib530 CCLD lib532 CCLD lib533 CCLD lib536 CCLD lib537 CCLD lib539 CCLD lib540 CCLD lib541 CCLD lib542 CCLD lib543 CCLD lib544 CCLD lib545 CCLD lib547 CCLD lib548 CCLD lib549 CCLD lib552 CCLD lib553 CCLD lib554 CCLD lib555 CCLD lib556 CCLD lib557 CCLD lib558 CCLD lib559 CCLD lib560 CCLD lib562 CCLD lib564 CCLD lib565 CCLD lib566 CCLD lib567 CCLD lib568 CCLD lib569 CCLD lib570 CCLD lib571 CCLD lib572 CCLD lib573 CCLD lib574 CCLD lib575 CCLD lib576 CCLD lib578 CCLD lib579 CCLD lib582 CCLD lib583 CCLD lib584 CCLD lib585 CCLD lib586 CCLD lib587 CCLD lib589 CCLD lib590 CCLD lib591 CCLD lib597 CCLD lib598 CCLD lib599 CCLD lib643 CCLD lib645 CCLD lib650 CCLD lib651 CCLD lib652 CCLD lib653 CCLD lib654 CCLD lib655 CCLD lib658 CCLD lib659 CCLD lib661 CCLD lib666 CCLD lib667 CCLD lib668 CCLD lib670 CCLD lib671 CCLD lib672 CCLD lib673 CCLD lib674 CCLD lib676 CCLD lib677 CCLD lib678 CCLD lib1156 CCLD lib1301 CCLD lib1485 CCLD lib1500 CCLD lib1501 CCLD lib1502 CCLD lib1503 CCLD lib1504 CCLD lib1505 CCLD lib1506 CCLD lib1507 CCLD lib1508 CCLD lib1509 CCLD lib1510 CCLD lib1511 CCLD lib1512 CCLD lib1513 CCLD lib1514 CCLD lib1515 CCLD lib1517 CCLD lib1518 CCLD lib1520 CC lib1521-lib1521.o CCLD lib1522 CCLD lib1523 CCLD lib1525 CCLD lib1526 CCLD lib1527 CCLD lib1528 CCLD lib1529 CCLD lib1530 CCLD lib1531 CCLD lib1532 CCLD lib1533 CCLD lib1534 CCLD lib1535 CCLD lib1536 CCLD lib1537 CCLD lib1538 CCLD lib1539 CCLD lib1540 CCLD lib1541 CCLD lib1542 CCLD lib1543 CCLD lib1545 CCLD lib1550 CCLD lib1551 CCLD lib1552 CCLD lib1553 CCLD lib1554 CCLD lib1555 CCLD lib1556 CCLD lib1557 CCLD lib1558 CCLD lib1559 CCLD lib1560 CCLD lib1564 CCLD lib1565 CCLD lib1567 CCLD lib1568 CCLD lib1569 CCLD lib1591 CCLD lib1592 CCLD lib1593 CCLD lib1594 CCLD lib1596 CCLD lib1597 CCLD lib1598 CCLD lib1662 CCLD lib1900 CCLD lib1901 CCLD lib1903 CCLD lib1905 CCLD lib1906 CCLD lib1907 CCLD lib1908 CCLD lib1910 CCLD lib1911 CCLD lib1912 CCLD lib1913 CCLD lib1915 CCLD lib1916 CCLD lib1917 CCLD lib1918 CCLD lib1919 CCLD lib1933 CCLD lib1934 CCLD lib1935 CCLD lib1936 CCLD lib1937 CCLD lib1938 CCLD lib1939 CCLD lib1940 CCLD lib1945 CCLD lib1946 CCLD lib1947 CCLD lib1948 CCLD lib1955 CCLD lib1956 CCLD lib1957 CCLD lib1958 CCLD lib1959 CCLD lib1960 CCLD lib1964 CCLD lib1970 CCLD lib1971 CCLD lib1972 CCLD lib1973 CCLD lib1974 CCLD lib1975 CCLD lib2301 CCLD lib2302 CCLD lib2304 CCLD lib2305 CCLD lib2306 CCLD lib2308 CCLD lib2309 CCLD lib2402 CCLD lib2404 CCLD lib2405 CCLD lib2502 CCLD lib3010 CCLD lib3025 CCLD lib3026 CCLD lib3027 CCLD lib3100 CCLD lib3101 CCLD lib3102 CCLD lib3103 CCLD lib3207 CCLD libstubgss.la CCLD lib1521 make[2]: Leaving directory '/startdir/src/build-curl/tests/libtest' Making all in http make[2]: Entering directory '/startdir/src/build-curl/tests/http' Making all in clients make[3]: Entering directory '/startdir/src/build-curl/tests/http/clients' CC hx-download.o CC hx-upload.o CC h2-pausing.o CC h2-serverpush.o CC h2-upgrade-extreme.o CC tls-session-reuse.o CC upload-pausing.o CC ws-data.o CC ws-pingpong.o CCLD hx-download CCLD ws-data CCLD h2-upgrade-extreme CCLD h2-serverpush CCLD hx-upload CCLD h2-pausing CCLD tls-session-reuse CCLD ws-pingpong CCLD upload-pausing make[3]: Leaving directory '/startdir/src/build-curl/tests/http/clients' make[3]: Entering directory '/startdir/src/build-curl/tests/http' make[3]: Nothing to be done for 'all-am'. make[3]: Leaving directory '/startdir/src/build-curl/tests/http' make[2]: Leaving directory '/startdir/src/build-curl/tests/http' make[2]: Entering directory '/startdir/src/build-curl/tests' /startdir/src/curl/scripts/cd2nroff /startdir/src/curl/tests/runtests.md >runtests.1 /startdir/src/curl/scripts/cd2nroff /startdir/src/curl/tests/testcurl.md >testcurl.1 make[2]: Leaving directory '/startdir/src/build-curl/tests' srcdir=/startdir/src/curl/tests /usr/bin/perl -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -a -p ~flaky ~timing-dependent -v -a -k -p -j12 !433 Using curl: ../src/curl CMD (256): valgrind >/dev/null 2>&1 CMD (0): valgrind --help 2>&1 | grep -- --tool >/dev/null 2>&1 CMD (0): ../src/curl --version 1>log/curlverout.log 2>log/curlvererr.log ********* System characteristics ******** * curl 8.11.1 (x86_64-pc-linux-gnu) * libcurl/8.11.1 OpenSSL/3.4.0 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.0 nghttp2/1.64.0 nghttp3/1.6.0 * Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss * Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd * Disabled: * Host: * System: Linux arch-nspawn-1373017 6.6.65-1.1-lts #1 SMP PREEMPT_DYNAMIC Thu, 12 Dec 2024 08:10:10 +0000 x86_64 GNU/Linux * OS: linux * Perl: v5.40.0 (/usr/bin/perl) * Args: -a -p ~flaky ~timing-dependent -v -a -k -p -j12 !433 * Jobs: 12 * Env: Valgrind * Seed: 217768 * buildinfo.configure.tool: configure * buildinfo.configure.args: '--prefix=/usr' '--mandir=/usr/share/man' '--disable-ldap' '--disable-ldaps' '--disable-manual' '--enable-ipv6' '--enable-threaded-resolver' '--enable-websockets' '--with-gssapi' '--with-libssh2' '--with-random=/dev/urandom' '--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt' '--enable-versioned-symbols' '--with-fish-functions-dir=/usr/share/fish/vendor_completions.d/' '--with-openssl' '--with-openssl-quic' '--with-zsh-functions-dir=/usr/share/zsh/site-functions/' 'CFLAGS=-march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32' * buildinfo.host: x86_64-pc-linux-gnu * buildinfo.host.cpu: x86_64 * buildinfo.host.os: linux-gnu * buildinfo.target: x86_64-pc-linux-gnu * buildinfo.target.cpu: x86_64 * buildinfo.target.os: linux-gnu * buildinfo.target.flags: UNIX GCC * buildinfo.compiler: GNU_C * buildinfo.compiler.version: 14.2.1 * buildinfo.sysroot: * Servers: HTTP-IPv6 HTTP-unix FTP-IPv6 ***************************************** DISABLED: test 323 DISABLED: test 594 DISABLED: test 836 DISABLED: test 882 DISABLED: test 938 DISABLED: test 1182 DISABLED: test 1184 DISABLED: test 1209 DISABLED: test 1211 DISABLED: test 1307 DISABLED: test 1316 DISABLED: test 1510 DISABLED: test 1512 DISABLED: test 1801 DISABLED: test 2043 test 0096 SKIPPED: curl lacks TrackMemory support test 0159 SKIPPED: curl lacks Debug support test 0356 SKIPPED: curl lacks Debug support test 0358 SKIPPED: curl lacks Debug support test 0375 SKIPPED: curl has proxy support test 0445 SKIPPED: curl lacks ldap support test 0506 SKIPPED: curl has threaded-resolver support test 0558 SKIPPED: curl lacks TrackMemory support Warning: test573 result is ignored due to flaky Warning: test587 result is ignored due to flaky test 0959 SKIPPED: curl has IDN support test 0960 SKIPPED: curl has IDN support test 0961 SKIPPED: curl has IDN support test 1026 SKIPPED: curl lacks manual support Warning: test1086 result is ignored due to flaky Warning: test1086 result is ignored due to timing-dependent Warning: test1112 result is ignored due to timing-dependent Warning: test1113 result is ignored due to flaky Warning: test1162 result is ignored due to flaky Warning: test1163 result is ignored due to flaky test 1179 SKIPPED: curl lacks manual support Warning: test1208 result is ignored due to flaky Warning: test1208 result is ignored due to timing-dependent test 1300 SKIPPED: curl lacks unittest support test 1302 SKIPPED: curl lacks unittest support test 1303 SKIPPED: curl lacks unittest support test 1454 SKIPPED: curl has IPv6 support test 1461 SKIPPED: curl lacks manual support test 1560 SKIPPED: curl lacks ldap support Warning: test1592 result is ignored due to flaky Warning: test1592 result is ignored due to timing-dependent test 1703 SKIPPED: curl lacks Unicode support Warning: test2032 result is ignored due to flaky Warning: test2032 result is ignored due to timing-dependent test 2033 SKIPPED: curl lacks Schannel support test 2070 SKIPPED: curl lacks Schannel support test 2079 SKIPPED: curl lacks Schannel support test 2500 SKIPPED: curl lacks nghttpx-h3 support test 2503 SKIPPED: curl lacks nghttpx-h3 support Runner 74119 starting Runner 74120 starting Runner 74114 starting Runner 74121 starting Runner 74118 starting Runner 74115 starting Runner 74112 starting Runner 74111 starting Runner 74117 starting Runner 74116 starting Runner 74110 starting Runner 74113 starting CMD (0): ../src/curl --max-time 13 --output log/11/http_verify.out --silent --verbose --globoff "http://127.0.0.1:44137/verifiedserver" 2>log/11/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/8/http_verify.out --silent --verbose --globoff "http://127.0.0.1:43803/verifiedserver" 2>log/8/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/7/http_verify.out --silent --verbose --globoff "http://127.0.0.1:43753/verifiedserver" 2>log/7/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/12/http_verify.out --silent --verbose --globoff "http://127.0.0.1:40653/verifiedserver" 2>log/12/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/6/http_verify.out --silent --verbose --globoff "http://127.0.0.1:39457/verifiedserver" 2>log/6/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/9/http_verify.out --silent --verbose --globoff "http://127.0.0.1:38509/verifiedserver" 2>log/9/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/3/http_verify.out --silent --verbose --globoff "http://127.0.0.1:34527/verifiedserver" 2>log/3/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/1/http_verify.out --silent --verbose --globoff "http://127.0.0.1:34215/verifiedserver" 2>log/1/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/10/http_verify.out --silent --verbose --globoff "http://127.0.0.1:42929/verifiedserver" 2>log/10/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/2/http_verify.out --silent --verbose --globoff "http://127.0.0.1:34295/verifiedserver" 2>log/2/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/4/http_verify.out --silent --verbose --globoff "http://127.0.0.1:36813/verifiedserver" 2>log/4/http_verify.log CMD (0): ../src/curl --max-time 13 --output log/5/http_verify.out --silent --verbose --globoff "http://127.0.0.1:33361/verifiedserver" 2>log/5/http_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1 ../src/curl -q --output log/12/curl1.out --include --trace-ascii log/12/trace1 --trace-config all --trace-time http://127.0.0.1:40653/1 > log/12/stdout1 2> log/12/stderr1 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2 ../src/curl -q --output log/11/curl2.out --include --trace-ascii log/11/trace2 --trace-config all --trace-time -u fake:user http://127.0.0.1:44137/2 > log/11/stdout2 2> log/11/stderr2 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind6 ../src/curl -q --output log/7/curl6.out --include --trace-ascii log/7/trace6 --trace-config all --trace-time http://127.0.0.1:43753/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/7/stdout6 2> log/7/stderr6 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/12/server/http_server.pid" --logfile "log/12/http_server.log" --logdir "log/12" --portfile log/12/server/http_server.port --config log/12/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/12/http_verify.out --silent --verbose --globoff "http://127.0.0.1:40653/verifiedserver" 2>log/12/http_verify.log RUN: HTTP server is on PID 74125 port 40653 * pid http => 74125 74125 test 0001...[HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1 ../src/curl -q --output log/12/curl1.out --include --trace-ascii log/12/trace1 --trace-config all --trace-time http://127.0.0.1:40653/1 > log/12/stdout1 2> log/12/stderr1 1: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1 === Start of file http_server.log 02:01:08.262702 Running HTTP IPv4 version on port 40653 02:01:08.262787 Wrote pid 74125 to log/12/server/http_server.pid 02:01:08.263008 Wrote port 40653 to log/12/server/http_server.port 02:01:09.325225 ====> Client connect 02:01:09.325247 accept_connection 3 returned 4 02:01:09.325262 accept_connection 3 returned 0 02:01:09.325276 Read 93 bytes 02:01:09.325287 Process 93 bytes request 02:01:09.325307 Got request: GET /verifiedserver HTTP/1.1 02:01:09.325317 Are-we-friendly question received 02:01:09.325349 Wrote request (93 bytes) input to log/12/server.input 02:01:09.325372 Identifying ourselves as friends 02:01:09.325459 Response sent (56 bytes) and written to log/12/server.response 02:01:09.325472 special request received, no persistency 02:01:09.325483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1 ==74334== ==74334== Process terminating with default action of signal 4 (SIGILL) ==74334== Illegal opcode at address 0x10B08D ==74334== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74334== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/11/server/http_server.pid" --logfile "log/11/http_server.log" --logdir "log/11" --portfile log/11/server/http_server.port --config log/11/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/11/http_verify.out --silent --verbose --globoff "http://127.0.0.1:44137/verifiedserver" 2>log/11/http_verify.log RUN: HTTP server is on PID 74122 port 44137 * pid http => 74122 74122 test 0002...[HTTP GET with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2 ../src/curl -q --output log/11/curl2.out --include --trace-ascii log/11/trace2 --trace-config all --trace-time -u fake:user http://127.0.0.1:44137/2 > log/11/stdout2 2> log/11/stderr2 2: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2 === Start of file http_server.log 02:01:08.262448 Running HTTP IPv4 version on port 44137 02:01:08.262500 Wrote pid 74122 to log/11/server/http_server.pid 02:01:08.262528 Wrote port 44137 to log/11/server/http_server.port 02:01:09.305181 ====> Client connect 02:01:09.305204 accept_connection 3 returned 4 02:01:09.305220 accept_connection 3 returned 0 02:01:09.305235 Read 93 bytes 02:01:09.305246 Process 93 bytes request 02:01:09.305266 Got request: GET /verifiedserver HTTP/1.1 02:01:09.305276 Are-we-friendly question received 02:01:09.305301 Wrote request (93 bytes) input to log/11/server.input 02:01:09.305321 Identifying ourselves as friends 02:01:09.305397 Response sent (56 bytes) and written to log/11/server.response 02:01:09.305410 special request received, no persistency 02:01:09.305419 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 2 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind2 ==74296== ==74296== Process terminating with default action of signal 4 (SIGILL) ==74296== Illegal opcode at address 0x10B08D ==74296== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74296== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/7/server/http_server.pid" --logfile "log/7/http_server.log" --logdir "log/7" --portfile log/7/server/http_server.port --config log/7/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/7/http_verify.out --silent --verbose --globoff "http://127.0.0.1:43753/verifiedserver" 2>log/7/http_verify.log RUN: HTTP server is on PID 74131 port 43753 * pid http => 74131 74131 test 0006...[HTTP with simple cookie send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind6 ../src/curl -q --output log/7/curl6.out --include --trace-ascii log/7/trace6 --trace-config all --trace-time http://127.0.0.1:43753/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/7/stdout6 2> log/7/stderr6 6: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 6 === Start of file http_server.log 02:01:08.265012 Running HTTP IPv4 version on port 43753 02:01:08.265068 Wrote pid 74131 to log/7/server/http_server.pid 02:01:08.265098 Wrote port 43753 to log/7/server/http_server.port 02:01:09.327245 ====> Client connect 02:01:09.327265 accept_connection 3 returned 4 02:01:09.327281 accept_connection 3 returned 0 02:01:09.327295 Read 93 bytes 02:01:09.327309 Process 93 bytes request 02:01:09.327325 Got request: GET /verifiedserver HTTP/1.1 02:01:09.327335 Are-we-friendly question received 02:01:09.327361 Wrote request (93 bytes) input to log/7/server.input 02:01:09.327382 Identifying ourselves as friends 02:01:09.327468 Response sent (56 bytes) and written to log/7/server.response 02:01:09.327480 special request received, no persistency 02:01:09.327490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind8 ../src/curl -q --output log/5/curl8.out --include --trace-ascii log/5/trace8 --trace-config all --trace-time http://127.0.0.1:33361/we/want/8 -b log/5/heads8.txt > log/5/stdout8 2> log/5/stderr8 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind5 ../src/curl -q --output log/8/curl5.out --include --trace-ascii log/8/trace5 --trace-config all --trace-time http://127.0.0.1:43803/we/want/that/page/5#5 -x 127.0.0.1:43803 > log/8/stdout5 2> log/8/stderr5 > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 6 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind6 ==74328== ==74328== Process terminating with default action of signal 4 (SIGILL) ==74328== Illegal opcode at address 0x10B08D ==74328== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74328== by 0x10B08D: main (tool_main.c:232) === End of file valgrind6 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_server.pid" --logfile "log/5/http_server.log" --logdir "log/5" --portfile log/5/server/http_server.port --config log/5/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/5/http_verify.out --silent --verbose --globoff "http://127.0.0.1:33361/verifiedserver" 2>log/5/http_verify.log RUN: HTTP server is on PID 74124 port 33361 * pid http => 74124 74124 prechecked /usr/bin/perl -e 'if ("127.0.0.1" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}' test 0008...[HTTP with cookie parsing from header file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind8 ../src/curl -q --output log/5/curl8.out --include --trace-ascii log/5/trace8 --trace-config all --trace-time http://127.0.0.1:33361/we/want/8 -b log/5/heads8.txt > log/5/stdout8 2> log/5/stderr8 8: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 8 === Start of file heads8.txt HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Funny-head: yesyes Set-Cookie: foobar=name; domain=127.0.0.1; path=/; Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/"; Set-Cookie: partmatch=present; domain=.0.0.1; path=/w; Set-Cookie: duplicate=test; domain=.0.0.1; domain=.0.0.1; path=/donkey; Set-Cookie: cookie=yes; path=/we; Set-Cookie: cookie=perhaps; path=/we/want; Set-Cookie: name with space=is weird but; path=/we/want; Set-Cookie: trailingspace = removed; path=/we/want; Set-Cookie: nocookie=yes; path=/WE; Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad; Set-Cookie: partialip=nono; domain=.0.0.1; Set-Cookie: cookie1=-junk Set-Cookie: cookie2=-junk Set-Cookie: cookie3=-junk Set-Cookie: cookie4=-junk Set-Cookie: cookie5=-junk Set-Cookie: cookie6=-junk Set-Cookie: cookie7=-junk Set-Cookie: cookie8=-junk Set-Cookie: cookie9=junk-- Set-Cookie: cookie11= -junk Set-Cookie: cookie12= -junk Set-Cookie: cookie14=-junk Set-Cookie: cookie15=-junk Set-Cookie: cookie16=-junk Set-Cookie: cookie17=-junk Set-Cookie: cookie18=-junk Set-Cookie: cookie19=-junk Set-Cookie: cookie20=-junk Set-Cookie: cookie21=-junk Set-Cookie: cookie22=-junk Set-Cookie: cookie23=-junk Set-Cookie: cookie24=-junk Set-Cookie: cookie25=-junk Set-Cookie: cookie26= -junk Set-Cookie: cookie27=-junk Set-Cookie: cookie28=-junk Set-Cookie: cookie29=-junk Set-Cookie: cookie30=-junk Set-Cookie: cookie31=-junk Set-Cookie: cookie31=-junk === End of file heads8.txt === Start of file http_server.log 02:01:08.262543 Running HTTP IPv4 version on port 33361 02:01:08.262613 Wrote pid 74124 to log/5/server/http_server.pid 02:01:08.262651 Wrote port 33361 to log/5/server/http_server.port 02:01:09.398772 ====> Client connect 02:01:09.398793 accept_connection 3 returned 4 02:01:09.398808 accept_connection 3 returned 0 02:01:09.398822 Read 93 bytes 02:01:09.398833 Process 93 bytes request 02:01:09.398851 Got request: GET /verifiedserver HTTP/1.1 02:01:09.398860 Are-we-friendly question received 02:01:09.398881 Wrote request (93 bytes) input to log/5/server.input 02:01:09.398902 Identifying ourselves as friends 02:01:09.398969 Response sent (56 bytes) and written to log/5/server.response 02:01:09.398980 special request received, no persistency 02:01:09.398989 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 8 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind8 ==74519== ==74519== Process terminating with default action of signal 4 (SIGILL) ==74519== Illegal opcode at address 0x10B08D ==74519== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74519== by 0x10B08D: main (tool_main.c:232) === End of file valgrind8 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/8/server/http_server.pid" --logfile "log/8/http_server.log" --logdir "log/8" --portfile log/8/server/http_server.port --config log/8/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/8/http_verify.out --silent --verbose --globoff "http://127.0.0.1:43803/verifiedserver" 2>log/8/http_verify.log RUN: HTTP server is on PID 74130 port 43803 * pid http => 74130 74130 test 0005...[HTTP over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind5 ../src/curl -q --output log/8/curl5.out --include --trace-ascii log/8/trace5 --trace-config all --trace-time http://127.0.0.1:43803/we/want/that/page/5#5 -x 127.0.0.1:43803 > log/8/stdout5 2> log/8/stderr5 5: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 5 === Start of file http_server.log 02:01:08.263683 Running HTTP IPv4 version on port 43803 02:01:08.263758 Wrote pid 74130 to log/8/server/http_server.pid 02:01:08.263783 Wrote port 43803 to log/8/server/http_server.port 02:01:09.327026 ====> Client connect 02:01:09.327044 accept_connection 3 returned 4 02:01:09.327059 accept_connection 3 returned 0 02:01:09.327073 Read 93 bytes 02:01:09.327085 Process 93 bytes request 02:01:09.327105 Got request: GET /verifiedserver HTTP/1.1 02:01:09.327115 Are-we-friendly question received 02:01:09.327153 Wrote request (93 bytes) input to log/8/server.input 02:01:09.327178 Identifying ourselves as friends 02:01:09.327265 Response sent (56 bytes) and written to log/8/server.response 02:01:09.327279 special request received, no persistency 02:01:09.327289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd TCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind4 ../src/curl -q --output log/9/curl4.out --include --trace-ascii log/9/trace4 --trace-config all --trace-time -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:38509/4 http://127.0.0.1:38509/4 > log/9/stdout4 2> log/9/stderr4 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind11 ../src/curl -q --output log/2/curl11.out --include --trace-ascii log/2/trace11 --trace-config all --trace-time http://127.0.0.1:34295/want/11 -L > log/2/stdout11 2> log/2/stderr11 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-config all --trace-time http://127.0.0.1:40653/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 estnum 5 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind5 ==74330== ==74330== Process terminating with default action of signal 4 (SIGILL) ==74330== Illegal opcode at address 0x10B08D ==74330== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74330== by 0x10B08D: main (tool_main.c:232) === End of file valgrind5 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/server/http_server.pid" --logfile "log/9/http_server.log" --logdir "log/9" --portfile log/9/server/http_server.port --config log/9/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/9/http_verify.out --silent --verbose --globoff "http://127.0.0.1:38509/verifiedserver" 2>log/9/http_verify.log RUN: HTTP server is on PID 74126 port 38509 * pid http => 74126 74126 test 0004...[Replaced internal and added custom HTTP headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind4 ../src/curl -q --output log/9/curl4.out --include --trace-ascii log/9/trace4 --trace-config all --trace-time -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:38509/4 http://127.0.0.1:38509/4 > log/9/stdout4 2> log/9/stderr4 4: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 4 === Start of file http_server.log 02:01:08.262434 Running HTTP IPv4 version on port 38509 02:01:08.262497 Wrote pid 74126 to log/9/server/http_server.pid 02:01:08.262527 Wrote port 38509 to log/9/server/http_server.port 02:01:09.358867 ====> Client connect 02:01:09.358885 accept_connection 3 returned 4 02:01:09.358902 accept_connection 3 returned 0 02:01:09.358916 Read 93 bytes 02:01:09.358929 Process 93 bytes request 02:01:09.358946 Got request: GET /verifiedserver HTTP/1.1 02:01:09.358956 Are-we-friendly question received 02:01:09.358978 Wrote request (93 bytes) input to log/9/server.input 02:01:09.358998 Identifying ourselves as friends 02:01:09.359073 Response sent (56 bytes) and written to log/9/server.response 02:01:09.359086 special request received, no persistency 02:01:09.359097 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 4 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind4 ==74386== ==74386== Process terminating with default action of signal 4 (SIGILL) ==74386== Illegal opcode at address 0x10B08D ==74386== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74386== by 0x10B08D: main (tool_main.c:232) === End of file valgrind4 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_server.pid" --logfile "log/2/http_server.log" --logdir "log/2" --portfile log/2/server/http_server.port --config log/2/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/2/http_verify.out --silent --verbose --globoff "http://127.0.0.1:34295/verifiedserver" 2>log/2/http_verify.log RUN: HTTP server is on PID 74129 port 34295 * pid http => 74129 74129 test 0011...[simple HTTP Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind11 ../src/curl -q --output log/2/curl11.out --include --trace-ascii log/2/trace11 --trace-config all --trace-time http://127.0.0.1:34295/want/11 -L > log/2/stdout11 2> log/2/stderr11 11: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 11 === Start of file http_server.log 02:01:08.263661 Running HTTP IPv4 version on port 34295 02:01:08.263719 Wrote pid 74129 to log/2/server/http_server.pid 02:01:08.263767 Wrote port 34295 to log/2/server/http_server.port 02:01:09.357920 ====> Client connect 02:01:09.357936 accept_connection 3 returned 4 02:01:09.357950 accept_connection 3 returned 0 02:01:09.357964 Read 93 bytes 02:01:09.357974 Process 93 bytes request 02:01:09.357991 Got request: GET /verifiedserver HTTP/1.1 02:01:09.358001 Are-we-friendly question received 02:01:09.358028 Wrote request (93 bytes) input to log/2/server.input 02:01:09.358047 Identifying ourselves as friends 02:01:09.358117 Response sent (56 bytes) and written to log/2/server.response 02:01:09.358128 special request received, no persistency 02:01:09.358137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34295... * Connected to 127.0.0.1 (127.0.0.1) port 34295 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34295 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74129 === End of file http_verify.out === Start of file server.cmd Testnum 11 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74129 === End of file server.response === Start of file valgrind11 ==74398== ==74398== Process terminating with default action of signal 4 (SIGILL) ==74398== Illegal opcode at address 0x10B08D ==74398== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74398== by 0x10B08D: main (tool_main.c:232) === End of file valgrind11 test 0013...[HTTP custom request 'DELETE'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-config all --trace-time http://127.0.0.1:40653/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 13: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 13 === Start of file http_server.log 02:01:10.762839 ====> Client connect 02:01:10.762877 accept_connection 3 returned 4 02:01:10.762898 accept_connection 3 returned 0 02:01:10.762913 Read 93 bytes 02:01:10.762926 Process 93 bytes request 02:01:10.762943 Got request: GET /verifiedserver HTTP/1.1 02:01:10.762953 Are-we-friendly question received 02:01:10.762976 Wrote request (93 bytes) input to log/12/server.input 02:01:10.762992 Identifying ourselves as friends 02:01:10.763054 Response sent (56 bytes) and written to log/12/server.response 02:01:10.763066 special request received, no persistency 02:01:10.763075 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * RCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind10 ../src/curl -q --output log/3/curl10.out --include --trace-ascii log/3/trace10 --trace-config all --trace-time http://127.0.0.1:34527/we/want/10 -T log/3/test10.txt > log/3/stdout10 2> log/3/stderr10 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind7 ../src/curl -q --output log/6/curl7.out --include --trace-ascii log/6/trace7 --trace-config all --trace-time http://127.0.0.1:39457/we/want/7 -b none -D log/6/heads7.txt > log/6/stdout7 2> log/6/stderr7 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind12 ../src/curl -q --output log/1/curl12.out --include --trace-ascii log/1/trace12 --trace-config all --trace-time http://127.0.0.1:34215/want/12 -r 100-200 > log/1/stdout12 2> log/1/stderr12 equest completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 13 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind13 ==74974== ==74974== Process terminating with default action of signal 4 (SIGILL) ==74974== Illegal opcode at address 0x10B08D ==74974== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74974== by 0x10B08D: main (tool_main.c:232) === End of file valgrind13 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_server.pid" --logfile "log/3/http_server.log" --logdir "log/3" --portfile log/3/server/http_server.port --config log/3/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/3/http_verify.out --silent --verbose --globoff "http://127.0.0.1:34527/verifiedserver" 2>log/3/http_verify.log RUN: HTTP server is on PID 74128 port 34527 * pid http => 74128 74128 test 0010...[simple HTTP PUT from file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind10 ../src/curl -q --output log/3/curl10.out --include --trace-ascii log/3/trace10 --trace-config all --trace-time http://127.0.0.1:34527/we/want/10 -T log/3/test10.txt > log/3/stdout10 2> log/3/stderr10 10: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 10 === Start of file http_server.log 02:01:08.267572 Running HTTP IPv4 version on port 34527 02:01:08.267627 Wrote pid 74128 to log/3/server/http_server.pid 02:01:08.267652 Wrote port 34527 to log/3/server/http_server.port 02:01:09.357599 ====> Client connect 02:01:09.357620 accept_connection 3 returned 4 02:01:09.357636 accept_connection 3 returned 0 02:01:09.357649 Read 93 bytes 02:01:09.357660 Process 93 bytes request 02:01:09.357678 Got request: GET /verifiedserver HTTP/1.1 02:01:09.357688 Are-we-friendly question received 02:01:09.357723 Wrote request (93 bytes) input to log/3/server.input 02:01:09.357745 Identifying ourselves as friends 02:01:09.357822 Response sent (56 bytes) and written to log/3/server.response 02:01:09.357834 special request received, no persistency 02:01:09.357843 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 10 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file test10.txt Weird file to upload for testing the PUT feature === End of file test10.txt === Start of file valgrind10 ==74393== ==74393== Process terminating with default action of signal 4 (SIGILL) ==74393== Illegal opcode at address 0x10B08D ==74393== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74393== by 0x10B08D: main (tool_main.c:232) === End of file valgrind10 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_server.pid" --logfile "log/6/http_server.log" --logdir "log/6" --portfile log/6/server/http_server.port --config log/6/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/6/http_verify.out --silent --verbose --globoff "http://127.0.0.1:39457/verifiedserver" 2>log/6/http_verify.log RUN: HTTP server is on PID 74127 port 39457 * pid http => 74127 74127 test 0007...[HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind7 ../src/curl -q --output log/6/curl7.out --include --trace-ascii log/6/trace7 --trace-config all --trace-time http://127.0.0.1:39457/we/want/7 -b none -D log/6/heads7.txt > log/6/stdout7 2> log/6/stderr7 7: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 7 === Start of file http_server.log 02:01:08.261878 Running HTTP IPv4 version on port 39457 02:01:08.261962 Wrote pid 74127 to log/6/server/http_server.pid 02:01:08.261993 Wrote port 39457 to log/6/server/http_server.port 02:01:09.337312 ====> Client connect 02:01:09.337331 accept_connection 3 returned 4 02:01:09.337346 accept_connection 3 returned 0 02:01:09.337359 Read 93 bytes 02:01:09.337376 Process 93 bytes request 02:01:09.337393 Got request: GET /verifiedserver HTTP/1.1 02:01:09.337403 Are-we-friendly question received 02:01:09.337429 Wrote request (93 bytes) input to log/6/server.input 02:01:09.337452 Identifying ourselves as friends 02:01:09.337533 Response sent (56 bytes) and written to log/6/server.response 02:01:09.337664 special request received, no persistency 02:01:09.337676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 7 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind7 ==74378== ==74378== Process terminating with default action of signal 4 (SIGILL) ==74378== Illegal opcode at address 0x10B08D ==74378== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74378== by 0x10B08D: main (tool_main.c:232) === End of file valgrind7 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/1/server/http_server.pid" --logfile "log/1/http_server.log" --logdir "log/1" --portfile log/1/server/http_server.port --config log/1/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/1/http_verify.out --silent --verbose --globoff "http://127.0.0.1:34215/verifiedserver" 2>log/1/http_verify.log RUN: HTTP server is on PID 74132 port 34215 * pid http => 74132 74132 test 0012...[HTTP range support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind12 ../src/curl -q --output log/1/curl12.out --include --trace-ascii log/1/trace12 --trace-config all --trace-time http://127.0.0.1:34215/want/12 -r 100-200 > log/1/stdout12 2> log/1/stderr12 12: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 12 === Start of file http_server.log 02:01:08.264357 Running HTTP IPv4 version on port 34215 02:01:08.264412 Wrote pCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-config all --trace-time http://127.0.0.1:44137/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3 ../src/curl -q --output log/10/curl3.out --include --trace-ascii log/10/trace3 --trace-config all --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:42929/3 > log/10/stdout3 2> log/10/stderr3 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind9 ../src/curl -q --output log/4/curl9.out --include --trace-ascii log/4/trace9 --trace-config all --trace-time http://127.0.0.1:36813/we/want/9 -F name=daniel -F tool=curl -F file=@log/4/test9.txt > log/4/stdout9 2> log/4/stderr9 id 74132 to log/1/server/http_server.pid 02:01:08.264437 Wrote port 34215 to log/1/server/http_server.port 02:01:09.357549 ====> Client connect 02:01:09.357571 accept_connection 3 returned 4 02:01:09.357587 accept_connection 3 returned 0 02:01:09.357601 Read 93 bytes 02:01:09.357617 Process 93 bytes request 02:01:09.357635 Got request: GET /verifiedserver HTTP/1.1 02:01:09.357646 Are-we-friendly question received 02:01:09.357674 Wrote request (93 bytes) input to log/1/server.input 02:01:09.357696 Identifying ourselves as friends 02:01:09.357800 Response sent (56 bytes) and written to log/1/server.response 02:01:09.357814 special request received, no persistency 02:01:09.357824 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 12 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind12 ==74391== ==74391== Process terminating with default action of signal 4 (SIGILL) ==74391== Illegal opcode at address 0x10B08D ==74391== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74391== by 0x10B08D: main (tool_main.c:232) === End of file valgrind12 test 0014...[HTTP HEAD with Connection: close] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-config all --trace-time http://127.0.0.1:44137/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 14: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 14 === Start of file http_server.log 02:01:10.895544 ====> Client connect 02:01:10.895577 accept_connection 3 returned 4 02:01:10.895594 accept_connection 3 returned 0 02:01:10.895607 Read 93 bytes 02:01:10.895618 Process 93 bytes request 02:01:10.895633 Got request: GET /verifiedserver HTTP/1.1 02:01:10.895643 Are-we-friendly question received 02:01:10.895665 Wrote request (93 bytes) input to log/11/server.input 02:01:10.895682 Identifying ourselves as friends 02:01:10.895748 Response sent (56 bytes) and written to log/11/server.response 02:01:10.895758 special request received, no persistency 02:01:10.895767 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 14 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind14 ==75053== ==75053== Process terminating with default action of signal 4 (SIGILL) ==75053== Illegal opcode at address 0x10B08D ==75053== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75053== by 0x10B08D: main (tool_main.c:232) === End of file valgrind14 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/10/server/http_server.pid" --logfile "log/10/http_server.log" --logdir "log/10" --portfile log/10/server/http_server.port --config log/10/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/10/http_verify.out --silent --verbose --globoff "http://127.0.0.1:42929/verifiedserver" 2>log/10/http_verify.log RUN: HTTP server is on PID 74123 port 42929 * pid http => 74123 74123 test 0003...[HTTP POST with auth and contents but with content-length set to 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3 ../src/curl -q --output log/10/curl3.out --include --trace-ascii log/10/trace3 --trace-config all --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:42929/3 > log/10/stdout3 2> log/10/stderr3 3: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 3 === Start of file http_server.log 02:01:08.262548 Running HTTP IPv4 version on port 42929 02:01:08.262624 Wrote pid 74123 to log/10/server/http_server.pid 02:01:08.262668 Wrote port 42929 to log/10/server/http_server.port 02:01:09.335414 ====> Client connect 02:01:09.335435 accept_connection 3 returned 4 02:01:09.335450 accept_connection 3 returned 0 02:01:09.338838 Read 93 bytes 02:01:09.338863 Process 93 bytes request 02:01:09.338883 Got request: GET /verifiedserver HTTP/1.1 02:01:09.338893 Are-we-friendly question received 02:01:09.351506 Wrote request (93 bytes) input to log/10/server.input 02:01:09.351600 Identifying ourselves as friends 02:01:09.351709 Response sent (56 bytes) and written to log/10/server.response 02:01:09.351720 special request received, no persistency 02:01:09.351731 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 3 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind3 ==74399== ==74399== Process terminating with default action of signal 4 (SIGILL) ==74399== Illegal opcode at address 0x10B08D ==74399== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74399== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_server.pid" --logfile "log/4/http_server.log" --logdir "log/4" --portfile log/4/server/http_server.port --config log/4/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/4/http_verify.out --silent --verbose --globoff "http://127.0.0.1:36813/verifiedserver" 2>log/4/http_verify.log RUN: HTTP server is on PID 74133 port 36813 * pid http => 74133 74133 test 0009...[HTTP RFC1867-type formposting] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind9 ../src/curl -q --output log/4/curl9.out --include --trace-ascii log/4/trace9 --trace-config all --trace-time http://127.0.0.1:36813/we/want/9 -F name=daniel -F tool=curl -F file=@log/4/test9.txt > log/4/stdout9 2> log/4/stderr9 9: protocol FAILED! There was no content at all in the file log/4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind16 ../src/curl -q --output log/5/curl16.out --include --trace-ascii log/5/trace16 --trace-config all --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:33361 http://we.want.that.site.com/16 > log/5/stdout16 2> log/5/stderr16 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind15 ../src/curl -q --include --trace-ascii log/7/trace15 --trace-config all --trace-time http://127.0.0.1:43753/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/7/stdout15 2> log/7/stderr15 /server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 9 === Start of file http_server.log 02:01:08.268397 Running HTTP IPv4 version on port 36813 02:01:08.268451 Wrote pid 74133 to log/4/server/http_server.pid 02:01:08.268477 Wrote port 36813 to log/4/server/http_server.port 02:01:09.358736 ====> Client connect 02:01:09.358756 accept_connection 3 returned 4 02:01:09.358771 accept_connection 3 returned 0 02:01:09.358784 Read 93 bytes 02:01:09.358799 Process 93 bytes request 02:01:09.358818 Got request: GET /verifiedserver HTTP/1.1 02:01:09.358828 Are-we-friendly question received 02:01:09.358855 Wrote request (93 bytes) input to log/4/server.input 02:01:09.358876 Identifying ourselves as friends 02:01:09.358960 Response sent (56 bytes) and written to log/4/server.response 02:01:09.358973 special request received, no persistency 02:01:09.358983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 9 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file test9.txt foo- This is a moo- bar === End of file test9.txt === Start of file valgrind9 ==74390== ==74390== Process terminating with default action of signal 4 (SIGILL) ==74390== Illegal opcode at address 0x10B08D ==74390== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==74390== by 0x10B08D: main (tool_main.c:232) === End of file valgrind9 test 0016...[HTTP with proxy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind16 ../src/curl -q --output log/5/curl16.out --include --trace-ascii log/5/trace16 --trace-config all --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:33361 http://we.want.that.site.com/16 > log/5/stdout16 2> log/5/stderr16 16: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 16 === Start of file http_server.log 02:01:11.143981 ====> Client connect 02:01:11.144015 accept_connection 3 returned 4 02:01:11.144032 accept_connection 3 returned 0 02:01:11.144047 Read 93 bytes 02:01:11.144059 Process 93 bytes request 02:01:11.144074 Got request: GET /verifiedserver HTTP/1.1 02:01:11.144084 Are-we-friendly question received 02:01:11.144106 Wrote request (93 bytes) input to log/5/server.input 02:01:11.144123 Identifying ourselves as friends 02:01:11.144191 Response sent (56 bytes) and written to log/5/server.response 02:01:11.144202 special request received, no persistency 02:01:11.144211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 16 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind16 ==75161== ==75161== Process terminating with default action of signal 4 (SIGILL) ==75161== Illegal opcode at address 0x10B08D ==75161== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75161== by 0x10B08D: main (tool_main.c:232) === End of file valgrind16 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind19 ../src/curl -q --output log/2/curl19.out --include --trace-ascii log/2/trace19 --trace-config all --trace-time --trace-config all 127.0.0.1:47 > log/2/stdout19 2> log/2/stderr19 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind18 ../src/curl -q --include --trace-ascii log/9/trace18 --trace-config all --trace-time "127.0.0.1:38509/{18,180002,180003}" > log/9/stdout18 2> log/9/stderr18 test 0015...[--write-out test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind15 ../src/curl -q --include --trace-ascii log/7/trace15 --trace-config all --trace-time http://127.0.0.1:43753/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/7/stdout15 2> log/7/stderr15 15: stdout FAILED: --- log/7/check-expected 2024-12-15 02:01:12.087949202 +0000 +++ log/7/check-generated 2024-12-15 02:01:12.087949202 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Fake: yes[CR][LF] -Fake: yes[CR][LF] -Fake: yes[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -Repeated nonsense-headers[LF] -http://127.0.0.1:43753/want/15 200 26[LF] == Contents of files in the log/7/ dir after test 15 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Fake: yes[CR][LF] Fake: yes[CR][LF] Fake: yes[CR][LF] Content-Length: 26[CR][LF] [CR][LF] Repeated nonsense-headers[LF] http://127.0.0.1:43753/want/15 200 26[LF] === End of file check-expected === Start of file http_server.log 02:01:10.918780 ====> Client connect 02:01:10.920486 accept_connection 3 returned 4 02:01:10.920510 accept_connection 3 returned 0 02:01:10.920526 Read 93 bytes 02:01:10.920537 Process 93 bytes request 02:01:10.920552 Got request: GET /verifiedserver HTTP/1.1 02:01:10.920563 Are-we-friendly question received 02:01:10.920588 Wrote request (93 bytes) input to log/7/server.input 02:01:10.920606 Identifying ourselves as friends 02:01:10.920690 Response sent (56 bytes) and written to log/7/server.response 02:01:10.920703 special request received, no persistency 02:01:10.920712 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 15 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind15 ==75059== ==75059== Process terminating with default action of signal 4 (SIGILL) ==75059== Illegal opcode at address 0x10B08D ==75059== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75059== by 0x10B08D: main (tool_main.c:232) === End of file valgrind15 * starts no server test 0019...[attempt connect to non-listening socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind19 ../src/curl -q --output log/2/curl19.out --include --trace-ascii log/2/trace19 --trace-config all --trace-time --trace-config all 127.0.0.1:47 > log/2/stdout19 2> log/2/stderr19 curl returned 132, when expecting 7 19: exit FAILED == Contents of files in the log/2/ dir after test 19 === Start of file server.cmd Testnum 19 === End of file server.cmd === Start of file valgrind19 ==75255== ==75255== Process terminating with default action of signal 4 (SIGILL) ==75255== Illegal opcode at address 0x10B08D ==75255== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75255== by 0x10B08D: main (tool_main.c:232) === End of file valgrind19 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-config all --trace-time -K - 127.0.0.1:43803/that.site.com/17 log/8/stdout17 2> log/8/stderr17 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind20 ../src/curl -q --output log/12/curl20.out --include --trace-ascii log/12/trace20 --trace-config all --trace-time --ipv4 non-existing-host.haxx.se. > log/12/stdout20 2> log/12/stderr20 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind22 ../src/curl -q --output log/6/curl22.out --include --trace-ascii log/6/trace22 --trace-config all --trace-time 127.0.0.1:39457/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/6/stdout22 2> log/6/stderr22 test 0018...[multiple requests using {} in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind18 ../src/curl -q --include --trace-ascii log/9/trace18 --trace-config all --trace-time "127.0.0.1:38509/{18,180002,180003}" > log/9/stdout18 2> log/9/stderr18 18: stdout FAILED: --- log/9/check-expected 2024-12-15 02:01:12.401288205 +0000 +++ log/9/check-generated 2024-12-15 02:01:12.401288205 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -moo[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -foo[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -hoo[LF] == Contents of files in the log/9/ dir after test 18 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] moo[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] foo[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] hoo[LF] === End of file check-expected === Start of file http_server.log 02:01:11.393295 ====> Client connect 02:01:11.393328 accept_connection 3 returned 4 02:01:11.393345 accept_connection 3 returned 0 02:01:11.393360 Read 93 bytes 02:01:11.393372 Process 93 bytes request 02:01:11.393386 Got request: GET /verifiedserver HTTP/1.1 02:01:11.393396 Are-we-friendly question received 02:01:11.393417 Wrote request (93 bytes) input to log/9/server.input 02:01:11.393436 Identifying ourselves as friends 02:01:11.393506 Response sent (56 bytes) and written to log/9/server.response 02:01:11.393517 special request received, no persistency 02:01:11.393526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 18 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind18 ==75295== ==75295== Process terminating with default action of signal 4 (SIGILL) ==75295== Illegal opcode at address 0x10B08D ==75295== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75295== by 0x10B08D: main (tool_main.c:232) === End of file valgrind18 test 0017...[HTTP with config file on stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-config all --trace-time -K - 127.0.0.1:43803/that.site.com/17 log/8/stdout17 2> log/8/stderr17 17: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 17 === Start of file http_server.log 02:01:11.294124 ====> Client connect 02:01:11.294158 accept_connection 3 returned 4 02:01:11.294175 accept_connection 3 returned 0 02:01:11.294189 Read 93 bytes 02:01:11.294200 Process 93 bytes request 02:01:11.294215 Got request: GET /verifiedserver HTTP/1.1 02:01:11.294225 Are-we-friendly question received 02:01:11.294248 Wrote request (93 bytes) input to log/8/server.input 02:01:11.294266 Identifying ourselves as friends 02:01:11.294349 Response sent (56 bytes) and written to log/8/server.response 02:01:11.294365 special request received, no persistency 02:01:11.294376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 17 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stdin-for-17 # # Use a silly request without '--': request MOOO # # Set the user-agent using a short-option: -A "agent007 license to drill\t" # # long option *with* '--': --max-time 180 === End of file stdin-for-17 === Start of file valgrind17 ==75223== ==75223== Process terminating with default action of signal 4 (SIGILL) ==75223== Illegal opcode at address 0x10B08D ==75223== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75223== by 0x10B08D: main (tool_main.c:232) === End of file valgrind17 * starts no server test 0020...[attempt connect to non-existing host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind20 ../src/curl -q --output log/12/curl20.out --include --trace-ascii log/12/trace20 --trace-config all --trace-time --ipv4 non-existing-host.haxx.se. > log/12/stdout20 2> log/12/stderr20 curl returned 132, when expecting 6 20: exit FAILED == Contents of files in the log/12/ dir after test 20 === Start of file server.cmd Testnum 20 === End of file server.cmd === Start of file valgrind20 ==75388== ==75388== Process terminating with default action of signal 4 (SIGILL) ==75388== Illegal opcode at address 0x10B08D ==75388== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75388== by 0x10B08D: main (tool_main.c:232) === End of file valgrind20 test 0022...[get HTTP with URL > 10000 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind22 ../src/curl -q --output log/6/curl22.out --include --trace-ascii log/6/trace22 --trace-config all --trace-time 127.0.0.1:39457/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind23 ../src/curl -q --output log/1/curl23.out --include --trace-ascii log/1/trace23 --trace-config all --trace-time htfp://127.0.0.1:34215/none.htfml > log/1/stdout23 2> log/1/stderr23 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind21 ../src/curl -q --output log/3/curl21.out --include --trace-ascii log/3/trace21 --trace-config all --trace-time -I -d FOOO -F moo=moo localhost > log/3/stdout21 2> log/3/stderr21 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind24 ../src/curl -q --output log/11/curl24.out --include --trace-ascii log/11/trace24 --trace-config all --trace-time http://127.0.0.1:44137/24 --fail --silent --show-error > log/11/stdout24 2> log/11/stderr24 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/6/stdout22 2> log/6/stderr22 22: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 22 === Start of file http_server.log 02:01:11.873118 ====> Client connect 02:01:11.873152 accept_connection 3 returned 4 02:01:11.873169 accept_connection 3 returned 0 02:01:11.873184 Read 93 bytes 02:01:11.873195 Process 93 bytes request 02:01:11.873209 Got request: GET /verifiedserver HTTP/1.1 02:01:11.873219 Are-we-friendly question received 02:01:11.873242 Wrote request (93 bytes) input to log/6/server.input 02:01:11.873258 Identifying ourselves as friends 02:01:11.873322 Response sent (56 bytes) and written to log/6/server.response 02:01:11.873334 special request received, no persistency 02:01:11.873343 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 22 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind22 ==75492== ==75492== Process terminating with default action of signal 4 (SIGILL) ==75492== Illegal opcode at address 0x10B08D ==75492== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75492== by 0x10B08D: main (tool_main.c:232) === End of file valgrind22 test 0023...[unsupported protocol:// URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind23 ../src/curl -q --output log/1/curl23.out --include --trace-ascii log/1/trace23 --trace-config all --trace-time htfp://127.0.0.1:34215/none.htfml > log/1/stdout23 2> log/1/stderr23 curl returned 132, when expecting 1 23: exit FAILED == Contents of files in the log/1/ dir after test 23 === Start of file http_server.log 02:01:11.885233 ====> Client connect 02:01:11.885271 accept_connection 3 returned 4 02:01:11.885290 accept_connection 3 returned 0 02:01:11.885307 Read 93 bytes 02:01:11.885319 Process 93 bytes request 02:01:11.885334 Got request: GET /verifiedserver HTTP/1.1 02:01:11.885345 Are-we-friendly question received 02:01:11.885372 Wrote request (93 bytes) input to log/1/server.input 02:01:11.885392 Identifying ourselves as friends 02:01:11.885486 Response sent (56 bytes) and written to log/1/server.response 02:01:11.885501 special request received, no persistency 02:01:11.885511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 23 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind23 ==75495== ==75495== Process terminating with default action of signal 4 (SIGILL) ==75495== Illegal opcode at address 0x10B08D ==75495== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75495== by 0x10B08D: main (tool_main.c:232) === End of file valgrind23 test 0021...[use curl with multiple request methods] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind21 ../src/curl -q --output log/3/curl21.out --include --trace-ascii log/3/trace21 --trace-config all --trace-time -I -d FOOO -F moo=moo localhost > log/3/stdout21 2> log/3/stderr21 curl returned 132, when expecting 2 21: exit FAILED == Contents of files in the log/3/ dir after test 21 === Start of file http_server.log 02:01:11.838567 ====> Client connect 02:01:11.838608 accept_connection 3 returned 4 02:01:11.838626 accept_connection 3 returned 0 02:01:11.838641 Read 93 bytes 02:01:11.838651 Process 93 bytes request 02:01:11.838664 Got request: GET /verifiedserver HTTP/1.1 02:01:11.838673 Are-we-friendly question received 02:01:11.838694 Wrote request (93 bytes) input to log/3/server.input 02:01:11.838709 Identifying ourselves as friends 02:01:11.838802 Response sent (56 bytes) and written to log/3/server.response 02:01:11.838812 special request received, no persistency 02:01:11.838820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 21 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind21 ==75488== ==75488== Process terminating with default action of signal 4 (SIGILL) ==75488== Illegal opcode at address 0x10B08D ==75488== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75488== by 0x10B08D: main (tool_main.c:232) === End of file valgrind21 test 0024...[HTTP GET fail silently on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind24 ../src/curl -q --output log/11/curl24.out --include --trace-ascii log/11/trace24 --trace-config all --trace-time http://127.0.0.1:44137/24 --fail --silent --show-error > log/11/stdout24 2> log/11/stderr24 24: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 24 === Start of file http_server.log 02:01:12.134909 ====> Client connect 02:01:12.134950 accept_connection 3 returned 4 02:01:12.134968 accept_connection 3 returned 0 02:01:12.134984 Read 93 bytes 02:01:12.134995 Process 93 bytes request 02:01:12.135011 Got request: GET /verifiedserver HTTP/1.1 02:01:12.135021 Are-we-friendly question received 02:01:12.139257 Wrote request (93 bytes) input to log/11/server.input 02:01:12.139295 Identifying ourselves as friends 02:01:12.139399 Response sent (56 bytes) and written to log/11/server.response 02:01:12.139411 special request received, no persistency 02:01:12.139421 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind26 ../src/curl -q --output log/4/curl26.out --include --trace-ascii log/4/trace26 --trace-config all --trace-time http://127.0.0.1:36813/want/26 -o - -o - > log/4/stdout26 2> log/4/stderr26 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind27 ../src/curl -q --output log/5/curl27.out --include --trace-ascii log/5/trace27 --trace-config all --trace-time "http://127.0.0.1:33361/want/{27,27,27}" -b none > log/5/stdout27 2> log/5/stderr27 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind25 ../src/curl -q --output log/10/curl25.out --include --trace-ascii log/10/trace25 --trace-config all --trace-time http://127.0.0.1:42929/want/25 -L --max-redirs 5 > log/10/stdout25 2> log/10/stderr25 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind28 ../src/curl -q --output log/7/curl28.out --include --trace-ascii log/7/trace28 --trace-config all --trace-time http://127.0.0.1:43753/want/28 -L > log/7/stdout28 2> log/7/stderr28 * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 24 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind24 ==75677== ==75677== Process terminating with default action of signal 4 (SIGILL) ==75677== Illegal opcode at address 0x10B08D ==75677== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75677== by 0x10B08D: main (tool_main.c:232) === End of file valgrind24 test 0026...[specify more -o than URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind26 ../src/curl -q --output log/4/curl26.out --include --trace-ascii log/4/trace26 --trace-config all --trace-time http://127.0.0.1:36813/want/26 -o - -o - > log/4/stdout26 2> log/4/stderr26 26: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 26 === Start of file http_server.log 02:01:12.209202 ====> Client connect 02:01:12.209256 accept_connection 3 returned 4 02:01:12.209283 accept_connection 3 returned 0 02:01:12.209305 Read 93 bytes 02:01:12.209318 Process 93 bytes request 02:01:12.209335 Got request: GET /verifiedserver HTTP/1.1 02:01:12.209346 Are-we-friendly question received 02:01:12.209374 Wrote request (93 bytes) input to log/4/server.input 02:01:12.209394 Identifying ourselves as friends 02:01:12.209510 Response sent (56 bytes) and written to log/4/server.response 02:01:12.209523 special request received, no persistency 02:01:12.209533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 26 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind26 ==75716== ==75716== Process terminating with default action of signal 4 (SIGILL) ==75716== Illegal opcode at address 0x10B08D ==75716== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75716== by 0x10B08D: main (tool_main.c:232) === End of file valgrind26 test 0027...[Get same cookie page several times] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind27 ../src/curl -q --output log/5/curl27.out --include --trace-ascii log/5/trace27 --trace-config all --trace-time "http://127.0.0.1:33361/want/{27,27,27}" -b none > log/5/stdout27 2> log/5/stderr27 27: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 27 === Start of file http_server.log 02:01:12.243378 ====> Client connect 02:01:12.243409 accept_connection 3 returned 4 02:01:12.243426 accept_connection 3 returned 0 02:01:12.243442 Read 93 bytes 02:01:12.243452 Process 93 bytes request 02:01:12.243467 Got request: GET /verifiedserver HTTP/1.1 02:01:12.243477 Are-we-friendly question received 02:01:12.243499 Wrote request (93 bytes) input to log/5/server.input 02:01:12.243517 Identifying ourselves as friends 02:01:12.243585 Response sent (56 bytes) and written to log/5/server.response 02:01:12.243598 special request received, no persistency 02:01:12.243608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 27 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind27 ==75760== ==75760== Process terminating with default action of signal 4 (SIGILL) ==75760== Illegal opcode at address 0x10B08D ==75760== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75760== by 0x10B08D: main (tool_main.c:232) === End of file valgrind27 test 0025...[looping HTTP Location: following with --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind25 ../src/curl -q --output log/10/curl25.out --include --trace-ascii log/10/trace25 --trace-config all --trace-time http://127.0.0.1:42929/want/25 -L --max-redirs 5 > log/10/stdout25 2> log/10/stderr25 25: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 25 === Start of file http_server.log 02:01:12.178552 ====> Client connect 02:01:12.178588 accept_connection 3 returned 4 02:01:12.178606 accept_connection 3 returned 0 02:01:12.178623 Read 93 bytes 02:01:12.178633 Process 93 bytes request 02:01:12.178649 Got request: GET /verifiedserver HTTP/1.1 02:01:12.178658 Are-we-friendly question received 02:01:12.178680 Wrote request (93 bytes) input to log/10/server.input 02:01:12.178698 Identifying ourselves as friends 02:01:12.178786 Response sent (56 bytes) and written to log/10/server.response 02:01:12.178799 special request received, no persistency 02:01:12.178808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 25 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind25 ==75700== ==75700== Process terminating with default action of signal 4 (SIGILL) ==75700== Illegal opcode at address 0x10B08D ==75700== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75700== by 0x10B08D: main (tool_main.c:232) === End of file valgrind25 test 0028...[HTTP Location: following with extra spaces in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind28 ../src/curl -q --output log/7/curl28.out --include --trace-ascii log/7/trace28 --trace-config all --trace-time http://127.0.0.1:43753/want/28 -L > log/7/stdout28 2> log/7/stderr28 28: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind29 ../src/curl -q --output log/2/curl29.out --include --trace-ascii log/2/trace29 --trace-config all --trace-time http://127.0.0.1:34295/want/29 -m 2 > log/2/stdout29 2> log/2/stderr29 RUN: Process with pid 74129 signalled to die RUN: Process with pid 74129 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind31 ../src/curl -q --output log/8/curl31.out --include --trace-ascii log/8/trace31 --trace-config all --trace-time http://test31.curl:43803/we/want/31 -b none -c log/8/jar31.txt --resolve test31.curl:43803:127.0.0.1 > log/8/stdout31 2> log/8/stderr31 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind30 ../src/curl -q --output log/9/curl30.out --include --trace-ascii log/9/trace30 --trace-config all --trace-time http://127.0.0.1:38509/want/30 > log/9/stdout30 2> log/9/stderr30 f files in the log/7/ dir after test 28 === Start of file http_server.log 02:01:12.373773 ====> Client connect 02:01:12.373807 accept_connection 3 returned 4 02:01:12.373826 accept_connection 3 returned 0 02:01:12.373841 Read 93 bytes 02:01:12.373853 Process 93 bytes request 02:01:12.373869 Got request: GET /verifiedserver HTTP/1.1 02:01:12.373879 Are-we-friendly question received 02:01:12.373905 Wrote request (93 bytes) input to log/7/server.input 02:01:12.373923 Identifying ourselves as friends 02:01:12.373998 Response sent (56 bytes) and written to log/7/server.response 02:01:12.374009 special request received, no persistency 02:01:12.374019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 28 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind28 ==75873== ==75873== Process terminating with default action of signal 4 (SIGILL) ==75873== Illegal opcode at address 0x10B08D ==75873== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75873== by 0x10B08D: main (tool_main.c:232) === End of file valgrind28 test 0029...[HTTP with 2 secs timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind29 ../src/curl -q --output log/2/curl29.out --include --trace-ascii log/2/trace29 --trace-config all --trace-time http://127.0.0.1:34295/want/29 -m 2 > log/2/stdout29 2> log/2/stderr29 29: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 29 === Start of file http_server.log 02:01:12.571517 ====> Client connect 02:01:12.571730 accept_connection 3 returned 4 02:01:12.571751 accept_connection 3 returned 0 02:01:12.571768 Read 93 bytes 02:01:12.571783 Process 93 bytes request 02:01:12.571799 Got request: GET /verifiedserver HTTP/1.1 02:01:12.571809 Are-we-friendly question received 02:01:12.571842 Wrote request (93 bytes) input to log/2/server.input 02:01:12.571860 Identifying ourselves as friends 02:01:12.571951 Response sent (56 bytes) and written to log/2/server.response 02:01:12.571963 special request received, no persistency 02:01:12.571973 ====> Client disconnect 0 02:01:13.769318 exit_signal_handler: 15 02:01:13.769376 signalled to die 02:01:13.769470 ========> IPv4 sws (port 34295 pid: 74129) exits with signal (15) 02:01:13.769486 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34295... * Connected to 127.0.0.1 (127.0.0.1) port 34295 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34295 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74129 === End of file http_verify.out === Start of file server.cmd Testnum 29 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74129 === End of file server.response === Start of file valgrind29 ==75967== ==75967== Process terminating with default action of signal 4 (SIGILL) ==75967== Illegal opcode at address 0x10B08D ==75967== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==75967== by 0x10B08D: main (tool_main.c:232) === End of file valgrind29 setenv TZ = GMT test 0031...[HTTP with weirdly formatted cookies and cookiejar storage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind31 ../src/curl -q --output log/8/curl31.out --include --trace-ascii log/8/trace31 --trace-config all --trace-time http://test31.curl:43803/we/want/31 -b none -c log/8/jar31.txt --resolve test31.curl:43803:127.0.0.1 > log/8/stdout31 2> log/8/stderr31 31: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 31 === Start of file http_server.log 02:01:12.750738 ====> Client connect 02:01:12.750774 accept_connection 3 returned 4 02:01:12.750792 accept_connection 3 returned 0 02:01:12.750812 Read 93 bytes 02:01:12.750824 Process 93 bytes request 02:01:12.750840 Got request: GET /verifiedserver HTTP/1.1 02:01:12.750850 Are-we-friendly question received 02:01:12.750873 Wrote request (93 bytes) input to log/8/server.input 02:01:12.750891 Identifying ourselves as friends 02:01:12.750964 Response sent (56 bytes) and written to log/8/server.response 02:01:12.750976 special request received, no persistency 02:01:12.750985 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 31 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind31 ==76067== ==76067== Process terminating with default action of signal 4 (SIGILL) ==76067== Illegal opcode at address 0x10B08D ==76067== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76067== by 0x10B08D: main (tool_main.c:232) === End of file valgrind31 test 0030...[HTTP with no data in server reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind30 ../src/curl -q --output log/9/curl30.out --include --trace-ascii log/9/trace30 --trace-config all --trace-time http://127.0.0.1:38509/want/30 > log/9/stdout30 2> log/9/stderr30 30: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 30 === Start of file http_server.log 02:01:12.700663 ====> Client connect 02:01:12.700707 accept_connection 3 returned 4 02:01:12.700725 accept_connection 3 returned 0 02:01:12.701068 Read 93 bytes 02:01:12.701083 Process 93 bytes request 02:01:12.701099 Got request: GET /verifiedserver HTTP/1.1 02:01:12.701109 Are-we-friendly question received 02:01:12.701156 Wrote request (93 bytes) input to log/9/server.input 02:01:12.701175 Identifying ourselves as friends 02:01:12.701239 Response sent (56 bytes) and written to log/9/server.response 02:01:12.701250 special request received, no persistency 02:01:12.701260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind33 ../src/curl -q --output log/6/curl33.out --include --trace-ascii log/6/trace33 --trace-config all --trace-time http://127.0.0.1:39457/33 -Tlog/6/test33.txt -C 50 > log/6/stdout33 2> log/6/stderr33 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind32 ../src/curl -q --output log/12/curl32.out --include --trace-ascii log/12/trace32 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:40653/32 -G > log/12/stdout32 2> log/12/stderr32 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind34 ../src/curl -q --output log/1/curl34.out --include --trace-ascii log/1/trace34 --trace-config all --trace-time http://127.0.0.1:34215/34 > log/1/stdout34 2> log/1/stderr34 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind35 ../src/curl -q --output log/3/curl35.out --include --trace-ascii log/3/trace35 --trace-config all --trace-time http://127.0.0.1:34527/we/want/35 --data-binary @log/3/test35.txt > log/3/stdout35 2> log/3/stderr35 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind37 ../src/curl -q --output log/4/curl37.out --include --trace-ascii log/4/trace37 --trace-config all --trace-time http://127.0.0.1:36813/37 > log/4/stdout37 2> log/4/stderr37 intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 30 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind30 ==76043== ==76043== Process terminating with default action of signal 4 (SIGILL) ==76043== Illegal opcode at address 0x10B08D ==76043== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76043== by 0x10B08D: main (tool_main.c:232) === End of file valgrind30 test 0033...[HTTP PUT with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind33 ../src/curl -q --output log/6/curl33.out --include --trace-ascii log/6/trace33 --trace-config all --trace-time http://127.0.0.1:39457/33 -Tlog/6/test33.txt -C 50 > log/6/stdout33 2> log/6/stderr33 33: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 33 === Start of file http_server.log 02:01:12.890914 ====> Client connect 02:01:12.890952 accept_connection 3 returned 4 02:01:12.890972 accept_connection 3 returned 0 02:01:12.890989 Read 93 bytes 02:01:12.891000 Process 93 bytes request 02:01:12.891016 Got request: GET /verifiedserver HTTP/1.1 02:01:12.891026 Are-we-friendly question received 02:01:12.891054 Wrote request (93 bytes) input to log/6/server.input 02:01:12.891073 Identifying ourselves as friends 02:01:12.891148 Response sent (56 bytes) and written to log/6/server.response 02:01:12.891162 special request received, no persistency 02:01:12.891173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 33 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file test33.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test33.txt === Start of file valgrind33 ==76146== ==76146== Process terminating with default action of signal 4 (SIGILL) ==76146== Illegal opcode at address 0x10B08D ==76146== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76146== by 0x10B08D: main (tool_main.c:232) === End of file valgrind33 test 0032...[HTTP with -d and -G] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind32 ../src/curl -q --output log/12/curl32.out --include --trace-ascii log/12/trace32 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:40653/32 -G > log/12/stdout32 2> log/12/stderr32 32: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 32 === Start of file http_server.log 02:01:12.878985 ====> Client connect 02:01:12.879033 accept_connection 3 returned 4 02:01:12.879053 accept_connection 3 returned 0 02:01:12.879069 Read 93 bytes 02:01:12.879081 Process 93 bytes request 02:01:12.879097 Got request: GET /verifiedserver HTTP/1.1 02:01:12.879107 Are-we-friendly question received 02:01:12.879132 Wrote request (93 bytes) input to log/12/server.input 02:01:12.879151 Identifying ourselves as friends 02:01:12.879250 Response sent (56 bytes) and written to log/12/server.response 02:01:12.879264 special request received, no persistency 02:01:12.879274 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 32 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind32 ==76173== ==76173== Process terminating with default action of signal 4 (SIGILL) ==76173== Illegal opcode at address 0x10B08D ==76173== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76173== by 0x10B08D: main (tool_main.c:232) === End of file valgrind32 test 0034...[HTTP GET with chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind34 ../src/curl -q --output log/1/curl34.out --include --trace-ascii log/1/trace34 --trace-config all --trace-time http://127.0.0.1:34215/34 > log/1/stdout34 2> log/1/stderr34 34: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 34 === Start of file http_server.log 02:01:13.131389 ====> Client connect 02:01:13.131421 accept_connection 3 returned 4 02:01:13.131437 accept_connection 3 returned 0 02:01:13.131450 Read 93 bytes 02:01:13.131460 Process 93 bytes request 02:01:13.131475 Got request: GET /verifiedserver HTTP/1.1 02:01:13.131484 Are-we-friendly question received 02:01:13.131506 Wrote request (93 bytes) input to log/1/server.input 02:01:13.131523 Identifying ourselves as friends 02:01:13.131585 Response sent (56 bytes) and written to log/1/server.response 02:01:13.131595 special request received, no persistency 02:01:13.131604 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 34 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind34 ==76300== ==76300== Process terminating with default action of signal 4 (SIGILL) ==76300== Illegal opcode at address 0x10B08D ==76300== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76300== by 0x10B08D: main (tool_main.c:232) === End of file valgrind34 test 0035...[HTTP POST binary data with embedded NUL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind35 ../src/curl -q --output log/3/curl35.out --include --trace-ascii log/3/trace35 --trace-config all --trace-time http://127.0.0.1:34527/we/want/35 --data-binary @log/3/test35.txt > log/3/stdout35 2> log/3/stderr35 35: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == CoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind38 ../src/curl -q --include --trace-ascii log/5/trace38 --trace-config all --trace-time http://127.0.0.1:33361/want/38 -C - --no-include -o log/5/fewl38.txt > log/5/stdout38 2> log/5/stderr38 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind36 ../src/curl -q --output log/11/curl36.out --include --trace-ascii log/11/trace36 --trace-config all --trace-time http://127.0.0.1:44137/36 > log/11/stdout36 2> log/11/stderr36 ntents of files in the log/3/ dir after test 35 === Start of file http_server.log 02:01:13.279883 ====> Client connect 02:01:13.279918 accept_connection 3 returned 4 02:01:13.279937 accept_connection 3 returned 0 02:01:13.279952 Read 93 bytes 02:01:13.279964 Process 93 bytes request 02:01:13.279978 Got request: GET /verifiedserver HTTP/1.1 02:01:13.279988 Are-we-friendly question received 02:01:13.280012 Wrote request (93 bytes) input to log/3/server.input 02:01:13.280030 Identifying ourselves as friends 02:01:13.280100 Response sent (56 bytes) and written to log/3/server.response 02:01:13.280112 special request received, no persistency 02:01:13.280122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 35 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file test35.txt This is binary data with an embedded NUL byte === End of file test35.txt === Start of file valgrind35 ==76353== ==76353== Process terminating with default action of signal 4 (SIGILL) ==76353== Illegal opcode at address 0x10B08D ==76353== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76353== by 0x10B08D: main (tool_main.c:232) === End of file valgrind35 test 0037...[HTTP GET with nothing returned from server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind37 ../src/curl -q --output log/4/curl37.out --include --trace-ascii log/4/trace37 --trace-config all --trace-time http://127.0.0.1:36813/37 > log/4/stdout37 2> log/4/stderr37 37: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 37 === Start of file http_server.log 02:01:13.452702 ====> Client connect 02:01:13.452736 accept_connection 3 returned 4 02:01:13.452755 accept_connection 3 returned 0 02:01:13.452769 Read 93 bytes 02:01:13.452779 Process 93 bytes request 02:01:13.452794 Got request: GET /verifiedserver HTTP/1.1 02:01:13.452804 Are-we-friendly question received 02:01:13.452824 Wrote request (93 bytes) input to log/4/server.input 02:01:13.452841 Identifying ourselves as friends 02:01:13.452904 Response sent (56 bytes) and written to log/4/server.response 02:01:13.452915 special request received, no persistency 02:01:13.452924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 37 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind37 ==76445== ==76445== Process terminating with default action of signal 4 (SIGILL) ==76445== Illegal opcode at address 0x10B08D ==76445== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76445== by 0x10B08D: main (tool_main.c:232) === End of file valgrind37 test 0038...[HTTP resume request without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind38 ../src/curl -q --include --trace-ascii log/5/trace38 --trace-config all --trace-time http://127.0.0.1:33361/want/38 -C - --no-include -o log/5/fewl38.txt > log/5/stdout38 2> log/5/stderr38 38: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 38 === Start of file fewl38.txt This text is here to simulate a partly downloaded file to resume download on. === End of file fewl38.txt === Start of file http_server.log 02:01:13.439524 ====> Client connect 02:01:13.439556 accept_connection 3 returned 4 02:01:13.439573 accept_connection 3 returned 0 02:01:13.439587 Read 93 bytes 02:01:13.439597 Process 93 bytes request 02:01:13.439611 Got request: GET /verifiedserver HTTP/1.1 02:01:13.439621 Are-we-friendly question received 02:01:13.439641 Wrote request (93 bytes) input to log/5/server.input 02:01:13.439657 Identifying ourselves as friends 02:01:13.439718 Response sent (56 bytes) and written to log/5/server.response 02:01:13.439728 special request received, no persistency 02:01:13.439737 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 38 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind38 ==76448== ==76448== Process terminating with default action of signal 4 (SIGILL) ==76448== Illegal opcode at address 0x10B08D ==76448== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76448== by 0x10B08D: main (tool_main.c:232) === End of file valgrind38 test 0036...[HTTP GET with bad chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind36 ../src/curl -q --output log/11/curl36.out --include --trace-ascii log/11/trace36 --trace-config all --trace-time http://127.0.0.1:44137/36 > log/11/stdout36 2> log/11/stderr36 36: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 36 === Start of file http_server.log 02:01:13.458340 ====> Client connect 02:01:13.458375 accept_connection 3 returned 4 02:01:13.458393 accept_connection 3 returned 0 02:01:13.458407 Read 93 bytes 02:01:13.458418 Process 93 bytes request 02:01:13.458433 Got request: GET /verifiedserver HTTP/1.1 02:01:13.458442 Are-we-friendly question received 02:01:13.458465 Wrote request (93 bytes) input to log/11/server.input 02:01:13.458484 Identifying ourselves as friends 02:01:13.458682 Response sent (56 bytes) and written to log/11/server.response 02:01:13.458820 special request received, no persistency 02:01:13.458832 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind40 ../src/curl -q --output log/7/curl40.out --include --trace-ascii log/7/trace40 --trace-config all --trace-time http://127.0.0.1:43753/we/are/all/twits/40 -L > log/7/stdout40 2> log/7/stderr40 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind39 ../src/curl -q --output log/10/curl39.out --include --trace-ascii log/10/trace39 --trace-config all --trace-time http://127.0.0.1:42929/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/10/stdout39 2> log/10/stderr39 CMD (0): ../src/curl --max-time 13 --output log/2/http_verify.out --silent --verbose --globoff "http://127.0.0.1:38781/verifiedserver" 2>log/2/http_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind42 ../src/curl -q --output log/8/curl42.out --include --trace-ascii log/8/trace42 --trace-config all --trace-time http://127.0.0.1:43803/we/are/all/twits/42 -L > log/8/stdout42 2> log/8/stderr42 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind43 ../src/curl -q --output log/9/curl43.out --include --trace-ascii log/9/trace43 --trace-config all --trace-time http://127.0.0.1:38509/want/43 -L -x 127.0.0.1:38509 > log/9/stdout43 2> log/9/stderr43 = End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 36 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind36 ==76486== ==76486== Process terminating with default action of signal 4 (SIGILL) ==76486== Illegal opcode at address 0x10B08D ==76486== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76486== by 0x10B08D: main (tool_main.c:232) === End of file valgrind36 test 0040...[HTTP redirect with whitespace after ? (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind40 ../src/curl -q --output log/7/curl40.out --include --trace-ascii log/7/trace40 --trace-config all --trace-time http://127.0.0.1:43753/we/are/all/twits/40 -L > log/7/stdout40 2> log/7/stderr40 40: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 40 === Start of file http_server.log 02:01:13.640106 ====> Client connect 02:01:13.640146 accept_connection 3 returned 4 02:01:13.640165 accept_connection 3 returned 0 02:01:13.640181 Read 93 bytes 02:01:13.640194 Process 93 bytes request 02:01:13.640209 Got request: GET /verifiedserver HTTP/1.1 02:01:13.640219 Are-we-friendly question received 02:01:13.640244 Wrote request (93 bytes) input to log/7/server.input 02:01:13.640263 Identifying ourselves as friends 02:01:13.640364 Response sent (56 bytes) and written to log/7/server.response 02:01:13.640407 special request received, no persistency 02:01:13.640417 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 40 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind40 ==76632== ==76632== Process terminating with default action of signal 4 (SIGILL) ==76632== Illegal opcode at address 0x10B08D ==76632== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76632== by 0x10B08D: main (tool_main.c:232) === End of file valgrind40 test 0039...[HTTP RFC1867-type formposting with filename= and type=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind39 ../src/curl -q --output log/10/curl39.out --include --trace-ascii log/10/trace39 --trace-config all --trace-time http://127.0.0.1:42929/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/10/stdout39 2> log/10/stderr39 39: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 39 === Start of file http_server.log 02:01:13.615238 ====> Client connect 02:01:13.617355 accept_connection 3 returned 4 02:01:13.617384 accept_connection 3 returned 0 02:01:13.617472 Read 93 bytes 02:01:13.617488 Process 93 bytes request 02:01:13.617504 Got request: GET /verifiedserver HTTP/1.1 02:01:13.617513 Are-we-friendly question received 02:01:13.617542 Wrote request (93 bytes) input to log/10/server.input 02:01:13.617560 Identifying ourselves as friends 02:01:13.617622 Response sent (56 bytes) and written to log/10/server.response 02:01:13.617632 special request received, no persistency 02:01:13.617641 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 39 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file test39.txt foo bar This is a bar foo bar foo === End of file test39.txt === Start of file valgrind39 ==76609== ==76609== Process terminating with default action of signal 4 (SIGILL) ==76609== Illegal opcode at address 0x10B08D ==76609== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76609== by 0x10B08D: main (tool_main.c:232) === End of file valgrind39 test 0042...[HTTP redirect with whitespace in path (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind42 ../src/curl -q --output log/8/curl42.out --include --trace-ascii log/8/trace42 --trace-config all --trace-time http://127.0.0.1:43803/we/are/all/twits/42 -L > log/8/stdout42 2> log/8/stderr42 42: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 42 === Start of file http_server.log 02:01:14.055413 ====> Client connect 02:01:14.055451 accept_connection 3 returned 4 02:01:14.055471 accept_connection 3 returned 0 02:01:14.055489 Read 93 bytes 02:01:14.055501 Process 93 bytes request 02:01:14.055515 Got request: GET /verifiedserver HTTP/1.1 02:01:14.055526 Are-we-friendly question received 02:01:14.055551 Wrote request (93 bytes) input to log/8/server.input 02:01:14.055571 Identifying ourselves as friends 02:01:14.055645 Response sent (56 bytes) and written to log/8/server.response 02:01:14.055662 special request received, no persistency 02:01:14.055672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 42 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind42 ==76779== ==76779== Process terminating with default action of signal 4 (SIGILL) ==76779== Illegal opcode at address 0x10B08D ==76779== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76779== by 0x10B08D: main (tool_main.c:232) === End of file valgrind42 test 0043...[HTTP Location: following over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind43 ../src/curl -q --output logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind44 ../src/curl -q --output log/6/curl44.out --include --trace-ascii log/6/trace44 --trace-config all --trace-time http://127.0.0.1:39457/we/want/44 -F name=daniel -F tool=curl -F file=@log/6/test44.txt -H "Expect:" > log/6/stdout44 2> log/6/stderr44 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind45 ../src/curl -q --output log/12/curl45.out --include --trace-ascii log/12/trace45 --trace-config all --trace-time 127.0.0.1:40653/want/45 -L > log/12/stdout45 2> log/12/stderr45 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind47 ../src/curl -q --output log/3/curl47.out --include --trace-ascii log/3/trace47 --trace-config all --trace-time http://127.0.0.1:34527/47 -0 > log/3/stdout47 2> log/3/stderr47 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind46 ../src/curl -q --output log/1/curl46.out --include --trace-ascii log/1/trace46 --trace-config all --trace-time domain..tld:34215/want/46 --resolve domain..tld:34215:127.0.0.1 -c log/1/jar46 -b log/1/injar46 > log/1/stdout46 2> log/1/stderr46 /9/curl43.out --include --trace-ascii log/9/trace43 --trace-config all --trace-time http://127.0.0.1:38509/want/43 -L -x 127.0.0.1:38509 > log/9/stdout43 2> log/9/stderr43 43: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 43 === Start of file http_server.log 02:01:14.081895 ====> Client connect 02:01:14.081939 accept_connection 3 returned 4 02:01:14.081957 accept_connection 3 returned 0 02:01:14.081973 Read 93 bytes 02:01:14.081983 Process 93 bytes request 02:01:14.081997 Got request: GET /verifiedserver HTTP/1.1 02:01:14.082006 Are-we-friendly question received 02:01:14.082027 Wrote request (93 bytes) input to log/9/server.input 02:01:14.082043 Identifying ourselves as friends 02:01:14.082144 Response sent (56 bytes) and written to log/9/server.response 02:01:14.082156 special request received, no persistency 02:01:14.082166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 43 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind43 ==76800== ==76800== Process terminating with default action of signal 4 (SIGILL) ==76800== Illegal opcode at address 0x10B08D ==76800== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76800== by 0x10B08D: main (tool_main.c:232) === End of file valgrind43 test 0044...[HTTP RFC1867-type formposting without Expect: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind44 ../src/curl -q --output log/6/curl44.out --include --trace-ascii log/6/trace44 --trace-config all --trace-time http://127.0.0.1:39457/we/want/44 -F name=daniel -F tool=curl -F file=@log/6/test44.txt -H "Expect:" > log/6/stdout44 2> log/6/stderr44 44: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 44 === Start of file http_server.log 02:01:14.168639 ====> Client connect 02:01:14.168682 accept_connection 3 returned 4 02:01:14.168700 accept_connection 3 returned 0 02:01:14.168723 Read 93 bytes 02:01:14.168933 Process 93 bytes request 02:01:14.168949 Got request: GET /verifiedserver HTTP/1.1 02:01:14.168958 Are-we-friendly question received 02:01:14.168985 Wrote request (93 bytes) input to log/6/server.input 02:01:14.169005 Identifying ourselves as friends 02:01:14.169103 Response sent (56 bytes) and written to log/6/server.response 02:01:14.169115 special request received, no persistency 02:01:14.169123 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 44 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file test44.txt foo- This is a moo- bar === End of file test44.txt === Start of file valgrind44 ==76858== ==76858== Process terminating with default action of signal 4 (SIGILL) ==76858== Illegal opcode at address 0x10B08D ==76858== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76858== by 0x10B08D: main (tool_main.c:232) === End of file valgrind44 test 0045...[simple HTTP Location: without protocol in initial URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind45 ../src/curl -q --output log/12/curl45.out --include --trace-ascii log/12/trace45 --trace-config all --trace-time 127.0.0.1:40653/want/45 -L > log/12/stdout45 2> log/12/stderr45 45: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 45 === Start of file http_server.log 02:01:14.303881 ====> Client connect 02:01:14.304085 accept_connection 3 returned 4 02:01:14.304103 accept_connection 3 returned 0 02:01:14.304119 Read 93 bytes 02:01:14.304130 Process 93 bytes request 02:01:14.304146 Got request: GET /verifiedserver HTTP/1.1 02:01:14.304160 Are-we-friendly question received 02:01:14.304182 Wrote request (93 bytes) input to log/12/server.input 02:01:14.304199 Identifying ourselves as friends 02:01:14.304286 Response sent (56 bytes) and written to log/12/server.response 02:01:14.304296 special request received, no persistency 02:01:14.304305 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 45 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind45 ==76934== ==76934== Process terminating with default action of signal 4 (SIGILL) ==76934== Illegal opcode at address 0x10B08D ==76934== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76934== by 0x10B08D: main (tool_main.c:232) === End of file valgrind45 test 0047...[simple HTTP 1.0 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind47 ../src/curl -q --output log/3/curl47.out --include --trace-ascii log/3/trace47 --trace-config all --trace-time http://127.0.0.1:34527/47 -0 > log/3/stdout47 2> log/3/stderr47 47: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 47 === Start of file http_server.log 02:01:14.579692 ====> Client connect 02:01:14.579726 accept_connection 3 returned 4 02:01:14.579743 accept_connection 3 returned 0 02:01:14.595375 Read 93 bytes 02:01:14.595405 Process 93 bytes request 02:01:14.595421 Got request: GET /verifiedserver HTTP/1.1 02:01:14.595432 Are-we-friendly question received 02:01:14.595467 Wrote request (93 bytes) input to log/3/server.input 02:01:14.595490 Identifying ourselves as friends 02:01:14.595588 Response sent (56 bytes) and written to log/3/server.response 02:01:14.595601 special request received, no persistency 02:01:14.595611 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > HosCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind48 ../src/curl -q --output log/4/curl48.out --include --trace-ascii log/4/trace48 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:36813/48 -G -I http://127.0.0.1:36813/48 > log/4/stdout48 2> log/4/stderr48 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind49 ../src/curl -q --output log/5/curl49.out --include --trace-ascii log/5/trace49 --trace-config all --trace-time http://127.0.0.1:33361/we/are/all/twits/49 -L > log/5/stdout49 2> log/5/stderr49 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind50 ../src/curl -q --output log/11/curl50.out --include --trace-ascii log/11/trace50 --trace-config all --trace-time http://127.0.0.1:44137/we/are/all/twits/50 -L > log/11/stdout50 2> log/11/stderr50 t: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 47 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind47 ==77109== ==77109== Process terminating with default action of signal 4 (SIGILL) ==77109== Illegal opcode at address 0x10B08D ==77109== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77109== by 0x10B08D: main (tool_main.c:232) === End of file valgrind47 setenv TZ = GMT test 0046...[HTTP with bad domain name, get cookies and store in cookie jar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind46 ../src/curl -q --output log/1/curl46.out --include --trace-ascii log/1/trace46 --trace-config all --trace-time domain..tld:34215/want/46 --resolve domain..tld:34215:127.0.0.1 -c log/1/jar46 -b log/1/injar46 > log/1/stdout46 2> log/1/stderr46 46: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 46 === Start of file http_server.log 02:01:14.395298 ====> Client connect 02:01:14.395332 accept_connection 3 returned 4 02:01:14.395350 accept_connection 3 returned 0 02:01:14.395363 Read 93 bytes 02:01:14.395374 Process 93 bytes request 02:01:14.395387 Got request: GET /verifiedserver HTTP/1.1 02:01:14.395396 Are-we-friendly question received 02:01:14.395418 Wrote request (93 bytes) input to log/1/server.input 02:01:14.395434 Identifying ourselves as friends 02:01:14.395497 Response sent (56 bytes) and written to log/1/server.response 02:01:14.395507 special request received, no persistency 02:01:14.395516 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file injar46 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This is generated by libcurl! Do not edit. www.fake.come FALSE / FALSE 22147483647 cookiecliente si www.loser.com FALSE / FALSE 22139150993 UID 99 domain..tld FALSE / FALSE 22139150993 mooo indeed #HttpOnly_domain..tld FALSE /want FALSE 22139150993 mooo2 indeed2 domain..tld FALSE /want FALSE 0 empty === End of file injar46 === Start of file server.cmd Testnum 46 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind46 ==76987== ==76987== Process terminating with default action of signal 4 (SIGILL) ==76987== Illegal opcode at address 0x10B08D ==76987== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==76987== by 0x10B08D: main (tool_main.c:232) === End of file valgrind46 test 0048...[HTTP with -d and -G and -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind48 ../src/curl -q --output log/4/curl48.out --include --trace-ascii log/4/trace48 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:36813/48 -G -I http://127.0.0.1:36813/48 > log/4/stdout48 2> log/4/stderr48 48: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 48 === Start of file http_server.log 02:01:14.674657 ====> Client connect 02:01:14.674694 accept_connection 3 returned 4 02:01:14.674714 accept_connection 3 returned 0 02:01:14.674730 Read 93 bytes 02:01:14.674742 Process 93 bytes request 02:01:14.674759 Got request: GET /verifiedserver HTTP/1.1 02:01:14.674769 Are-we-friendly question received 02:01:14.674794 Wrote request (93 bytes) input to log/4/server.input 02:01:14.674813 Identifying ourselves as friends 02:01:14.674886 Response sent (56 bytes) and written to log/4/server.response 02:01:14.674899 special request received, no persistency 02:01:14.674909 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 48 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind48 ==77183== ==77183== Process terminating with default action of signal 4 (SIGILL) ==77183== Illegal opcode at address 0x10B08D ==77183== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77183== by 0x10B08D: main (tool_main.c:232) === End of file valgrind48 test 0049...[HTTP follow redirect with ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind49 ../src/curl -q --output log/5/curl49.out --include --trace-ascii log/5/trace49 --trace-config all --trace-time http://127.0.0.1:33361/we/are/all/twits/49 -L > log/5/stdout49 2> log/5/stderr49 49: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 49 === Start of file http_server.log 02:01:14.705226 ====> Client connect 02:01:14.708663 accept_connection 3 returned 4 02:01:14.718624 accept_connection 3 returned 0 02:01:14.718664 Read 93 bytes 02:01:14.718676 Process 93 bytes request 02:01:14.718691 Got request: GET /verifiedserver HTTP/1.1 02:01:14.718700 Are-we-friendly question received 02:01:14.738053 Wrote request (93 bytes) input to log/5/server.input 02:01:14.741281 Identifying ourselves as friends 02:01:14.746847 Response sent (56 bytes) and written to log/5/server.response 02:01:14.759513 special request received, no persistency 02:01:14.759534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 49 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind49 ==77192== ==77192== Process terminating with default action of signal 4 (SIGILL) ==77192== Illegal opcode at address 0x10B08D ==77192== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77192== by 0x10B08D: main (tool_maiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind41 ../src/curl -q --output log/2/curl41.out --include --trace-ascii log/2/trace41 --trace-config all --trace-time http://127.0.0.1:38781/want/41 -F moo=@boo > log/2/stdout41 2> log/2/stderr41 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind51 ../src/curl -q --output log/7/curl51.out --include --trace-ascii log/7/trace51 --trace-config all --trace-time http://127.0.0.1:43753/we/are/all/twits/51 -L > log/7/stdout51 2> log/7/stderr51 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind52 ../src/curl -q --output log/10/curl52.out --include --trace-ascii log/10/trace52 --trace-config all --trace-time http://127.0.0.1:42929/we/are/all/twits/52 -L > log/10/stdout52 2> log/10/stderr52 n.c:232) === End of file valgrind49 test 0050...[HTTP follow redirect with ../../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind50 ../src/curl -q --output log/11/curl50.out --include --trace-ascii log/11/trace50 --trace-config all --trace-time http://127.0.0.1:44137/we/are/all/twits/50 -L > log/11/stdout50 2> log/11/stderr50 50: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 50 === Start of file http_server.log 02:01:14.881986 ====> Client connect 02:01:14.888666 accept_connection 3 returned 4 02:01:14.890867 accept_connection 3 returned 0 02:01:14.890907 Read 93 bytes 02:01:14.890919 Process 93 bytes request 02:01:14.890936 Got request: GET /verifiedserver HTTP/1.1 02:01:14.890946 Are-we-friendly question received 02:01:14.895339 Wrote request (93 bytes) input to log/11/server.input 02:01:14.899033 Identifying ourselves as friends 02:01:14.899169 Response sent (56 bytes) and written to log/11/server.response 02:01:14.899183 special request received, no persistency 02:01:14.899193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 50 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind50 ==77279== ==77279== Process terminating with default action of signal 4 (SIGILL) ==77279== Illegal opcode at address 0x10B08D ==77279== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77279== by 0x10B08D: main (tool_main.c:232) === End of file valgrind50 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_server.pid" --logfile "log/2/http_server.log" --logdir "log/2" --portfile log/2/server/http_server.port --config log/2/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/2/http_verify.out --silent --verbose --globoff "http://127.0.0.1:38781/verifiedserver" 2>log/2/http_verify.log RUN: HTTP server is on PID 76727 port 38781 * pid http => 76727 76727 test 0041...[HTTP formpost with missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind41 ../src/curl -q --output log/2/curl41.out --include --trace-ascii log/2/trace41 --trace-config all --trace-time http://127.0.0.1:38781/want/41 -F moo=@boo > log/2/stdout41 2> log/2/stderr41 curl returned 132, when expecting 26 41: exit FAILED == Contents of files in the log/2/ dir after test 41 === Start of file http_server.log 02:01:13.909984 Running HTTP IPv4 version on port 38781 02:01:13.910073 Wrote pid 76727 to log/2/server/http_server.pid 02:01:13.910106 Wrote port 38781 to log/2/server/http_server.port 02:01:14.947178 ====> Client connect 02:01:14.947200 accept_connection 3 returned 4 02:01:14.947214 accept_connection 3 returned 0 02:01:14.947229 Read 93 bytes 02:01:14.947242 Process 93 bytes request 02:01:14.947264 Got request: GET /verifiedserver HTTP/1.1 02:01:14.947274 Are-we-friendly question received 02:01:14.947325 Wrote request (93 bytes) input to log/2/server.input 02:01:14.947351 Identifying ourselves as friends 02:01:14.947428 Response sent (56 bytes) and written to log/2/server.response 02:01:14.947440 special request received, no persistency 02:01:14.947450 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 41 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind41 ==77296== ==77296== Process terminating with default action of signal 4 (SIGILL) ==77296== Illegal opcode at address 0x10B08D ==77296== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77296== by 0x10B08D: main (tool_main.c:232) === End of file valgrind41 test 0051...[HTTP follow redirect with excessive ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind51 ../src/curl -q --output log/7/curl51.out --include --trace-ascii log/7/trace51 --trace-config all --trace-time http://127.0.0.1:43753/we/are/all/twits/51 -L > log/7/stdout51 2> log/7/stderr51 51: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 51 === Start of file http_server.log 02:01:14.949079 ====> Client connect 02:01:14.950530 accept_connection 3 returned 4 02:01:14.950553 accept_connection 3 returned 0 02:01:14.950567 Read 93 bytes 02:01:14.950578 Process 93 bytes request 02:01:14.950591 Got request: GET /verifiedserver HTTP/1.1 02:01:14.950600 Are-we-friendly question received 02:01:14.950624 Wrote request (93 bytes) input to log/7/server.input 02:01:14.950641 Identifying ourselves as friends 02:01:14.950714 Response sent (56 bytes) and written to log/7/server.response 02:01:14.950726 special request received, no persistency 02:01:14.950735 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 51 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind51 ==77297== ==77297== Process terminating with default action of signal 4 (SIGILL) ==77297== Illegal opcode at address 0x10B08D ==77297== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77297== by 0x10B08D: main (tool_main.c:232) === End of file valgrind51 test 0052...[HTTP follow redirect with ./-prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind52 ../src/curl -q --output log/10/curl52.out --include --trace-ascii log/10/trace52 --trace-config all --trace-time http://127.0.0.1:42929/we/are/all/twits/52 -L > log/10/stdout52 2> log/10/stderr52 52: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 52 === Start of file http_serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind54 ../src/curl -q --output log/9/curl54.out --include --trace-ascii log/9/trace54 --trace-config all --trace-time http://127.0.0.1:38509/want/54 -L > log/9/stdout54 2> log/9/stderr54 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind53 ../src/curl -q --output log/8/curl53.out --include --trace-ascii log/8/trace53 --trace-config all --trace-time 127.0.0.1:43803/want/53 -b log/8/injar53 -j > log/8/stdout53 2> log/8/stderr53 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind56 ../src/curl -q --output log/12/curl56.out --include --trace-ascii log/12/trace56 --trace-config all --trace-time -K - 127.0.0.1:40653/that.site.com/56 log/12/stdout56 2> log/12/stderr56 r.log 02:01:15.014557 ====> Client connect 02:01:15.014594 accept_connection 3 returned 4 02:01:15.014615 accept_connection 3 returned 0 02:01:15.015443 Read 93 bytes 02:01:15.015464 Process 93 bytes request 02:01:15.016230 Got request: GET /verifiedserver HTTP/1.1 02:01:15.016250 Are-we-friendly question received 02:01:15.016282 Wrote request (93 bytes) input to log/10/server.input 02:01:15.016302 Identifying ourselves as friends 02:01:15.017430 Response sent (56 bytes) and written to log/10/server.response 02:01:15.017449 special request received, no persistency 02:01:15.017460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 52 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind52 ==77390== ==77390== Process terminating with default action of signal 4 (SIGILL) ==77390== Illegal opcode at address 0x10B08D ==77390== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77390== by 0x10B08D: main (tool_main.c:232) === End of file valgrind52 test 0054...[HTTP with blank Location:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind54 ../src/curl -q --output log/9/curl54.out --include --trace-ascii log/9/trace54 --trace-config all --trace-time http://127.0.0.1:38509/want/54 -L > log/9/stdout54 2> log/9/stderr54 54: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 54 === Start of file http_server.log 02:01:15.152269 ====> Client connect 02:01:15.152311 accept_connection 3 returned 4 02:01:15.152329 accept_connection 3 returned 0 02:01:15.152343 Read 93 bytes 02:01:15.152354 Process 93 bytes request 02:01:15.152369 Got request: GET /verifiedserver HTTP/1.1 02:01:15.152379 Are-we-friendly question received 02:01:15.152401 Wrote request (93 bytes) input to log/9/server.input 02:01:15.152418 Identifying ourselves as friends 02:01:15.152488 Response sent (56 bytes) and written to log/9/server.response 02:01:15.152501 special request received, no persistency 02:01:15.152511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 54 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind54 ==77539== ==77539== Process terminating with default action of signal 4 (SIGILL) ==77539== Illegal opcode at address 0x10B08D ==77539== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77539== by 0x10B08D: main (tool_main.c:232) === End of file valgrind54 test 0053...[HTTP, junk session cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind53 ../src/curl -q --output log/8/curl53.out --include --trace-ascii log/8/trace53 --trace-config all --trace-time 127.0.0.1:43803/want/53 -b log/8/injar53 -j > log/8/stdout53 2> log/8/stderr53 53: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 53 === Start of file http_server.log 02:01:15.136776 ====> Client connect 02:01:15.136808 accept_connection 3 returned 4 02:01:15.136824 accept_connection 3 returned 0 02:01:15.136839 Read 93 bytes 02:01:15.136850 Process 93 bytes request 02:01:15.136864 Got request: GET /verifiedserver HTTP/1.1 02:01:15.136874 Are-we-friendly question received 02:01:15.136901 Wrote request (93 bytes) input to log/8/server.input 02:01:15.136918 Identifying ourselves as friends 02:01:15.136982 Response sent (56 bytes) and written to log/8/server.response 02:01:15.136993 special request received, no persistency 02:01:15.137002 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file injar53 127.0.0.1 FALSE / FALSE 22139150993 mooo indeed 127.0.0.1 FALSE / FALSE 0 moo1 indeed 127.0.0.1 FALSE / FALSE 1 moo2 indeed === End of file injar53 === Start of file server.cmd Testnum 53 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind53 ==77559== ==77559== Process terminating with default action of signal 4 (SIGILL) ==77559== Illegal opcode at address 0x10B08D ==77559== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77559== by 0x10B08D: main (tool_main.c:232) === End of file valgrind53 test 0056...[HTTP POST with *HUGE* request and chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind56 ../src/curl -q --output log/12/curl56.out --include --trace-ascii log/12/trace56 --trace-config all --trace-time -K - 127.0.0.1:40653/that.site.com/56 log/12/stdout56 2> log/12/stderr56 56: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 56 === Start of file http_server.log 02:01:15.688333 ====> Client connect 02:01:15.688366 accept_connection 3 returned 4 02:01:15.688383 accept_connection 3 returned 0 02:01:15.688557 Read 93 bytes 02:01:15.688570 Process 93 bytes request 02:01:15.688585 Got request: GET /verifiedserver HTTP/1.1 02:01:15.688594 Are-we-friendly question received 02:01:15.688619 Wrote request (93 bytes) input to log/12/server.input 02:01:15.688637 Identifying ourselves as friends 02:01:15.688702 Response sent (56 bytes) and written to log/12/server.response 02:01:15.688713 special request received, no persistency 02:01:15.688722 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 56 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stdin-for-56 # data "we post this" # # enforce chunky post header "Transfer-Encoding: chunked" # # Set the user-agent using a short-option: -A "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind55 ../src/curl -q --output log/6/curl55.out --include --trace-ascii log/6/trace55 --trace-config all --trace-time http://127.0.0.1:39457/55 -L > log/6/stdout55 2> log/6/stderr55 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind57 ../src/curl -q --include --trace-ascii log/3/trace57 --trace-config all --trace-time -w "%{content_type}\n" http://127.0.0.1:34527/57 -o log/3/out57 > log/3/stdout57 2> log/3/stderr57 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # === End of file stdin-for-56 === Start of file valgrind56 ==77698== ==77698== Process terminating with default action of signal 4 (SIGILL) ==77698== Illegal opcode at address 0x10B08D ==77698== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77698== by 0x10B08D: main (tool_main.c:232) === End of file valgrind56 test 0055...[HTTP follow redirect with single slash in path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind55 ../src/curl -q --output log/6/curl55.out --include --trace-ascii log/6/trace55 --trace-config all --trace-time http://127.0.0.1:39457/55 -L > log/6/stdout55 2> log/6/stderr55 55: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 55 === Start of file http_server.log 02:01:15.671905 ====> Client connect 02:01:15.671949 accept_connection 3 returned 4 02:01:15.671966 accept_connection 3 returned 0 02:01:15.671983 Read 93 bytes 02:01:15.671994 Process 93 bytes request 02:01:15.672010 Got request: GET /verifiedserver HTTP/1.1 02:01:15.672019 Are-we-friendly question received 02:01:15.672044 Wrote request (93 bytes) input to log/6/server.input 02:01:15.672062 Identifying ourselves as friends 02:01:15.672165 Response sent (56 bytes) and written to log/6/server.response 02:01:15.672176 special request received, no persistency 02:01:15.672186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 55 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind55 ==77695== ==77695== Process terminating with default action of signal 4 (SIGILL) ==77695== Illegal opcode at address 0x10B08D ==77695== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77695== by 0x10B08D: main (tool_main.c:232) === End of file valgrind55 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind58 ../src/curl -q --output log/1/curl58.out --include --trace-ascii log/1/trace58 --trace-config all --trace-time http://127.0.0.1:34215/we/want/ -T log/1/58te[]st.txt -g > log/1/stdout58 2> log/1/stderr58 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind62 ../src/curl -q --output log/2/curl62.out --include --trace-ascii log/2/trace62 --trace-config all --trace-time http://127.0.0.1:38781/we/want/62 http://127.0.0.1:38781/we/want/62?hoge=fuga -b log/2/jar62.txt -H "Host: www.host.foo.com" > log/2/stdout62 2> log/2/stderr62 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind60 ../src/curl -q --output log/5/curl60.out --include --trace-ascii log/5/trace60 --trace-config all --trace-time http://127.0.0.1:33361/bzz/60 -T - -H "Content-Length: 1" log/5/stdout60 2> log/5/stderr60 test 0057...[HTTP content-type with spaces in] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind57 ../src/curl -q --include --trace-ascii log/3/trace57 --trace-config all --trace-time -w "%{content_type}\n" http://127.0.0.1:34527/57 -o log/3/out57 > log/3/stdout57 2> log/3/stderr57 57: stdout FAILED: --- log/3/check-expected 2024-12-15 02:01:16.824701552 +0000 +++ log/3/check-generated 2024-12-15 02:01:16.824701552 +0000 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/3/ dir after test 57 === Start of file check-expected text/html; charset=ISO-8859-4[CR][LF] === End of file check-expected === Start of file http_server.log 02:01:15.959540 ====> Client connect 02:01:15.959575 accept_connection 3 returned 4 02:01:15.959595 accept_connection 3 returned 0 02:01:15.959611 Read 93 bytes 02:01:15.959622 Process 93 bytes request 02:01:15.959637 Got request: GET /verifiedserver HTTP/1.1 02:01:15.959649 Are-we-friendly question received 02:01:15.959679 Wrote request (93 bytes) input to log/3/server.input 02:01:15.959700 Identifying ourselves as friends 02:01:15.959770 Response sent (56 bytes) and written to log/3/server.response 02:01:15.959782 special request received, no persistency 02:01:15.959792 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 57 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind57 ==77821== ==77821== Process terminating with default action of signal 4 (SIGILL) ==77821== Illegal opcode at address 0x10B08D ==77821== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77821== by 0x10B08D: main (tool_main.c:232) === End of file valgrind57 test 0058...[HTTP PUT from file with weird letters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind58 ../src/curl -q --output log/1/curl58.out --include --trace-ascii log/1/trace58 --trace-config all --trace-time http://127.0.0.1:34215/we/want/ -T log/1/58te[]st.txt -g > log/1/stdout58 2> log/1/stderr58 58: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 58 === Start of file 58te[]st.txt a few bytes === End of file 58te[]st.txt === Start of file http_server.log 02:01:15.975653 ====> Client connect 02:01:15.975691 accept_connection 3 returned 4 02:01:15.975708 accept_connection 3 returned 0 02:01:15.975723 Read 93 bytes 02:01:15.975734 Process 93 bytes request 02:01:15.975749 Got request: GET /verifiedserver HTTP/1.1 02:01:15.975759 Are-we-friendly question received 02:01:15.975783 Wrote request (93 bytes) input to log/1/server.input 02:01:15.975800 Identifying ourselves as friends 02:01:15.975866 Response sent (56 bytes) and written to log/1/server.response 02:01:15.975876 special request received, no persistency 02:01:15.975886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 58 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind58 ==77827== ==77827== Process terminating with default action of signal 4 (SIGILL) ==77827== Illegal opcode at address 0x10B08D ==77827== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77827== by 0x10B08D: main (tool_main.c:232) === End of file valgrind58 test 0062...[HTTP, send cookies when using custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind62 ../src/curl -q --output log/2/curl62.out --include --trace-ascii log/2/trace62 --trace-config all --trace-time http://127.0.0.1:38781/we/want/62 http://127.0.0.1:38781/we/want/62?hoge=fuga -b log/2/jar62.txt -H "Host: www.host.foo.com" > log/2/stdout62 2> log/2/stderr62 62: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 62 === Start of file http_server.log 02:01:16.160162 ====> Client connect 02:01:16.160197 accept_connection 3 returned 4 02:01:16.160214 accept_connection 3 returned 0 02:01:16.160230 Read 93 bytes 02:01:16.160241 Process 93 bytes request 02:01:16.160255 Got request: GET /verifiedserver HTTP/1.1 02:01:16.160265 Are-we-friendly question received 02:01:16.160288 Wrote request (93 bytes) input to log/2/server.input 02:01:16.160305 Identifying ourselves as friends 02:01:16.160506 Response sent (56 bytes) and written to log/2/server.response 02:01:16.160518 special request received, no persistency 02:01:16.160529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file jar62.txt # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. #HttpOnly_.foo.com TRUE /we/want/ FALSE 22147483647 test yes .host.foo.com TRUE /we/want/ FALSE 22147483647 test2 yes .fake.host.foo.com TRUE /we/want/ FALSE 22147483647 test4 yes .foo.com TRUE /moo TRUE 0 test3 maybe === End of file jar62.txt === Start of file server.cmd Testnum 62 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind62 ==77977== ==77977== Process terminating with default action of signal 4 (SIGILL) ==77977== Illegal opcode at address 0x10B08D ==77977== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77977== by 0x10B08D: main (tool_main.c:232) === End of file valgrind62 test 0060...[HTTP PUT from stdin with wrong content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind60 ../src/curl -q --output log/5/curl60.out --include --trace-ascii log/5/trace60 --trace-config all --trace-time http://127.0.0.1:33361/bzz/60 -T - -H "Content-Length: 1" log/5/stdout60 2> log/5/stderr60 60: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == CoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind61 ../src/curl -q --output log/11/curl61.out --include --trace-ascii log/11/trace61 --trace-config all --trace-time http://127.0.0.1:44137/we/want/61 -c log/11/jar61.txt -H "Host: www.host.foo.com" > log/11/stdout61 2> log/11/stderr61 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind59 ../src/curl -q --output log/4/curl59.out --include --trace-ascii log/4/trace59 --trace-config all --trace-time "http://127.0.0.1:36813?mooo/59" > log/4/stdout59 2> log/4/stderr59 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind63 ../src/curl -q --output log/7/curl63.out --include --trace-ascii log/7/trace63 --trace-config all --trace-time http://we.want.that.site.com/63 > log/7/stdout63 2> log/7/stderr63 ntents of files in the log/5/ dir after test 60 === Start of file http_server.log 02:01:16.154145 ====> Client connect 02:01:16.154179 accept_connection 3 returned 4 02:01:16.154197 accept_connection 3 returned 0 02:01:16.154213 Read 93 bytes 02:01:16.154224 Process 93 bytes request 02:01:16.154240 Got request: GET /verifiedserver HTTP/1.1 02:01:16.154250 Are-we-friendly question received 02:01:16.154273 Wrote request (93 bytes) input to log/5/server.input 02:01:16.154292 Identifying ourselves as friends 02:01:16.154367 Response sent (56 bytes) and written to log/5/server.response 02:01:16.154381 special request received, no persistency 02:01:16.154391 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 60 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file stdin-for-60 more than one byte === End of file stdin-for-60 === Start of file valgrind60 ==77969== ==77969== Process terminating with default action of signal 4 (SIGILL) ==77969== Illegal opcode at address 0x10B08D ==77969== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77969== by 0x10B08D: main (tool_main.c:232) === End of file valgrind60 setenv TZ = GMT test 0061...[HTTP with various cookies and custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind61 ../src/curl -q --output log/11/curl61.out --include --trace-ascii log/11/trace61 --trace-config all --trace-time http://127.0.0.1:44137/we/want/61 -c log/11/jar61.txt -H "Host: www.host.foo.com" > log/11/stdout61 2> log/11/stderr61 61: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 61 === Start of file http_server.log 02:01:16.181353 ====> Client connect 02:01:16.181395 accept_connection 3 returned 4 02:01:16.181413 accept_connection 3 returned 0 02:01:16.181428 Read 93 bytes 02:01:16.181439 Process 93 bytes request 02:01:16.181454 Got request: GET /verifiedserver HTTP/1.1 02:01:16.181463 Are-we-friendly question received 02:01:16.181486 Wrote request (93 bytes) input to log/11/server.input 02:01:16.181503 Identifying ourselves as friends 02:01:16.181568 Response sent (56 bytes) and written to log/11/server.response 02:01:16.181580 special request received, no persistency 02:01:16.181590 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 61 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind61 ==77996== ==77996== Process terminating with default action of signal 4 (SIGILL) ==77996== Illegal opcode at address 0x10B08D ==77996== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77996== by 0x10B08D: main (tool_main.c:232) === End of file valgrind61 test 0059...[HTTP URL with slash but with "parameter"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind59 ../src/curl -q --output log/4/curl59.out --include --trace-ascii log/4/trace59 --trace-config all --trace-time "http://127.0.0.1:36813?mooo/59" > log/4/stdout59 2> log/4/stderr59 59: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 59 === Start of file http_server.log 02:01:16.113859 ====> Client connect 02:01:16.113894 accept_connection 3 returned 4 02:01:16.113913 accept_connection 3 returned 0 02:01:16.113929 Read 93 bytes 02:01:16.113941 Process 93 bytes request 02:01:16.113974 Got request: GET /verifiedserver HTTP/1.1 02:01:16.113984 Are-we-friendly question received 02:01:16.114009 Wrote request (93 bytes) input to log/4/server.input 02:01:16.114028 Identifying ourselves as friends 02:01:16.114103 Response sent (56 bytes) and written to log/4/server.response 02:01:16.114116 special request received, no persistency 02:01:16.114126 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 59 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind59 ==77956== ==77956== Process terminating with default action of signal 4 (SIGILL) ==77956== Illegal opcode at address 0x10B08D ==77956== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==77956== by 0x10B08D: main (tool_main.c:232) === End of file valgrind59 setenv http_proxy = http://fake:user@127.0.0.1:43753/ test 0063...[HTTP with proxy authorization set in environment] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind63 ../src/curl -q --output log/7/curl63.out --include --trace-ascii log/7/trace63 --trace-config all --trace-time http://we.want.that.site.com/63 > log/7/stdout63 2> log/7/stderr63 63: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 63 === Start of file http_server.log 02:01:16.311891 ====> Client connect 02:01:16.311930 accept_connection 3 returned 4 02:01:16.311953 accept_connection 3 returned 0 02:01:16.311970 Read 93 bytes 02:01:16.311981 Process 93 bytes request 02:01:16.311996 Got request: GET /verifiedserver HTTP/1.1 02:01:16.312006 Are-we-friendly question received 02:01:16.312034 Wrote request (93 bytes) input to log/7/server.input 02:01:16.312052 Identifying ourselves as friends 02:01:16.312140 Response sent (56 bytes) and written to log/7/server.response 02:01:16.312152 special request received, no persistency 02:01:16.312161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind64 ../src/curl -q --output log/10/curl64.out --include --trace-ascii log/10/trace64 --trace-config all --trace-time http://127.0.0.1:42929/64 -u testuser:testpass --digest > log/10/stdout64 2> log/10/stderr64 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind66 ../src/curl -q --output log/8/curl66.out --include --trace-ascii log/8/trace66 --trace-config all --trace-time http://127.0.0.1:43803/66 --http0.9 > log/8/stdout66 2> log/8/stderr66 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind65 ../src/curl -q --output log/9/curl65.out --include --trace-ascii log/9/trace65 --trace-config all --trace-time http://127.0.0.1:38509/65 -u testuser:test2pass --digest > log/9/stdout65 2> log/9/stderr65 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind67 ../src/curl -q --output log/12/curl67.out --include --trace-ascii log/12/trace67 --trace-config all --trace-time http://127.0.0.1:40653/67 -u testuser:testpass --ntlm > log/12/stdout67 2> log/12/stderr67 LZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 63 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind63 ==78165== ==78165== Process terminating with default action of signal 4 (SIGILL) ==78165== Illegal opcode at address 0x10B08D ==78165== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78165== by 0x10B08D: main (tool_main.c:232) === End of file valgrind63 test 0064...[HTTP with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind64 ../src/curl -q --output log/10/curl64.out --include --trace-ascii log/10/trace64 --trace-config all --trace-time http://127.0.0.1:42929/64 -u testuser:testpass --digest > log/10/stdout64 2> log/10/stderr64 64: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 64 === Start of file http_server.log 02:01:16.296881 ====> Client connect 02:01:16.296920 accept_connection 3 returned 4 02:01:16.296940 accept_connection 3 returned 0 02:01:16.296958 Read 93 bytes 02:01:16.296969 Process 93 bytes request 02:01:16.296986 Got request: GET /verifiedserver HTTP/1.1 02:01:16.296999 Are-we-friendly question received 02:01:16.297023 Wrote request (93 bytes) input to log/10/server.input 02:01:16.297041 Identifying ourselves as friends 02:01:16.297109 Response sent (56 bytes) and written to log/10/server.response 02:01:16.297121 special request received, no persistency 02:01:16.297130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 64 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind64 ==78155== ==78155== Process terminating with default action of signal 4 (SIGILL) ==78155== Illegal opcode at address 0x10B08D ==78155== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78155== by 0x10B08D: main (tool_main.c:232) === End of file valgrind64 test 0066...[HTTP GET without headers in the response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind66 ../src/curl -q --output log/8/curl66.out --include --trace-ascii log/8/trace66 --trace-config all --trace-time http://127.0.0.1:43803/66 --http0.9 > log/8/stdout66 2> log/8/stderr66 66: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 66 === Start of file http_server.log 02:01:16.447840 ====> Client connect 02:01:16.447881 accept_connection 3 returned 4 02:01:16.447898 accept_connection 3 returned 0 02:01:16.447914 Read 93 bytes 02:01:16.447924 Process 93 bytes request 02:01:16.447936 Got request: GET /verifiedserver HTTP/1.1 02:01:16.447945 Are-we-friendly question received 02:01:16.447966 Wrote request (93 bytes) input to log/8/server.input 02:01:16.447983 Identifying ourselves as friends 02:01:16.448081 Response sent (56 bytes) and written to log/8/server.response 02:01:16.448092 special request received, no persistency 02:01:16.448101 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 66 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind66 ==78325== ==78325== Process terminating with default action of signal 4 (SIGILL) ==78325== Illegal opcode at address 0x10B08D ==78325== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78325== by 0x10B08D: main (tool_main.c:232) === End of file valgrind66 test 0065...[HTTP with Digest authorization with bad password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind65 ../src/curl -q --output log/9/curl65.out --include --trace-ascii log/9/trace65 --trace-config all --trace-time http://127.0.0.1:38509/65 -u testuser:test2pass --digest > log/9/stdout65 2> log/9/stderr65 65: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 65 === Start of file http_server.log 02:01:16.419743 ====> Client connect 02:01:16.419778 accept_connection 3 returned 4 02:01:16.419796 accept_connection 3 returned 0 02:01:16.419813 Read 93 bytes 02:01:16.419825 Process 93 bytes request 02:01:16.419840 Got request: GET /verifiedserver HTTP/1.1 02:01:16.419850 Are-we-friendly question received 02:01:16.419874 Wrote request (93 bytes) input to log/9/server.input 02:01:16.419895 Identifying ourselves as friends 02:01:16.419970 Response sent (56 bytes) and written to log/9/server.response 02:01:16.419982 special request received, no persistency 02:01:16.419992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 65 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind65 ==78312== ==78312== Process terminating with default action of signal 4 (SIGILL) ==78312== Illegal opcode at address 0x10B08D ==78312== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78312== by 0x10B08D: main (tool_main.c:232) === End of file valgrind65 test 0067...[HTTP with NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind67 ../src/curl -q --output log/12/curl67.out --include --trace-ascii log/12/trace67 --trace-config all --trace-time http://127.0.0.1:40653/67 -u testuser:testpass --ntlm > log/12/stdout67 2> log/12/stderr67 67: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 67 === Start of file http_server.log 02:01:16.783603 ====> Client connect 02:01:16.783637 accept_connection 3 returned 4 02:01:16.783653 accept_connectiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind68 ../src/curl -q --output log/6/curl68.out --include --trace-ascii log/6/trace68 --trace-config all --trace-time http://127.0.0.1:39457/68 -u testuser:testpass --ntlm > log/6/stdout68 2> log/6/stderr68 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind69 ../src/curl -q --output log/3/curl69.out --include --trace-ascii log/3/trace69 --trace-config all --trace-time http://127.0.0.1:34527/69 -u testuser:testpass --anyauth > log/3/stdout69 2> log/3/stderr69 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind71 ../src/curl -q --output log/2/curl71.out --include --trace-ascii log/2/trace71 --trace-config all --trace-time http://127.0.0.1:38781/we/want/71 -K - log/2/stdout71 2> log/2/stderr71 on 3 returned 0 02:01:16.783668 Read 93 bytes 02:01:16.783678 Process 93 bytes request 02:01:16.783693 Got request: GET /verifiedserver HTTP/1.1 02:01:16.783702 Are-we-friendly question received 02:01:16.783724 Wrote request (93 bytes) input to log/12/server.input 02:01:16.783742 Identifying ourselves as friends 02:01:16.783807 Response sent (56 bytes) and written to log/12/server.response 02:01:16.783818 special request received, no persistency 02:01:16.783828 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 67 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind67 ==78477== ==78477== Process terminating with default action of signal 4 (SIGILL) ==78477== Illegal opcode at address 0x10B08D ==78477== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78477== by 0x10B08D: main (tool_main.c:232) === End of file valgrind67 test 0068...[HTTP with NTLM authorization and wrong password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind68 ../src/curl -q --output log/6/curl68.out --include --trace-ascii log/6/trace68 --trace-config all --trace-time http://127.0.0.1:39457/68 -u testuser:testpass --ntlm > log/6/stdout68 2> log/6/stderr68 68: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 68 === Start of file http_server.log 02:01:16.848561 ====> Client connect 02:01:16.848604 accept_connection 3 returned 4 02:01:16.848623 accept_connection 3 returned 0 02:01:16.848640 Read 93 bytes 02:01:16.848652 Process 93 bytes request 02:01:16.848667 Got request: GET /verifiedserver HTTP/1.1 02:01:16.848677 Are-we-friendly question received 02:01:16.848705 Wrote request (93 bytes) input to log/6/server.input 02:01:16.848723 Identifying ourselves as friends 02:01:16.848810 Response sent (56 bytes) and written to log/6/server.response 02:01:16.848823 special request received, no persistency 02:01:16.848833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 68 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind68 ==78492== ==78492== Process terminating with default action of signal 4 (SIGILL) ==78492== Illegal opcode at address 0x10B08D ==78492== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78492== by 0x10B08D: main (tool_main.c:232) === End of file valgrind68 test 0069...[HTTP with NTLM, Basic or Wild-and-crazy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind69 ../src/curl -q --output log/3/curl69.out --include --trace-ascii log/3/trace69 --trace-config all --trace-time http://127.0.0.1:34527/69 -u testuser:testpass --anyauth > log/3/stdout69 2> log/3/stderr69 69: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 69 === Start of file http_server.log 02:01:17.148061 ====> Client connect 02:01:17.148097 accept_connection 3 returned 4 02:01:17.148114 accept_connection 3 returned 0 02:01:17.148236 Read 93 bytes 02:01:17.148248 Process 93 bytes request 02:01:17.148263 Got request: GET /verifiedserver HTTP/1.1 02:01:17.148272 Are-we-friendly question received 02:01:17.148297 Wrote request (93 bytes) input to log/3/server.input 02:01:17.148315 Identifying ourselves as friends 02:01:17.148380 Response sent (56 bytes) and written to log/3/server.response 02:01:17.148391 special request received, no persistency 02:01:17.148401 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 69 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind69 ==78598== ==78598== Process terminating with default action of signal 4 (SIGILL) ==78598== Illegal opcode at address 0x10B08D ==78598== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78598== by 0x10B08D: main (tool_main.c:232) === End of file valgrind69 test 0071...[HTTP and -F upload in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind71 ../src/curl -q --output log/2/curl71.out --include --trace-ascii log/2/trace71 --trace-config all --trace-time http://127.0.0.1:38781/we/want/71 -K - log/2/stdout71 2> log/2/stderr71 71: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 71 === Start of file http_server.log 02:01:17.339905 ====> Client connect 02:01:17.339945 accept_connection 3 returned 4 02:01:17.339962 accept_connection 3 returned 0 02:01:17.339977 Read 93 bytes 02:01:17.339988 Process 93 bytes request 02:01:17.340003 Got request: GET /verifiedserver HTTP/1.1 02:01:17.340012 Are-we-friendly question received 02:01:17.340035 Wrote request (93 bytes) input to log/2/server.input 02:01:17.340052 Identifying ourselves as friends 02:01:17.340124 Response sent (56 bytes) and written to log/2/server.response 02:01:17.340136 special request received, no persistency 02:01:17.340145 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 71 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind70 ../src/curl -q --output log/1/curl70.out --include --trace-ascii log/1/trace70 --trace-config all --trace-time http://127.0.0.1:34215/70 -u testuser:testpass --anyauth > log/1/stdout70 2> log/1/stderr70 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind73 ../src/curl -q --output log/11/curl73.out --include --trace-ascii log/11/trace73 --trace-config all --trace-time http://127.0.0.1:44137/we/want/73 -c log/11/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/11/stdout73 2> log/11/stderr73 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind75 ../src/curl -q --include --trace-ascii log/7/trace75 --trace-config all --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/7/weee#1.dump" --stderr - > log/7/stdout75 2> log/7/stderr75 @log/2/test71.txt user-agent = "" === End of file stdin-for-71 === Start of file test71.txt foo- This is a moo- bar === End of file test71.txt === Start of file valgrind71 ==78725== ==78725== Process terminating with default action of signal 4 (SIGILL) ==78725== Illegal opcode at address 0x10B08D ==78725== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78725== by 0x10B08D: main (tool_main.c:232) === End of file valgrind71 test 0070...[HTTP with Digest *OR* NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind70 ../src/curl -q --output log/1/curl70.out --include --trace-ascii log/1/trace70 --trace-config all --trace-time http://127.0.0.1:34215/70 -u testuser:testpass --anyauth > log/1/stdout70 2> log/1/stderr70 70: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 70 === Start of file http_server.log 02:01:17.259584 ====> Client connect 02:01:17.259620 accept_connection 3 returned 4 02:01:17.259637 accept_connection 3 returned 0 02:01:17.259651 Read 93 bytes 02:01:17.259662 Process 93 bytes request 02:01:17.259677 Got request: GET /verifiedserver HTTP/1.1 02:01:17.259686 Are-we-friendly question received 02:01:17.259710 Wrote request (93 bytes) input to log/1/server.input 02:01:17.259727 Identifying ourselves as friends 02:01:17.259793 Response sent (56 bytes) and written to log/1/server.response 02:01:17.259804 special request received, no persistency 02:01:17.259813 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 70 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind70 ==78645== ==78645== Process terminating with default action of signal 4 (SIGILL) ==78645== Illegal opcode at address 0x10B08D ==78645== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78645== by 0x10B08D: main (tool_main.c:232) === End of file valgrind70 test 0073...[HTTP, receive cookies when using custom Host:, domain using only two dots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind73 ../src/curl -q --output log/11/curl73.out --include --trace-ascii log/11/trace73 --trace-config all --trace-time http://127.0.0.1:44137/we/want/73 -c log/11/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/11/stdout73 2> log/11/stderr73 73: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 73 === Start of file http_server.log 02:01:17.357871 ====> Client connect 02:01:17.357907 accept_connection 3 returned 4 02:01:17.357925 accept_connection 3 returned 0 02:01:17.357940 Read 93 bytes 02:01:17.357951 Process 93 bytes request 02:01:17.357966 Got request: GET /verifiedserver HTTP/1.1 02:01:17.357976 Are-we-friendly question received 02:01:17.358000 Wrote request (93 bytes) input to log/11/server.input 02:01:17.358018 Identifying ourselves as friends 02:01:17.358100 Response sent (56 bytes) and written to log/11/server.response 02:01:17.358111 special request received, no persistency 02:01:17.358121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 73 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind73 ==78733== ==78733== Process terminating with default action of signal 4 (SIGILL) ==78733== Illegal opcode at address 0x10B08D ==78733== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78733== by 0x10B08D: main (tool_main.c:232) === End of file valgrind73 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind74 ../src/curl -q --include --trace-ascii log/4/trace74 --trace-config all --trace-time "http://127.0.0.1:36813/{74,740001}" -o "log/4/dumpit#1.dump" > log/4/stdout74 2> log/4/stderr74 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind72 ../src/curl -q --output log/5/curl72.out --include --trace-ascii log/5/trace72 --trace-config all --trace-time http://127.0.0.1:33361/72 -u testuser:testpass --anyauth > log/5/stdout72 2> log/5/stderr72 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind77 ../src/curl -q --output log/10/curl77.out --include --trace-ascii log/10/trace77 --trace-config all --trace-time http://127.0.0.1:42929/77 -z "dec 12 12:00:00 1999 GMT" > log/10/stdout77 2> log/10/stderr77 * starts no server test 0075...[HTTP, urlglob retrieval with bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind75 ../src/curl -q --include --trace-ascii log/7/trace75 --trace-config all --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/7/weee#1.dump" --stderr - > log/7/stdout75 2> log/7/stderr75 75: stdout FAILED: --- log/7/check-expected 2024-12-15 02:01:18.324728673 +0000 +++ log/7/check-generated 2024-12-15 02:01:18.324728673 +0000 @@ -1,3 +0,0 @@ -curl: (3) bad range in URL position 47:[CR][LF] -http://a-site-never-accessed.example.org/[2-1][CR][LF] - ^[CR][LF] == Contents of files in the log/7/ dir after test 75 === Start of file check-expected curl: (3) bad range in URL position 47:[CR][LF] http://a-site-never-accessed.example.org/[2-1][CR][LF] ^[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 ==78900== ==78900== Process terminating with default action of signal 4 (SIGILL) ==78900== Illegal opcode at address 0x10B08D ==78900== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78900== by 0x10B08D: main (tool_main.c:232) === End of file valgrind75 test 0074...[HTTP, urlglob {}-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind74 ../src/curl -q --include --trace-ascii log/4/trace74 --trace-config all --trace-time "http://127.0.0.1:36813/{74,740001}" -o "log/4/dumpit#1.dump" > log/4/stdout74 2> log/4/stderr74 74: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 74 === Start of file http_server.log 02:01:17.541905 ====> Client connect 02:01:17.541944 accept_connection 3 returned 4 02:01:17.541962 accept_connection 3 returned 0 02:01:17.541979 Read 93 bytes 02:01:17.541990 Process 93 bytes request 02:01:17.542006 Got request: GET /verifiedserver HTTP/1.1 02:01:17.542017 Are-we-friendly question received 02:01:17.542040 Wrote request (93 bytes) input to log/4/server.input 02:01:17.542058 Identifying ourselves as friends 02:01:17.542157 Response sent (56 bytes) and written to log/4/server.response 02:01:17.542172 special request received, no persistency 02:01:17.542182 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 74 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind74 ==78928== ==78928== Process terminating with default action of signal 4 (SIGILL) ==78928== Illegal opcode at address 0x10B08D ==78928== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78928== by 0x10B08D: main (tool_main.c:232) === End of file valgrind74 test 0072...[HTTP with Digest *OR* Basic authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind72 ../src/curl -q --output log/5/curl72.out --include --trace-ascii log/5/trace72 --trace-config all --trace-time http://127.0.0.1:33361/72 -u testuser:testpass --anyauth > log/5/stdout72 2> log/5/stderr72 72: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 72 === Start of file http_server.log 02:01:17.346286 ====> Client connect 02:01:17.346319 accept_connection 3 returned 4 02:01:17.346337 accept_connection 3 returned 0 02:01:17.346352 Read 93 bytes 02:01:17.346363 Process 93 bytes request 02:01:17.346378 Got request: GET /verifiedserver HTTP/1.1 02:01:17.346388 Are-we-friendly question received 02:01:17.346410 Wrote request (93 bytes) input to log/5/server.input 02:01:17.346429 Identifying ourselves as friends 02:01:17.346499 Response sent (56 bytes) and written to log/5/server.response 02:01:17.346511 special request received, no persistency 02:01:17.346521 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 72 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind72 ==78716== ==78716== Process terminating with default action of signal 4 (SIGILL) ==78716== Illegal opcode at address 0x10B08D ==78716== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==78716== by 0x10B08D: main (tool_main.c:232) === End of file valgrind72 test 0077...[HTTP with -z "older date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind77 ../src/curl -q --output log/10/curl77.out --include --trace-ascii log/10/trace77 --trace-config all --trace-time http://127.0.0.1:42929/77 -z "dec 12 12:00:00 1999 GMT" > log/10/stdout77 2> log/10/stderr77 77: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 77 === Start of file http_server.log 02:01:17.620336 ====> Client connect 02:01:17.620368 accept_connection 3 returned 4 02:01:17.620385 accept_connection 3 returned 0 02:01:17.620399 Read 93 bytes 02:01:17.620410 Process 93 bytes request 02:01:17.620426 Got request: GET /verifiedserver HTTP/1.1 02:01:17.620436 Are-we-friendly question received 02:01:17.620456 Wrote request (93 bytes) input to log/10/server.input 02:01:17.620473 Identifying ourselves as friends 02:01:17.620533 Response sent (56 bytes) and written to log/10/server.response 02:01:17.620543 special request received, no persistency 02:01:17.620552 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 77 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind77 ==78972== ==78972== Process terminating with default action of signal 4 (SIGILL) ==78972== Illegal opcode at address 0x10B08D ==78972== at 0x10B08D: UnCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind78 ../src/curl -q --output log/8/curl78.out --include --trace-ascii log/8/trace78 --trace-config all --trace-time http://127.0.0.1:43803/78 -z "dec 12 11:00:00 1999 GMT" > log/8/stdout78 2> log/8/stderr78 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind79 ../src/curl -q --output log/9/curl79.out --include --trace-ascii log/9/trace79 --trace-config all --trace-time ftp://127.0.0.1:38509/we/want/that/page/79 -x 127.0.0.1:38509 > log/9/stdout79 2> log/9/stderr79 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind81 ../src/curl -q --output log/6/curl81.out --include --trace-ascii log/6/trace81 --trace-config all --trace-time http://127.0.0.1:39457/81 --proxy-user testuser:testpass -x http://127.0.0.1:39457 --proxy-ntlm > log/6/stdout81 2> log/6/stderr81 CMD (0): ../src/curl --max-time 13 --output log/12/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:45977/verifiedserver" 2>log/12/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind84 ../src/curl -q --output log/1/curl84.out --include --trace-ascii log/1/trace84 --trace-config all --trace-time http://127.0.0.1:34215/we/want/that/page/84 -x 127.0.0.1:34215 --user iam:myself > log/1/stdout84 2> log/1/stderr84 knownInlinedFun (string_fortified.h:59) ==78972== by 0x10B08D: main (tool_main.c:232) === End of file valgrind77 test 0078...[HTTP with -z "newer date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind78 ../src/curl -q --output log/8/curl78.out --include --trace-ascii log/8/trace78 --trace-config all --trace-time http://127.0.0.1:43803/78 -z "dec 12 11:00:00 1999 GMT" > log/8/stdout78 2> log/8/stderr78 78: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 78 === Start of file http_server.log 02:01:17.732819 ====> Client connect 02:01:17.732884 accept_connection 3 returned 4 02:01:17.732902 accept_connection 3 returned 0 02:01:17.732919 Read 93 bytes 02:01:17.732929 Process 93 bytes request 02:01:17.732944 Got request: GET /verifiedserver HTTP/1.1 02:01:17.732953 Are-we-friendly question received 02:01:17.732976 Wrote request (93 bytes) input to log/8/server.input 02:01:17.732994 Identifying ourselves as friends 02:01:17.733094 Response sent (56 bytes) and written to log/8/server.response 02:01:17.733105 special request received, no persistency 02:01:17.733115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 78 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind78 ==79080== ==79080== Process terminating with default action of signal 4 (SIGILL) ==79080== Illegal opcode at address 0x10B08D ==79080== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79080== by 0x10B08D: main (tool_main.c:232) === End of file valgrind78 test 0079...[FTP over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind79 ../src/curl -q --output log/9/curl79.out --include --trace-ascii log/9/trace79 --trace-config all --trace-time ftp://127.0.0.1:38509/we/want/that/page/79 -x 127.0.0.1:38509 > log/9/stdout79 2> log/9/stderr79 79: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 79 === Start of file http_server.log 02:01:17.761881 ====> Client connect 02:01:17.761917 accept_connection 3 returned 4 02:01:17.761936 accept_connection 3 returned 0 02:01:17.761953 Read 93 bytes 02:01:17.761964 Process 93 bytes request 02:01:17.761979 Got request: GET /verifiedserver HTTP/1.1 02:01:17.761990 Are-we-friendly question received 02:01:17.762015 Wrote request (93 bytes) input to log/9/server.input 02:01:17.762035 Identifying ourselves as friends 02:01:17.762118 Response sent (56 bytes) and written to log/9/server.response 02:01:17.762249 special request received, no persistency 02:01:17.762262 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 79 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind79 ==79099== ==79099== Process terminating with default action of signal 4 (SIGILL) ==79099== Illegal opcode at address 0x10B08D ==79099== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79099== by 0x10B08D: main (tool_main.c:232) === End of file valgrind79 test 0081...[HTTP with proxy using NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind81 ../src/curl -q --output log/6/curl81.out --include --trace-ascii log/6/trace81 --trace-config all --trace-time http://127.0.0.1:39457/81 --proxy-user testuser:testpass -x http://127.0.0.1:39457 --proxy-ntlm > log/6/stdout81 2> log/6/stderr81 81: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 81 === Start of file http_server.log 02:01:18.015090 ====> Client connect 02:01:18.015136 accept_connection 3 returned 4 02:01:18.015164 accept_connection 3 returned 0 02:01:18.015178 Read 93 bytes 02:01:18.015189 Process 93 bytes request 02:01:18.015203 Got request: GET /verifiedserver HTTP/1.1 02:01:18.015212 Are-we-friendly question received 02:01:18.015236 Wrote request (93 bytes) input to log/6/server.input 02:01:18.015254 Identifying ourselves as friends 02:01:18.015325 Response sent (56 bytes) and written to log/6/server.response 02:01:18.015339 special request received, no persistency 02:01:18.015349 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 81 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind81 ==79242== ==79242== Process terminating with default action of signal 4 (SIGILL) ==79242== Illegal opcode at address 0x10B08D ==79242== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79242== by 0x10B08D: main (tool_main.c:232) === End of file valgrind81 test 0084...[HTTP over proxy with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind84 ../src/curl -q --output log/1/curl84.out --include --trace-ascii log/1/trace84 --trace-config all --trace-time http://127.0.0.1:34215/we/want/that/page/84 -x 127.0.0.1:34215 --user iam:myself > log/1/stdout84 2> log/1/stderr84 84: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 84 === Start of file http_server.log 02:01:18.422311 ====> Client connect 02:01:18.422350 accept_connection 3 returned 4 02:01:18.422367 accept_connection 3 returned 0 02:01:18.422382 Read 93 bytes 02:01:18.422393 Process 93 bytes request 02:01:18.422407 Got request: GET /verifiedserver HTTP/1.1 02:01:18.422417 Are-we-friendly question received 02:01:18.422450 Wrote request (93 bytes) input to log/1/server.input 02:01:18.422467 Identifying ourselves as friends 02:01:18.422727 Response sent (56 bytes) and CMD (0): ../src/curl --max-time 13 --output log/2/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:42375/verifiedserver" 2>log/2/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind82 ../src/curl -q --output log/3/curl82.out --include --trace-ascii log/3/trace82 --trace-config all --trace-time http://127.0.0.1:34527/82 --proxy-user testuser:testpass -x http://127.0.0.1:34527 > log/3/stdout82 2> log/3/stderr82 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind87 ../src/curl -q --include --trace-ascii log/4/trace87 --trace-config all --trace-time "http://127.0.0.1:36813/[870001-870002]" -o "log/4/dumpit87-#2.dump" > log/4/stdout87 2> log/4/stderr87 written to log/1/server.response 02:01:18.422739 special request received, no persistency 02:01:18.422749 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 84 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind84 ==79368== ==79368== Process terminating with default action of signal 4 (SIGILL) ==79368== Illegal opcode at address 0x10B08D ==79368== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79368== by 0x10B08D: main (tool_main.c:232) === End of file valgrind84 test 0082...[HTTP with proxy requiring NTLM, but we send Basic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind82 ../src/curl -q --output log/3/curl82.out --include --trace-ascii log/3/trace82 --trace-config all --trace-time http://127.0.0.1:34527/82 --proxy-user testuser:testpass -x http://127.0.0.1:34527 > log/3/stdout82 2> log/3/stderr82 82: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 82 === Start of file http_server.log 02:01:18.286097 ====> Client connect 02:01:18.286130 accept_connection 3 returned 4 02:01:18.286147 accept_connection 3 returned 0 02:01:18.286163 Read 93 bytes 02:01:18.286175 Process 93 bytes request 02:01:18.286191 Got request: GET /verifiedserver HTTP/1.1 02:01:18.286201 Are-we-friendly question received 02:01:18.286225 Wrote request (93 bytes) input to log/3/server.input 02:01:18.286243 Identifying ourselves as friends 02:01:18.286312 Response sent (56 bytes) and written to log/3/server.response 02:01:18.286323 special request received, no persistency 02:01:18.286333 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 82 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind82 ==79318== ==79318== Process terminating with default action of signal 4 (SIGILL) ==79318== Illegal opcode at address 0x10B08D ==79318== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79318== by 0x10B08D: main (tool_main.c:232) === End of file valgrind82 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind85 ../src/curl -q --output log/11/curl85.out --include --trace-ascii log/11/trace85 --trace-config all --trace-time http://127.0.0.1:44137/we/want/that/page/85 -x 127.0.0.1:44137 --user iam:myself --proxy-user testing:this > log/11/stdout85 2> log/11/stderr85 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind86 ../src/curl -q --include --trace-ascii log/7/trace86 --trace-config all --trace-time "http://127.0.0.1:43753/[860001-860003]" -o "log/7/dumpit#1.dump" > log/7/stdout86 2> log/7/stderr86 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind88 ../src/curl -q --output log/5/curl88.out --include --trace-ascii log/5/trace88 --trace-config all --trace-time http://127.0.0.1:33361/88 -T log/5/put88 -u testuser:testpass --digest > log/5/stdout88 2> log/5/stderr88 test 0087...[urlglob with out of range -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind87 ../src/curl -q --include --trace-ascii log/4/trace87 --trace-config all --trace-time "http://127.0.0.1:36813/[870001-870002]" -o "log/4/dumpit87-#2.dump" > log/4/stdout87 2> log/4/stderr87 87: output (log/4/dumpit87-#2.dump) FAILED: --- log/4/check-expected 2024-12-15 02:01:19.461415889 +0000 +++ log/4/check-generated 2024-12-15 02:01:19.461415889 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] == Contents of files in the log/4/ dir after test 87 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] === End of file check-expected === Start of file http_server.log 02:01:18.618530 ====> Client connect 02:01:18.618563 accept_connection 3 returned 4 02:01:18.618580 accept_connection 3 returned 0 02:01:18.618594 Read 93 bytes 02:01:18.618605 Process 93 bytes request 02:01:18.618618 Got request: GET /verifiedserver HTTP/1.1 02:01:18.618627 Are-we-friendly question received 02:01:18.618649 Wrote request (93 bytes) input to log/4/server.input 02:01:18.618666 Identifying ourselves as friends 02:01:18.618732 Response sent (56 bytes) and written to log/4/server.response 02:01:18.618743 special request received, no persistency 02:01:18.618753 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 87 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind87 ==79519== ==79519== Process terminating with default action of signal 4 (SIGILL) ==79519== Illegal opcode at address 0x10B08D ==79519== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79519== by 0x10B08D: main (tool_main.c:232) === End of file valgrind87 test 0085...[HTTP over proxy with site and proxy authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind85 ../src/curl -q --output log/11/curl85.out --include --trace-ascii log/11/trace85 --trace-config all --trace-time http://127.0.0.1:44137/we/want/that/page/85 -x 127.0.0.1:44137 --user iam:myself --proxy-user testing:this > log/11/stdout85 2> log/11/stderr85 85: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 85 === Start of file http_server.log 02:01:18.551890 ====> Client connect 02:01:18.551926 accept_connection 3 returned 4 02:01:18.551945 accept_connection 3 returned 0 02:01:18.551961 Read 93 bytes 02:01:18.551972 Process 93 bytes request 02:01:18.551986 Got request: GET /verifiedserver HTTP/1.1 02:01:18.551996 Are-we-friendly question received 02:01:18.552022 Wrote request (93 bytes) input to log/11/server.input 02:01:18.552041 Identifying ourselves as friends 02:01:18.552120 Response sent (56 bytes) and written to log/11/server.response 02:01:18.552133 special request received, no persistency 02:01:18.552143 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 85 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind85 ==79450== ==79450== Process terminating with default action of signal 4 (SIGILL) ==79450== Illegal opcode at address 0x10B08D ==79450== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79450== by 0x10B08D: main (tool_main.c:232) === End of file valgrind85 test 0086...[HTTP, urlglob []-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind86 ../src/curl -q --include --trace-ascii log/7/trace86 --trace-config all --trace-time "http://127.0.0.1:43753/[860001-860003]" -o "log/7/dumpit#1.dump" > log/7/stdout86 2> log/7/stderr86 86: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 86 === Start of file http_server.log 02:01:18.614213 ====> Client connect 02:01:18.614245 accept_connection 3 returned 4 02:01:18.614261 accept_connection 3 returned 0 02:01:18.614275 Read 93 bytes 02:01:18.614285 Process 93 bytes request 02:01:18.614300 Got request: GET /verifiedserver HTTP/1.1 02:01:18.614310 Are-we-friendly question received 02:01:18.614334 Wrote request (93 bytes) input to log/7/server.input 02:01:18.614352 Identifying ourselves as friends 02:01:18.614419 Response sent (56 bytes) and written to log/7/server.response 02:01:18.614430 special request received, no persistency 02:01:18.614439 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 86 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind86 ==79538== ==79538== Process terminating with default action of signal 4 (SIGILL) ==79538== Illegal opcode at address 0x10B08D ==79538== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79538== by 0x10B08D: main (tool_main.c:232) === End of file valgrind86 test 0088...[HTTP PUT with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind88 ../src/curl -q --output log/5/curl88.out --include --trace-ascii log/5/trace88 --trace-config all --trace-time http://127.0.0.1:33361/88 -T log/5/put88 -u testuser:testpass --digest > log/5/stdout88 2> log/5/stderr88 88: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 88 === Start of file http_server.log 02:01:18.685232 ====> Client connect 02:01:18.685268 accept_connection 3 returned 4 02:01:18.685289 accept_connection 3 returned 0 02:01:18.685306 Read 93 bytes 02:01:18.685316 Process 93 bytes request 02:01:18.685331 Got request: GET CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind90 ../src/curl -q --output log/8/curl90.out --include --trace-ascii log/8/trace90 --trace-config all --trace-time http://127.0.0.1:43803/90 -u testuser:testpass --anyauth -L > log/8/stdout90 2> log/8/stderr90 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind89 ../src/curl -q --output log/10/curl89.out --include --trace-ascii log/10/trace89 --trace-config all --trace-time http://127.0.0.1:42929/89 -u testuser:testpass --ntlm -L > log/10/stdout89 2> log/10/stderr89 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind80 ../src/curl -q --output log/12/curl80.out --include --trace-ascii log/12/trace80 --trace-config all --trace-time http://test.80:40653/we/want/that/page/80 -p --proxy1.0 127.0.0.1:45977 --user iam:myself --proxy-user youare:yourself -A "" > log/12/stdout80 2> log/12/stderr80 /verifiedserver HTTP/1.1 02:01:18.685340 Are-we-friendly question received 02:01:18.685362 Wrote request (93 bytes) input to log/5/server.input 02:01:18.685380 Identifying ourselves as friends 02:01:18.685538 Response sent (56 bytes) and written to log/5/server.response 02:01:18.685552 special request received, no persistency 02:01:18.685561 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file put88 This is data we upload with PUT a second line line three four is the number of lines === End of file put88 === Start of file server.cmd auth_required Testnum 88 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind88 ==79609== ==79609== Process terminating with default action of signal 4 (SIGILL) ==79609== Illegal opcode at address 0x10B08D ==79609== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79609== by 0x10B08D: main (tool_main.c:232) === End of file valgrind88 test 0090...[HTTP with NTLM via --anyauth, and then follow-location with NTLM again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind90 ../src/curl -q --output log/8/curl90.out --include --trace-ascii log/8/trace90 --trace-config all --trace-time http://127.0.0.1:43803/90 -u testuser:testpass --anyauth -L > log/8/stdout90 2> log/8/stderr90 90: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 90 === Start of file http_server.log 02:01:18.781334 ====> Client connect 02:01:18.781368 accept_connection 3 returned 4 02:01:18.781570 accept_connection 3 returned 0 02:01:18.781717 Read 93 bytes 02:01:18.781733 Process 93 bytes request 02:01:18.781749 Got request: GET /verifiedserver HTTP/1.1 02:01:18.781760 Are-we-friendly question received 02:01:18.781787 Wrote request (93 bytes) input to log/8/server.input 02:01:18.781806 Identifying ourselves as friends 02:01:18.781899 Response sent (56 bytes) and written to log/8/server.response 02:01:18.781912 special request received, no persistency 02:01:18.781921 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 90 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind90 ==79739== ==79739== Process terminating with default action of signal 4 (SIGILL) ==79739== Illegal opcode at address 0x10B08D ==79739== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79739== by 0x10B08D: main (tool_main.c:232) === End of file valgrind90 test 0089...[HTTP with NTLM and follow-location] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind89 ../src/curl -q --output log/10/curl89.out --include --trace-ascii log/10/trace89 --trace-config all --trace-time http://127.0.0.1:42929/89 -u testuser:testpass --ntlm -L > log/10/stdout89 2> log/10/stderr89 89: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 89 === Start of file http_server.log 02:01:18.717197 ====> Client connect 02:01:18.717230 accept_connection 3 returned 4 02:01:18.717249 accept_connection 3 returned 0 02:01:18.717265 Read 93 bytes 02:01:18.717277 Process 93 bytes request 02:01:18.717292 Got request: GET /verifiedserver HTTP/1.1 02:01:18.717303 Are-we-friendly question received 02:01:18.717327 Wrote request (93 bytes) input to log/10/server.input 02:01:18.717347 Identifying ourselves as friends 02:01:18.717422 Response sent (56 bytes) and written to log/10/server.response 02:01:18.717436 special request received, no persistency 02:01:18.717446 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 89 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind89 ==79649== ==79649== Process terminating with default action of signal 4 (SIGILL) ==79649== Illegal opcode at address 0x10B08D ==79649== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79649== by 0x10B08D: main (tool_main.c:232) === End of file valgrind89 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/12/server/http2_server.pid" --logfile "log/12/http2_server.log" --logdir "log/12" --portfile log/12/server/http2_server.port --config log/12/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/12/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:45977/verifiedserver" 2>log/12/http2_verify.log RUN: HTTP2 server is on PID 79237 port 45977 * pid http-proxy => 79237 79237 test 0080...[HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind80 ../src/curl -q --output log/12/curl80.out --include --trace-ascii log/12/trace80 --trace-config all --trace-time http://test.80:40653/we/want/that/page/80 -p --proxy1.0 127.0.0.1:45977 --user iam:myself --proxy-user youare:yourself -A "" > log/12/stdout80 2> log/12/stderr80 80: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 80 === Start of file http2_server.log 02:01:17.025038 Run as proxy, CONNECT to host 127.0.0.1 02:01:17.025150 Running HTTP IPv4 version on port 45977 02:01:17.025198 Wrote pid 79237 to log/12/server/http2_server.pid 02:01:17.025227 Wrote port 45977 to log/12/server/http2_server.port 02:01:18.084483 ====> Client connect 02:01:18.084505 accept_connection 3 returned 4 02:01:18.084520 accept_connection 3 returned 0 02:01:18.084535 Read 93 bytes 02:01:18.084550 Process 93 bytes request 02:01:18.084571 Got request: GET /verifiedserver HTTP/1.1 02:01:18.084582 Are-we-friendly question received 02:01:18.084610 Wrote request (93 bytes) input to log/12/proxy.input 02:01:18.084632CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind92 ../src/curl -q --output log/6/curl92.out --include --trace-ascii log/6/trace92 --trace-config all --trace-time http://127.0.0.1:39457/want/92 -C 87 > log/6/stdout92 2> log/6/stderr92 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind91 ../src/curl -q --output log/9/curl91.out --include --trace-ascii log/9/trace91 --trace-config all --trace-time http://127.0.0.1:38509/91 --anyauth -u mydomain\\myself:secret > log/9/stdout91 2> log/9/stderr91 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind83 ../src/curl -q --output log/2/curl83.out --include --trace-ascii log/2/trace83 --trace-config all --trace-time http://test.83:38781/we/want/that/page/83 -p -x 127.0.0.1:42375 --user 'iam:my:;self' > log/2/stdout83 2> log/2/stderr83 Identifying ourselves as friends 02:01:18.084706 Response sent (56 bytes) and written to log/12/proxy.response 02:01:18.084719 special request received, no persistency 02:01:18.084728 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45977... * Connected to 127.0.0.1 (127.0.0.1) port 45977 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45977 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79237 === End of file http2_verify.out === Start of file http_server.log 02:01:17.981891 ====> Client connect 02:01:17.981928 accept_connection 3 returned 4 02:01:17.981946 accept_connection 3 returned 0 02:01:17.981962 Read 93 bytes 02:01:17.981973 Process 93 bytes request 02:01:17.981986 Got request: GET /verifiedserver HTTP/1.1 02:01:17.981995 Are-we-friendly question received 02:01:17.982016 Wrote request (93 bytes) input to log/12/server.input 02:01:17.982032 Identifying ourselves as friends 02:01:17.982130 Response sent (56 bytes) and written to log/12/server.response 02:01:17.982140 special request received, no persistency 02:01:17.982149 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79237 === End of file proxy.response === Start of file server.cmd Testnum 80 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind80 ==79931== ==79931== Process terminating with default action of signal 4 (SIGILL) ==79931== Illegal opcode at address 0x10B08D ==79931== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79931== by 0x10B08D: main (tool_main.c:232) === End of file valgrind80 test 0092...[HTTP resume transfer with the whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind92 ../src/curl -q --output log/6/curl92.out --include --trace-ascii log/6/trace92 --trace-config all --trace-time http://127.0.0.1:39457/want/92 -C 87 > log/6/stdout92 2> log/6/stderr92 92: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 92 === Start of file http_server.log 02:01:19.129392 ====> Client connect 02:01:19.129426 accept_connection 3 returned 4 02:01:19.129445 accept_connection 3 returned 0 02:01:19.129461 Read 93 bytes 02:01:19.129472 Process 93 bytes request 02:01:19.129487 Got request: GET /verifiedserver HTTP/1.1 02:01:19.129497 Are-we-friendly question received 02:01:19.129526 Wrote request (93 bytes) input to log/6/server.input 02:01:19.129545 Identifying ourselves as friends 02:01:19.129614 Response sent (56 bytes) and written to log/6/server.response 02:01:19.129627 special request received, no persistency 02:01:19.129637 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 92 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind92 ==79936== ==79936== Process terminating with default action of signal 4 (SIGILL) ==79936== Illegal opcode at address 0x10B08D ==79936== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79936== by 0x10B08D: main (tool_main.c:232) === End of file valgrind92 test 0091...[HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind91 ../src/curl -q --output log/9/curl91.out --include --trace-ascii log/9/trace91 --trace-config all --trace-time http://127.0.0.1:38509/91 --anyauth -u mydomain\\myself:secret > log/9/stdout91 2> log/9/stderr91 91: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 91 === Start of file http_server.log 02:01:18.838549 ====> Client connect 02:01:18.838586 accept_connection 3 returned 4 02:01:18.838604 accept_connection 3 returned 0 02:01:18.838620 Read 93 bytes 02:01:18.838631 Process 93 bytes request 02:01:18.838646 Got request: GET /verifiedserver HTTP/1.1 02:01:18.838656 Are-we-friendly question received 02:01:18.838683 Wrote request (93 bytes) input to log/9/server.input 02:01:18.838701 Identifying ourselves as friends 02:01:18.838802 Response sent (56 bytes) and written to log/9/server.response 02:01:18.838814 special request received, no persistency 02:01:18.838823 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 91 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind91 ==79753== ==79753== Process terminating with default action of signal 4 (SIGILL) ==79753== Illegal opcode at address 0x10B08D ==79753== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==79753== by 0x10B08D: main (tool_main.c:232) === End of file valgrind91 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/2/server/http2_server.pid" --logfile "log/2/http2_server.log" --logdir "log/2" --portfile log/2/server/http2_server.port --config log/2/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/2/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:42375/verifiedserver" 2>log/2/http2_verify.log RUN: HTTP2 server is on PID 79340 port 42375 * pid http-proxy => 79340 79340 test 0083...[HTTP over proxy-tunnel with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind83 ../src/curl -q --output log/2/curl83.out --include --trace-ascii log/2/trace83 --trace-config all --trace-time http://test.83:38781/we/want/that/page/83 -p -x 127.0.0.1:42375 --user 'iam:my:;sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind93 ../src/curl -q --output log/1/curl93.out --include --trace-ascii log/1/trace93 --trace-config all --trace-time http://127.0.0.1:34215/93 -x 127.0.0.1:34215 > log/1/stdout93 2> log/1/stderr93 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind94 ../src/curl -q --output log/3/curl94.out --include --trace-ascii log/3/trace94 --trace-config all --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:34527 > log/3/stdout94 2> log/3/stderr94 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind98 ../src/curl -q --output log/7/curl98.out --include --trace-ascii log/7/trace98 --trace-config all --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:43753/98 log/7/stdout98 2> log/7/stderr98 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind97 ../src/curl -q --output log/11/curl97.out --include --trace-ascii log/11/trace97 --trace-config all --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:44137/97 > log/11/stdout97 2> log/11/stderr97 elf' > log/2/stdout83 2> log/2/stderr83 83: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 83 === Start of file http2_server.log 02:01:18.391358 Run as proxy, CONNECT to host 127.0.0.1 02:01:18.391474 Running HTTP IPv4 version on port 42375 02:01:18.391512 Wrote pid 79340 to log/2/server/http2_server.pid 02:01:18.391540 Wrote port 42375 to log/2/server/http2_server.port 02:01:19.481898 ====> Client connect 02:01:19.481922 accept_connection 3 returned 4 02:01:19.481939 accept_connection 3 returned 0 02:01:19.481954 Read 93 bytes 02:01:19.481966 Process 93 bytes request 02:01:19.481988 Got request: GET /verifiedserver HTTP/1.1 02:01:19.481999 Are-we-friendly question received 02:01:19.482028 Wrote request (93 bytes) input to log/2/proxy.input 02:01:19.482051 Identifying ourselves as friends 02:01:19.482264 Response sent (56 bytes) and written to log/2/proxy.response 02:01:19.482278 special request received, no persistency 02:01:19.482289 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:42375... * Connected to 127.0.0.1 (127.0.0.1) port 42375 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42375 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79340 === End of file http2_verify.out === Start of file http_server.log 02:01:18.359119 ====> Client connect 02:01:18.359154 accept_connection 3 returned 4 02:01:18.359172 accept_connection 3 returned 0 02:01:18.359187 Read 93 bytes 02:01:18.359199 Process 93 bytes request 02:01:18.359214 Got request: GET /verifiedserver HTTP/1.1 02:01:18.359224 Are-we-friendly question received 02:01:18.359249 Wrote request (93 bytes) input to log/2/server.input 02:01:18.359267 Identifying ourselves as friends 02:01:18.359337 Response sent (56 bytes) and written to log/2/server.response 02:01:18.359349 special request received, no persistency 02:01:18.359359 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79340 === End of file proxy.response === Start of file server.cmd Testnum 83 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind83 ==80067== ==80067== Process terminating with default action of signal 4 (SIGILL) ==80067== Illegal opcode at address 0x10B08D ==80067== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80067== by 0x10B08D: main (tool_main.c:232) === End of file valgrind83 test 0093...[HTTP GET with failed proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind93 ../src/curl -q --output log/1/curl93.out --include --trace-ascii log/1/trace93 --trace-config all --trace-time http://127.0.0.1:34215/93 -x 127.0.0.1:34215 > log/1/stdout93 2> log/1/stderr93 93: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 93 === Start of file http_server.log 02:01:19.511882 ====> Client connect 02:01:19.511923 accept_connection 3 returned 4 02:01:19.511943 accept_connection 3 returned 0 02:01:19.511959 Read 93 bytes 02:01:19.511972 Process 93 bytes request 02:01:19.511987 Got request: GET /verifiedserver HTTP/1.1 02:01:19.511997 Are-we-friendly question received 02:01:19.512025 Wrote request (93 bytes) input to log/1/server.input 02:01:19.512046 Identifying ourselves as friends 02:01:19.512140 Response sent (56 bytes) and written to log/1/server.response 02:01:19.512154 special request received, no persistency 02:01:19.512164 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 93 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind93 ==80075== ==80075== Process terminating with default action of signal 4 (SIGILL) ==80075== Illegal opcode at address 0x10B08D ==80075== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80075== by 0x10B08D: main (tool_main.c:232) === End of file valgrind93 test 0094...[HTTPS GET with failed proxy auth (CONNECT 1.0)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind94 ../src/curl -q --output log/3/curl94.out --include --trace-ascii log/3/trace94 --trace-config all --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:34527 > log/3/stdout94 2> log/3/stderr94 94: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 94 === Start of file http_server.log 02:01:19.620028 ====> Client connect 02:01:19.620061 accept_connection 3 returned 4 02:01:19.620079 accept_connection 3 returned 0 02:01:19.620094 Read 93 bytes 02:01:19.620105 Process 93 bytes request 02:01:19.620120 Got request: GET /verifiedserver HTTP/1.1 02:01:19.620130 Are-we-friendly question received 02:01:19.620153 Wrote request (93 bytes) input to log/3/server.input 02:01:19.620171 Identifying ourselves as friends 02:01:19.620238 Response sent (56 bytes) and written to log/3/server.response 02:01:19.620417 special request received, no persistency 02:01:19.620429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 94 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind94 ==80136== ==80136== Process terminating with default action of signal 4 (SIGILL) ==80136== Illegal opcode at address 0x10B08D ==80136== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80136== by 0x10B08D: main (tool_main.c:232) === End of file valgrind94 test 0098...[HTTP PUT from stdin with set size, disabling chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-chCMD (0): ../src/curl --max-time 13 --output log/4/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:45699/verifiedserver" 2>log/4/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind99 ../src/curl -q --output log/5/curl99.out --include --trace-ascii log/5/trace99 --trace-config all --trace-time http://127.0.0.1:33361/99 -C 9999999999 > log/5/stdout99 2> log/5/stderr99 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind95 ../src/curl -q --output log/4/curl95.out --include --trace-ascii log/4/trace95 --trace-config all --trace-time http://test.95:36813/we/want/that/page/95 -p -x 127.0.0.1:45699 -d "datatopost=ohthatsfunyesyes" > log/4/stdout95 2> log/4/stderr95 eck=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind98 ../src/curl -q --output log/7/curl98.out --include --trace-ascii log/7/trace98 --trace-config all --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:43753/98 log/7/stdout98 2> log/7/stderr98 98: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 98 === Start of file http_server.log 02:01:19.921907 ====> Client connect 02:01:19.921947 accept_connection 3 returned 4 02:01:19.921966 accept_connection 3 returned 0 02:01:19.921983 Read 93 bytes 02:01:19.921994 Process 93 bytes request 02:01:19.922009 Got request: GET /verifiedserver HTTP/1.1 02:01:19.922019 Are-we-friendly question received 02:01:19.922047 Wrote request (93 bytes) input to log/7/server.input 02:01:19.922066 Identifying ourselves as friends 02:01:19.922153 Response sent (56 bytes) and written to log/7/server.response 02:01:19.922164 special request received, no persistency 02:01:19.922176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 98 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 ==80316== ==80316== Process terminating with default action of signal 4 (SIGILL) ==80316== Illegal opcode at address 0x10B08D ==80316== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80316== by 0x10B08D: main (tool_main.c:232) === End of file valgrind98 test 0097...[HTTP POST with custom content-type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind97 ../src/curl -q --output log/11/curl97.out --include --trace-ascii log/11/trace97 --trace-config all --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:44137/97 > log/11/stdout97 2> log/11/stderr97 97: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 97 === Start of file http_server.log 02:01:19.767933 ====> Client connect 02:01:19.767969 accept_connection 3 returned 4 02:01:19.767986 accept_connection 3 returned 0 02:01:19.768001 Read 93 bytes 02:01:19.768012 Process 93 bytes request 02:01:19.768028 Got request: GET /verifiedserver HTTP/1.1 02:01:19.768038 Are-we-friendly question received 02:01:19.768061 Wrote request (93 bytes) input to log/11/server.input 02:01:19.768079 Identifying ourselves as friends 02:01:19.768150 Response sent (56 bytes) and written to log/11/server.response 02:01:19.768162 special request received, no persistency 02:01:19.768172 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 97 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind97 ==80257== ==80257== Process terminating with default action of signal 4 (SIGILL) ==80257== Illegal opcode at address 0x10B08D ==80257== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80257== by 0x10B08D: main (tool_main.c:232) === End of file valgrind97 test 0099...[HTTP GET with large-file resume point and failed resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind99 ../src/curl -q --output log/5/curl99.out --include --trace-ascii log/5/trace99 --trace-config all --trace-time http://127.0.0.1:33361/99 -C 9999999999 > log/5/stdout99 2> log/5/stderr99 99: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 99 === Start of file http_server.log 02:01:20.133920 ====> Client connect 02:01:20.133964 accept_connection 3 returned 4 02:01:20.133983 accept_connection 3 returned 0 02:01:20.133997 Read 93 bytes 02:01:20.134008 Process 93 bytes request 02:01:20.134022 Got request: GET /verifiedserver HTTP/1.1 02:01:20.134032 Are-we-friendly question received 02:01:20.134053 Wrote request (93 bytes) input to log/5/server.input 02:01:20.134071 Identifying ourselves as friends 02:01:20.134400 Response sent (56 bytes) and written to log/5/server.response 02:01:20.134411 special request received, no persistency 02:01:20.134420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 99 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind99 ==80396== ==80396== Process terminating with default action of signal 4 (SIGILL) ==80396== Illegal opcode at address 0x10B08D ==80396== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80396== by 0x10B08D: main (tool_main.c:232) === End of file valgrind99 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/4/server/http2_server.pid" --logfile "log/4/http2_server.log" --logdir "log/4" --portfile log/4/server/http2_server.port --config log/4/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/4/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:45699/verifiedserver" 2>log/4/http2_verify.log RUN: HTTP2 server is on PID 80241 port 45699 * pid http-proxy => 80241 80241 test 0095...[HTTP over proxytunnel using POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind95 ../src/curl -q --output log/4/curl95.out --include --trace-ascii log/4/trace95 --trace-config all --trace-time http://test.95:36813/we/want/that/page/95 -p -x 127.0.0.1:45699 -d "datatopost=ohthatsfunyesyes" > log/4/stdout95 2> log/4/stderr95 95: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 95 === Start of file http2_server.log 02:01CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind100 ../src/curl -q --output log/8/curl100.out --include --trace-ascii log/8/trace100 --trace-config all --trace-time ftp://127.0.0.1:39101/test-100/ > log/8/stdout100 2> log/8/stderr100 :19.803385 Run as proxy, CONNECT to host 127.0.0.1 02:01:19.803494 Running HTTP IPv4 version on port 45699 02:01:19.803539 Wrote pid 80241 to log/4/server/http2_server.pid 02:01:19.803572 Wrote port 45699 to log/4/server/http2_server.port 02:01:20.818268 ====> Client connect 02:01:20.818290 accept_connection 3 returned 4 02:01:20.818304 accept_connection 3 returned 0 02:01:20.818319 Read 93 bytes 02:01:20.818336 Process 93 bytes request 02:01:20.818357 Got request: GET /verifiedserver HTTP/1.1 02:01:20.818367 Are-we-friendly question received 02:01:20.818390 Wrote request (93 bytes) input to log/4/proxy.input 02:01:20.818411 Identifying ourselves as friends 02:01:20.818490 Response sent (56 bytes) and written to log/4/proxy.response 02:01:20.818502 special request received, no persistency 02:01:20.818511 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45699... * Connected to 127.0.0.1 (127.0.0.1) port 45699 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45699 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 80241 === End of file http2_verify.out === Start of file http_server.log 02:01:19.753495 ====> Client connect 02:01:19.753527 accept_connection 3 returned 4 02:01:19.753543 accept_connection 3 returned 0 02:01:19.753557 Read 93 bytes 02:01:19.753568 Process 93 bytes request 02:01:19.753581 Got request: GET /verifiedserver HTTP/1.1 02:01:19.753591 Are-we-friendly question received 02:01:19.753612 Wrote request (93 bytes) input to log/4/server.input 02:01:19.753628 Identifying ourselves as friends 02:01:19.753692 Response sent (56 bytes) and written to log/4/server.response 02:01:19.753708 special request received, no persistency 02:01:19.753717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 80241 === End of file proxy.response === Start of file server.cmd Testnum 95 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind95 ==80482== ==80482== Process terminating with default action of signal 4 (SIGILL) ==80482== Illegal opcode at address 0x10B08D ==80482== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80482== by 0x10B08D: main (tool_main.c:232) === End of file valgrind95 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/ftp_server.pid" --logfile "log/8/ftp_server.log" --logdir "log/8" --portfile "log/8/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39101 (log/8/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:39101/verifiedserver" 2>log/8/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80441 port 39101 * pid ftp => 80441 80441 test 0100...[FTP dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind100 ../src/curl -q --output log/8/curl100.out --include --trace-ascii log/8/trace100 --trace-config all --trace-time ftp://127.0.0.1:39101/test-100/ > log/8/stdout100 2> log/8/stderr100 100: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 100 === Start of file ftp_server.log 02:01:20.216549 FTP server listens on port IPv4/39101 02:01:20.216655 logged pid 80441 in log/8/server/ftp_server.pid 02:01:20.216681 Awaiting input 02:01:21.162959 ====> Client connect 02:01:21.163083 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.163292 < "USER anonymous" 02:01:21.163316 > "331 We are happy you popped in![CR][LF]" 02:01:21.163432 < "PASS ftp@example.com" 02:01:21.163448 > "230 Welcome you silly person[CR][LF]" 02:01:21.163552 < "PWD" 02:01:21.163572 > "257 "/" is current directory[CR][LF]" 02:01:21.163682 < "EPSV" 02:01:21.163700 ====> Passive DATA channel requested by client 02:01:21.163709 DATA sockfilt for passive data channel starting... 02:01:21.164746 DATA sockfilt for passive data channel started (pid 80553) 02:01:21.164818 DATA sockfilt for passive data channel listens on port 33833 02:01:21.164844 > "229 Entering Passive Mode (|||33833|)[LF]" 02:01:21.164855 Client has been notified that DATA conn will be accepted on port 33833 02:01:21.165013 Client connects to port 33833 02:01:21.165042 ====> Client established passive DATA connection on port 33833 02:01:21.165096 < "TYPE I" 02:01:21.165117 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.165227 < "SIZE verifiedserver" 02:01:21.165252 > "213 17[CR][LF]" 02:01:21.165357 < "RETR verifiedserver" 02:01:21.165377 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.165431 =====> Closing passive DATA connection... 02:01:21.165441 Server disconnects passive DATA connection 02:01:21.165610 Server disconnected passive DATA connection 02:01:21.165631 DATA sockfilt for passive data channel quits (pid 80553) 02:01:21.165764 DATA sockfilt for passive data channel quit (pid 80553) 02:01:21.165778 =====> Closed passive DATA connection 02:01:21.165794 > "226 File transfer complete[CR][LF]" 02:01:21.208656 < "QUIT" 02:01:21.208705 > "221 bye bye baby[CR][LF]" 02:01:21.209512 MAIN sockfilt said DISC 02:01:21.209537 ====> Client disconnected 02:01:21.209595 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.407801 Running IPv4 version 02:01:20.408121 Listening on port 39101 02:01:20.408167 Wrote pid 80447 to log/8/server/ftp_sockctrl.pid 02:01:20.408199 Wrote port 39101 to log/8/server/ftp_server.port 02:01:20.415187 Received PING (on stdin) 02:01:21.363029 ====> Client connect 02:01:21.363222 Received DATA (on stdin) 02:01:21.363234 > 160 bytes data, server => client 02:01:21.363243 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.363251 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.363259 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.363315 < 16 bytes data, client => server 02:01:21.363325 'USER anonymous\r\n' 02:01:21.363452 Received DATA (on stdin) 02:01:21.363461 > 33 bytes data, server => client 02:01:21.363469 '331 We are happy you popped in!\r\n' 02:01:21.363507 < 22 bytes data, client => server 02:01:21.363515 'PASS ftp@example.com\r\n' 02:01:21.363582 Received DATA (on stdin) 02:01:21.363590 > 30 bytes data, server => client 02:01:21.363598 '230 Welcome you silly person\r\n' 02:01:21.363632 < 5 bytes data, client => server 02:01:21.363640 'PWD\r\n' 02:01:21.363704 Received DATA (on stdin) 02:01:21.363712 > 30 bytes data, server => client 02:01:21.363720 '257 "/" is current directory\r\n' 02:01:21.363759 < 6 bytes data, client => server 02:01:21.363767 'EPSV\r\n' 02:01:21.364991 Received DATA (on stdin) 02:01:21.365001 > 38 bytes data, server => client 02:01:21.365009 '229 Entering Passive Mode (|||33833|)\n' 02:01:21.365091 < 8 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind101 ../src/curl -q --output log/10/curl101.out --include --trace-ascii log/10/trace101 --trace-config all --trace-time ftp://127.0.0.1:42661/ -P 127.0.0.1 > log/10/stdout101 2> log/10/stderr101 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind102 ../src/curl -q --output log/12/curl102.out --include --trace-ascii log/12/trace102 --trace-config all --trace-time ftp://127.0.0.1:40171/102 > log/12/stdout102 2> log/12/stderr102 bytes data, client => server 02:01:21.365102 'TYPE I\r\n' 02:01:21.365250 Received DATA (on stdin) 02:01:21.365260 > 33 bytes data, server => client 02:01:21.365267 '200 I modify TYPE as you wanted\r\n' 02:01:21.365305 < 21 bytes data, client => server 02:01:21.365313 'SIZE verifiedserver\r\n' 02:01:21.365387 Received DATA (on stdin) 02:01:21.365395 > 8 bytes data, server => client 02:01:21.365402 '213 17\r\n' 02:01:21.365436 < 21 bytes data, client => server 02:01:21.365444 'RETR verifiedserver\r\n' 02:01:21.365576 Received DATA (on stdin) 02:01:21.365585 > 29 bytes data, server => client 02:01:21.365593 '150 Binary junk (17 bytes).\r\n' 02:01:21.365928 Received DATA (on stdin) 02:01:21.365938 > 28 bytes data, server => client 02:01:21.365946 '226 File transfer complete\r\n' 02:01:21.408623 < 6 bytes data, client => server 02:01:21.408653 'QUIT\r\n' 02:01:21.408846 Received DATA (on stdin) 02:01:21.408858 > 18 bytes data, server => client 02:01:21.408868 '221 bye bye baby\r\n' 02:01:21.409604 ====> Client disconnect 02:01:21.409733 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.364687 Running IPv4 version 02:01:21.364723 Listening on port 33833 02:01:21.364750 Wrote pid 80553 to log/8/server/ftp_sockdata.pid 02:01:21.364842 Received PING (on stdin) 02:01:21.364895 Received PORT (on stdin) 02:01:21.365115 ====> Client connect 02:01:21.365627 Received DATA (on stdin) 02:01:21.365637 > 17 bytes data, server => client 02:01:21.365645 'WE ROOLZ: 80441\r\n' 02:01:21.365665 Received DISC (on stdin) 02:01:21.365674 ====> Client forcibly disconnected 02:01:21.365771 Received QUIT (on stdin) 02:01:21.365779 quits 02:01:21.365814 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 100 === End of file server.cmd === Start of file valgrind100 ==80555== ==80555== Process terminating with default action of signal 4 (SIGILL) ==80555== Illegal opcode at address 0x10B08D ==80555== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80555== by 0x10B08D: main (tool_main.c:232) === End of file valgrind100 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/ftp_server.pid" --logfile "log/10/ftp_server.log" --logdir "log/10" --portfile "log/10/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42661 (log/10/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:42661/verifiedserver" 2>log/10/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80449 port 42661 * pid ftp => 80449 80449 test 0101...[FTP dir list, PORT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind101 ../src/curl -q --output log/10/curl101.out --include --trace-ascii log/10/trace101 --trace-config all --trace-time ftp://127.0.0.1:42661/ -P 127.0.0.1 > log/10/stdout101 2> log/10/stderr101 101: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 101 === Start of file ftp_server.log 02:01:20.318895 FTP server listens on port IPv4/42661 02:01:20.318991 logged pid 80449 in log/10/server/ftp_server.pid 02:01:20.319019 Awaiting input 02:01:21.273669 ====> Client connect 02:01:21.273783 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.273989 < "USER anonymous" 02:01:21.274013 > "331 We are happy you popped in![CR][LF]" 02:01:21.274121 < "PASS ftp@example.com" 02:01:21.274137 > "230 Welcome you silly person[CR][LF]" 02:01:21.274232 < "PWD" 02:01:21.274251 > "257 "/" is current directory[CR][LF]" 02:01:21.274358 < "EPSV" 02:01:21.274375 ====> Passive DATA channel requested by client 02:01:21.274384 DATA sockfilt for passive data channel starting... 02:01:21.275396 DATA sockfilt for passive data channel started (pid 80617) 02:01:21.275464 DATA sockfilt for passive data channel listens on port 37875 02:01:21.275490 > "229 Entering Passive Mode (|||37875|)[LF]" 02:01:21.275500 Client has been notified that DATA conn will be accepted on port 37875 02:01:21.275657 Client connects to port 37875 02:01:21.275677 ====> Client established passive DATA connection on port 37875 02:01:21.275721 < "TYPE I" 02:01:21.275739 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.275842 < "SIZE verifiedserver" 02:01:21.275869 > "213 17[CR][LF]" 02:01:21.275973 < "RETR verifiedserver" 02:01:21.275994 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.276043 =====> Closing passive DATA connection... 02:01:21.276053 Server disconnects passive DATA connection 02:01:21.276216 Server disconnected passive DATA connection 02:01:21.276236 DATA sockfilt for passive data channel quits (pid 80617) 02:01:21.276365 DATA sockfilt for passive data channel quit (pid 80617) 02:01:21.276380 =====> Closed passive DATA connection 02:01:21.276398 > "226 File transfer complete[CR][LF]" 02:01:21.321946 < "QUIT" 02:01:21.321994 > "221 bye bye baby[CR][LF]" 02:01:21.322586 MAIN sockfilt said DISC 02:01:21.322611 ====> Client disconnected 02:01:21.322668 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.515894 Running IPv4 version 02:01:20.515979 Listening on port 42661 02:01:20.516019 Wrote pid 80453 to log/10/server/ftp_sockctrl.pid 02:01:20.516050 Wrote port 42661 to log/10/server/ftp_server.port 02:01:20.518909 Received PING (on stdin) 02:01:21.473744 ====> Client connect 02:01:21.473921 Received DATA (on stdin) 02:01:21.473930 > 160 bytes data, server => client 02:01:21.473938 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.473946 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.473954 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.474008 < 16 bytes data, client => server 02:01:21.474017 'USER anonymous\r\n' 02:01:21.474147 Received DATA (on stdin) 02:01:21.474155 > 33 bytes data, server => client 02:01:21.474163 '331 We are happy you popped in!\r\n' 02:01:21.474199 < 22 bytes data, client => server 02:01:21.474207 'PASS ftp@example.com\r\n' 02:01:21.474268 Received DATA (on stdin) 02:01:21.474276 > 30 bytes data, server => client 02:01:21.474283 '230 Welcome you silly person\r\n' 02:01:21.474315 < 5 bytes data, client => server 02:01:21.474323 'PWD\r\n' 02:01:21.474382 Received DATA (on stdin) 02:01:21.474390 > 30 bytes data, server => client 02:01:21.474397 '257 "/" is current directory\r\n' 02:01:21.474437 < 6 bytes data, client => server 02:01:21.474444 'EPSV\r\n' 02:01:21.475637 Received DATA (on stdin) 02:01:21.475647 > 38 bytes data, server => client 02:01:21.475655 '229 Entering Passive Mode (|||37875|)\n' 02:01:21.475735 < 8 bytes data, client => server 02:01:21.475746 'TYPE I\r\n' 02:01:21.475871 Received DATA (on stdin) 02:01:21.475879 > 33 bytes data, server => client 02:01:21.475887 '200 I modify TYPE as you wanted\r\n' 02:01:21.475923 < 21 bytes data, client => server 02:01:21.475931 'SIZE verifiedserver\r\n' 02:01:21.476002 Received DATA (on stdin) 02:01:21.476010 > 8 bytes data, server => client 02:01:21.476017 '213 17\r\n' 02:01:21.476053 < 21 bytes data, client => server 02:01:21.476061 'RETR verifiedserver\r\n' 02:01:21.476186 Received DATA (on stdin) 02:01:21.476194 > 29 bytes data, server => client 02:01:21.476202 '150 Binary junk (17 bytes).\r\n' 02:01:21.476532 Received DATA (on stdin) 02:01:21.476541 > 28 bytes data, server => client 02:01:21.476549 '226 File transfer complete\r\n' 02:01:21.521934 < 6 bytes data, client => server 02:01:21.521954 'QUIT\r\n' 02:01:21.522138 Received DATA (on stdin) 02:01:21.522151 > 18 bytes data, server => client 02:01:21.522161 '221 bye bye baby\r\n' 02:01:21.522677 ====> Client disconnect 02:01:21.522806 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.475344 Running IPv4 version 02:01:21.475381 Listening on port 37875 02:01:21.475407 Wrote pid 80617 to log/10/server/ftp_sockdata.pid 02:01:21.475491 Received PING (on stdin) 02:01:21.475543 Received PORT (on stdin) 02:01:21.475758 ====> Client connect 02:01:21.476235 Received DATA (on stdin) 02:01:21.476246 > 17 bytes data, server => client 02:01:21.476254 'WE ROOLZ: 80449\r\n' 02:01:21.476274 Received DISC (on stdin) 02:01:21.476282 ====> Client forcibly disconnected 02:01:21.476374 Received QUIT (on stdin) 02:01:21.476383 quits 02:01:21.476420 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 101 === End of file server.cmd === Start of file valgrind101 ==80668== ==80668== Process terminating with default action of signal 4 (SIGILL) ==80668== Illegal opcode at address 0x10B08D ==80668== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80668== by 0x10B08D: main (tool_main.c:232) === End of file valgrind101 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/ftp_server.pid" --logfile "log/12/ftp_server.log" --logdir "log/12" --portfile "log/12/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40171 (log/12/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:40171/verifiedserver" 2>log/12/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80450 port 40171 * pid ftp => 80450 80450 test 0102...[FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind102 ../src/curl -q --output log/12/curl102.out --include --trace-ascii log/12/trace102 --trace-config all --trace-time ftp://127.0.0.1:40171/102 > log/12/stdout102 2> log/12/stderr102 102: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 102 === Start of file ftp_server.log 02:01:20.338619 FTP server listens on port IPv4/40171 02:01:20.338704 logged pid 80450 in log/12/server/ftp_server.pid 02:01:20.338729 Awaiting input 02:01:21.296094 ====> Client connect 02:01:21.296203 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.296425 < "USER anonymous" 02:01:21.296450 > "331 We are happy you popped in![CR][LF]" 02:01:21.296578 < "PASS ftp@example.com" 02:01:21.296597 > "230 Welcome you silly person[CR][LF]" 02:01:21.296722 < "PWD" 02:01:21.296749 > "257 "/" is current directory[CR][LF]" 02:01:21.296885 < "EPSV" 02:01:21.296905 ====> Passive DATA channel requested by client 02:01:21.296915 DATA sockfilt for passive data channel starting... 02:01:21.297884 DATA sockfilt for passive data channel started (pid 80641) 02:01:21.297971 DATA sockfilt for passive data channel listens on port 35125 02:01:21.297999 > "229 Entering Passive Mode (|||35125|)[LF]" 02:01:21.298011 Client has been notified that DATA conn will be accepted on port 35125 02:01:21.298185 Client connects to port 35125 02:01:21.298208 ====> Client established passive DATA connection on port 35125 02:01:21.298259 < "TYPE I" 02:01:21.298280 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.298446 < "SIZE verifiedserver" 02:01:21.298479 > "213 17[CR][LF]" 02:01:21.298604 < "RETR verifiedserver" 02:01:21.298626 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.298683 =====> Closing passive DATA connection... 02:01:21.298694 Server disconnects passive DATA connection 02:01:21.298820 Server disconnected passive DATA connection 02:01:21.298849 DATA sockfilt for passive data channel quits (pid 80641) 02:01:21.298997 DATA sockfilt for passive data channel quit (pid 80641) 02:01:21.299013 =====> Closed passive DATA connection 02:01:21.299032 > "226 File transfer complete[CR][LF]" 02:01:21.341991 < "QUIT" 02:01:21.342032 > "221 bye bye baby[CR][LF]" 02:01:21.342160 MAIN sockfilt said DISC 02:01:21.342185 ====> Client disconnected 02:01:21.342236 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.535331 Running IPv4 version 02:01:20.535550 Listening on port 40171 02:01:20.535592 Wrote pid 80454 to log/12/server/ftp_sockctrl.pid 02:01:20.535623 Wrote port 40171 to log/12/server/ftp_server.port 02:01:20.538650 Received PING (on stdin) 02:01:21.496167 ====> Client connect 02:01:21.496344 Received DATA (on stdin) 02:01:21.496353 > 160 bytes data, server => client 02:01:21.496362 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.496371 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.496378 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.496449 < 16 bytes data, client => server 02:01:21.496460 'USER anonymous\r\n' 02:01:21.496584 Received DATA (on stdin) 02:01:21.496593 > 33 bytes data, server => client 02:01:21.496601 '331 We are happy you popped in!\r\n' 02:01:21.496643 < 22 bytes data, client => server 02:01:21.496654 'PASS ftp@example.com\r\n' 02:01:21.496730 Received DATA (on stdin) 02:01:21.496740 > 30 bytes data, server => client 02:01:21.496748 '230 Welcome you silly person\r\n' 02:01:21.496789 < 5 bytes data, client => server 02:01:21.496797 'PWD\r\n' 02:01:21.496885 Received DATA (on stdin) 02:01:21.496896 > 30 bytes data, server => client 02:01:21.496904 '257 "/" is current directory\r\n' 02:01:21.496955 < 6 bytes data, client => server 02:01:21.496964 'EPSV\r\n' 02:01:21.498149 Received DATA (on stdin) 02:01:21.498159 > 38 bytes data, server => client 02:01:21.498167 '229 Entering Passive Mode (|||35125|)\n' 02:01:21.498252 < 8 bytes data, client => server 02:01:21.498264 'TYPE I\r\n' 02:01:21.498415 Received DATA (on stdin) 02:01:21.498425 > 33 bytes data, server => client 02:01:21.498433 '200 I modify TYPE as you wanted\r\n' 02:01:21.498476 < 21 bytes data, client => server 02:01:21.498493 'SIZE verifiedserver\r\n' 02:01:21.498615 Received DATA (on stdin) 02:01:21.498625 > 8 bytes data, server => client 02:01:21.498633 '213 17\r\n' 02:01:21.498679 < 21 bytes data, client => server 02:01:21.498687 'RETR verifiedserver\r\n' 02:01:21.498899 Received DATA (on stdin) 02:01:21.498908 > 29 bytes data, server => client 02:01:21.498916 '150 Binary junk (17 bytes).\r\n' 02:01:21.499165 Received DATA (on stdin) 02:01:21.499175 > 28 bytes data, server => client 02:01:21.499183 '226 File transfer complete\r\n' 02:01:21.541979 < 6 bytes data, client => server 02:01:21.542002 'QUIT\r\n' 02:01:21.542160 Received DATA (on stdin) 02:01:21.542182 > 18 bytes data, server => client 02:01:21.542195 '221 bye bye baby\r\n' 02:01:21.542255 ====> Client disconnect 02:01:21.542374 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.497884 Running IPv4 version 02:01:21.497928 Listening on port 35125 02:01:21.497958 Wrote pid 80641 to log/12/server/ftp_sockdata.pid 02:01:21.497972 Received PING (on stdin) 02:01:21.498038 Received PORT (on stdin) 02:01:21.498280 ====> Client connect 02:01:21.498829 Received DATA (on stdin) 02:01:21.498839 > 17 bytes data, server => client 02:01:21.498847 'WE ROOLZ: 80450\r\n' 02:01:21.498871 Received DISC (on stdin) 02:01:21.498881 ====> Client forcibly disconnected 02:01:21.499001 Received QUIT (on stdin) 02:01:21.499011 quits 02:01:21.499046 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 102 === End of file server.cmd === Start of file valgrind102 ==80CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind103 ../src/curl -q --output log/6/curl103.out --include --trace-ascii log/6/trace103 --trace-config all --trace-time ftp://127.0.0.1:40433/a/path/103 -P - > log/6/stdout103 2> log/6/stderr103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind104 ../src/curl -q --output log/9/curl104.out --include --trace-ascii log/9/trace104 --trace-config all --trace-time ftp://127.0.0.1:35301/a/path/104 --head > log/9/stdout104 2> log/9/stderr104 704== ==80704== Process terminating with default action of signal 4 (SIGILL) ==80704== Illegal opcode at address 0x10B08D ==80704== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80704== by 0x10B08D: main (tool_main.c:232) === End of file valgrind102 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/ftp_server.pid" --logfile "log/6/ftp_server.log" --logdir "log/6" --portfile "log/6/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40433 (log/6/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:40433/verifiedserver" 2>log/6/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80451 port 40433 * pid ftp => 80451 80451 test 0103...[FTP RETR PORT with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind103 ../src/curl -q --output log/6/curl103.out --include --trace-ascii log/6/trace103 --trace-config all --trace-time ftp://127.0.0.1:40433/a/path/103 -P - > log/6/stdout103 2> log/6/stderr103 103: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 103 === Start of file ftp_server.log 02:01:20.358864 FTP server listens on port IPv4/40433 02:01:20.358965 logged pid 80451 in log/6/server/ftp_server.pid 02:01:20.358993 Awaiting input 02:01:21.306141 ====> Client connect 02:01:21.306248 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.306448 < "USER anonymous" 02:01:21.306473 > "331 We are happy you popped in![CR][LF]" 02:01:21.306594 < "PASS ftp@example.com" 02:01:21.306610 > "230 Welcome you silly person[CR][LF]" 02:01:21.306819 < "PWD" 02:01:21.306844 > "257 "/" is current directory[CR][LF]" 02:01:21.307017 < "EPSV" 02:01:21.307038 ====> Passive DATA channel requested by client 02:01:21.307048 DATA sockfilt for passive data channel starting... 02:01:21.307996 DATA sockfilt for passive data channel started (pid 80650) 02:01:21.308071 DATA sockfilt for passive data channel listens on port 42011 02:01:21.308100 > "229 Entering Passive Mode (|||42011|)[LF]" 02:01:21.308112 Client has been notified that DATA conn will be accepted on port 42011 02:01:21.308272 Client connects to port 42011 02:01:21.308294 ====> Client established passive DATA connection on port 42011 02:01:21.308338 < "TYPE I" 02:01:21.308356 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.308478 < "SIZE verifiedserver" 02:01:21.308502 > "213 17[CR][LF]" 02:01:21.308619 < "RETR verifiedserver" 02:01:21.308640 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.308692 =====> Closing passive DATA connection... 02:01:21.308702 Server disconnects passive DATA connection 02:01:21.308797 Server disconnected passive DATA connection 02:01:21.308821 DATA sockfilt for passive data channel quits (pid 80650) 02:01:21.308943 DATA sockfilt for passive data channel quit (pid 80650) 02:01:21.308958 =====> Closed passive DATA connection 02:01:21.308977 > "226 File transfer complete[CR][LF]" 02:01:21.355263 < "QUIT" 02:01:21.355302 > "221 bye bye baby[CR][LF]" 02:01:21.355539 MAIN sockfilt said DISC 02:01:21.355562 ====> Client disconnected 02:01:21.355607 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.552761 Running IPv4 version 02:01:20.552843 Listening on port 40433 02:01:20.552883 Wrote pid 80455 to log/6/server/ftp_sockctrl.pid 02:01:20.552913 Wrote port 40433 to log/6/server/ftp_server.port 02:01:20.558844 Received PING (on stdin) 02:01:21.506220 ====> Client connect 02:01:21.506372 Received DATA (on stdin) 02:01:21.506393 > 160 bytes data, server => client 02:01:21.506405 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.506413 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.506421 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.506474 < 16 bytes data, client => server 02:01:21.506483 'USER anonymous\r\n' 02:01:21.506608 Received DATA (on stdin) 02:01:21.506617 > 33 bytes data, server => client 02:01:21.506625 '331 We are happy you popped in!\r\n' 02:01:21.506663 < 22 bytes data, client => server 02:01:21.506672 'PASS ftp@example.com\r\n' 02:01:21.506810 Received DATA (on stdin) 02:01:21.506831 > 30 bytes data, server => client 02:01:21.506844 '230 Welcome you silly person\r\n' 02:01:21.506890 < 5 bytes data, client => server 02:01:21.506898 'PWD\r\n' 02:01:21.506978 Received DATA (on stdin) 02:01:21.506986 > 30 bytes data, server => client 02:01:21.507005 '257 "/" is current directory\r\n' 02:01:21.507075 < 6 bytes data, client => server 02:01:21.507085 'EPSV\r\n' 02:01:21.508250 Received DATA (on stdin) 02:01:21.508260 > 38 bytes data, server => client 02:01:21.508269 '229 Entering Passive Mode (|||42011|)\n' 02:01:21.508351 < 8 bytes data, client => server 02:01:21.508362 'TYPE I\r\n' 02:01:21.508497 Received DATA (on stdin) 02:01:21.508506 > 33 bytes data, server => client 02:01:21.508514 '200 I modify TYPE as you wanted\r\n' 02:01:21.508552 < 21 bytes data, client => server 02:01:21.508560 'SIZE verifiedserver\r\n' 02:01:21.508637 Received DATA (on stdin) 02:01:21.508645 > 8 bytes data, server => client 02:01:21.508653 '213 17\r\n' 02:01:21.508687 < 21 bytes data, client => server 02:01:21.508695 'RETR verifiedserver\r\n' 02:01:21.508783 Received DATA (on stdin) 02:01:21.508825 > 29 bytes data, server => client 02:01:21.508840 '150 Binary junk (17 bytes).\r\n' 02:01:21.509115 Received DATA (on stdin) 02:01:21.509125 > 28 bytes data, server => client 02:01:21.509133 '226 File transfer complete\r\n' 02:01:21.555271 < 6 bytes data, client => server 02:01:21.555291 'QUIT\r\n' 02:01:21.555438 Received DATA (on stdin) 02:01:21.555447 > 18 bytes data, server => client 02:01:21.555455 '221 bye bye baby\r\n' 02:01:21.555627 ====> Client disconnect 02:01:21.555750 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.508011 Running IPv4 version 02:01:21.508051 Listening on port 42011 02:01:21.508077 Wrote pid 80650 to log/6/server/ftp_sockdata.pid 02:01:21.508089 Received PING (on stdin) 02:01:21.508148 Received PORT (on stdin) 02:01:21.508375 ====> Client connect 02:01:21.508834 Received DATA (on stdin) 02:01:21.508851 > 17 bytes data, server => client 02:01:21.508859 'WE ROOLZ: 80451\r\n' 02:01:21.508881 Received DISC (on stdin) 02:01:21.508891 ====> Client forcibly disconnected 02:01:21.508960 Received QUIT (on stdin) 02:01:21.508968 quits 02:01:21.509000 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 103 === End of file server.cmd === Start of file valgrind103 ==80742== ==80742== Process terminating with default action of signal 4 (SIGILL) ==80742== Illegal opcode at address 0x10B08D ==80742== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80742== by 0x10B08D: main (tool_main.c:232) === End of file valgrind103 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/ftp_server.pid" --logfile "log/9/ftp_server.log" --logdir "log/9" --portfile "log/9/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35301 (log/9/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:35301/verifiedserver" 2>log/9/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80452 port 35301 * pid ftp => 80452 80452 test 0104...[FTP --head to get file size only] ../libtool --mode=execute /usr/bin/valgrind --tool=memchecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind105 ../src/curl -q --output log/2/curl105.out --include --trace-ascii log/2/trace105 --trace-config all --trace-time ftp://userdude:passfellow@127.0.0.1:36595/105 --use-ascii > log/2/stdout105 2> log/2/stderr105 k --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind104 ../src/curl -q --output log/9/curl104.out --include --trace-ascii log/9/trace104 --trace-config all --trace-time ftp://127.0.0.1:35301/a/path/104 --head > log/9/stdout104 2> log/9/stderr104 104: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 104 === Start of file ftp_server.log 02:01:20.379922 FTP server listens on port IPv4/35301 02:01:20.380030 logged pid 80452 in log/9/server/ftp_server.pid 02:01:20.380057 Awaiting input 02:01:21.320747 ====> Client connect 02:01:21.320870 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.321073 < "USER anonymous" 02:01:21.321098 > "331 We are happy you popped in![CR][LF]" 02:01:21.321211 < "PASS ftp@example.com" 02:01:21.321227 > "230 Welcome you silly person[CR][LF]" 02:01:21.321329 < "PWD" 02:01:21.321349 > "257 "/" is current directory[CR][LF]" 02:01:21.321457 < "EPSV" 02:01:21.321478 ====> Passive DATA channel requested by client 02:01:21.321488 DATA sockfilt for passive data channel starting... 02:01:21.322515 DATA sockfilt for passive data channel started (pid 80666) 02:01:21.322584 DATA sockfilt for passive data channel listens on port 34501 02:01:21.322611 > "229 Entering Passive Mode (|||34501|)[LF]" 02:01:21.322621 Client has been notified that DATA conn will be accepted on port 34501 02:01:21.322775 Client connects to port 34501 02:01:21.322796 ====> Client established passive DATA connection on port 34501 02:01:21.322843 < "TYPE I" 02:01:21.322861 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.322960 < "SIZE verifiedserver" 02:01:21.322985 > "213 17[CR][LF]" 02:01:21.323085 < "RETR verifiedserver" 02:01:21.323105 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.323152 =====> Closing passive DATA connection... 02:01:21.323162 Server disconnects passive DATA connection 02:01:21.323316 Server disconnected passive DATA connection 02:01:21.323334 DATA sockfilt for passive data channel quits (pid 80666) 02:01:21.323450 DATA sockfilt for passive data channel quit (pid 80666) 02:01:21.323464 =====> Closed passive DATA connection 02:01:21.323481 > "226 File transfer complete[CR][LF]" 02:01:21.365294 < "QUIT" 02:01:21.365334 > "221 bye bye baby[CR][LF]" 02:01:21.365863 MAIN sockfilt said DISC 02:01:21.365896 ====> Client disconnected 02:01:21.365951 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.576190 Running IPv4 version 02:01:20.576276 Listening on port 35301 02:01:20.576321 Wrote pid 80456 to log/9/server/ftp_sockctrl.pid 02:01:20.576354 Wrote port 35301 to log/9/server/ftp_server.port 02:01:20.579904 Received PING (on stdin) 02:01:21.520823 ====> Client connect 02:01:21.521008 Received DATA (on stdin) 02:01:21.521018 > 160 bytes data, server => client 02:01:21.521026 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.521034 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.521042 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.521094 < 16 bytes data, client => server 02:01:21.521103 'USER anonymous\r\n' 02:01:21.521233 Received DATA (on stdin) 02:01:21.521241 > 33 bytes data, server => client 02:01:21.521249 '331 We are happy you popped in!\r\n' 02:01:21.521287 < 22 bytes data, client => server 02:01:21.521295 'PASS ftp@example.com\r\n' 02:01:21.521359 Received DATA (on stdin) 02:01:21.521367 > 30 bytes data, server => client 02:01:21.521375 '230 Welcome you silly person\r\n' 02:01:21.521408 < 5 bytes data, client => server 02:01:21.521416 'PWD\r\n' 02:01:21.521481 Received DATA (on stdin) 02:01:21.521488 > 30 bytes data, server => client 02:01:21.521496 '257 "/" is current directory\r\n' 02:01:21.521534 < 6 bytes data, client => server 02:01:21.521542 'EPSV\r\n' 02:01:21.522758 Received DATA (on stdin) 02:01:21.522768 > 38 bytes data, server => client 02:01:21.522775 '229 Entering Passive Mode (|||34501|)\n' 02:01:21.522856 < 8 bytes data, client => server 02:01:21.522866 'TYPE I\r\n' 02:01:21.522993 Received DATA (on stdin) 02:01:21.523001 > 33 bytes data, server => client 02:01:21.523008 '200 I modify TYPE as you wanted\r\n' 02:01:21.523042 < 21 bytes data, client => server 02:01:21.523049 'SIZE verifiedserver\r\n' 02:01:21.523117 Received DATA (on stdin) 02:01:21.523125 > 8 bytes data, server => client 02:01:21.523132 '213 17\r\n' 02:01:21.523167 < 21 bytes data, client => server 02:01:21.523174 'RETR verifiedserver\r\n' 02:01:21.523296 Received DATA (on stdin) 02:01:21.523303 > 29 bytes data, server => client 02:01:21.523310 '150 Binary junk (17 bytes).\r\n' 02:01:21.523614 Received DATA (on stdin) 02:01:21.523623 > 28 bytes data, server => client 02:01:21.523630 '226 File transfer complete\r\n' 02:01:21.565283 < 6 bytes data, client => server 02:01:21.565304 'QUIT\r\n' 02:01:21.565470 Received DATA (on stdin) 02:01:21.565479 > 18 bytes data, server => client 02:01:21.565487 '221 bye bye baby\r\n' 02:01:21.565876 ====> Client disconnect 02:01:21.566322 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.522462 Running IPv4 version 02:01:21.522499 Listening on port 34501 02:01:21.522525 Wrote pid 80666 to log/9/server/ftp_sockdata.pid 02:01:21.522613 Received PING (on stdin) 02:01:21.522662 Received PORT (on stdin) 02:01:21.522878 ====> Client connect 02:01:21.523341 Received DATA (on stdin) 02:01:21.523351 > 17 bytes data, server => client 02:01:21.523358 'WE ROOLZ: 80452\r\n' 02:01:21.523376 Received DISC (on stdin) 02:01:21.523384 ====> Client forcibly disconnected 02:01:21.523471 Received QUIT (on stdin) 02:01:21.523478 quits 02:01:21.523509 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 104 === End of file server.cmd === Start of file valgrind104 ==80780== ==80780== Process terminating with default action of signal 4 (SIGILL) ==80780== Illegal opcode at address 0x10B08D ==80780== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80780== by 0x10B08D: main (tool_main.c:232) === End of file valgrind104 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/ftp_server.pid" --logfile "log/2/ftp_server.log" --logdir "log/2" --portfile "log/2/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36595 (log/2/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:36595/verifiedserver" 2>log/2/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80457 port 36595 * pid ftp => 80457 80457 test 0105...[FTP user+password in URL and ASCII transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind105 ../src/curl -q --output log/2/curl105.out --include --trace-ascii log/2/trace105 --trace-config all --trace-time ftp://userdude:passfellow@127.0.0.1:36595/105 --use-ascii > log/2/stdout105 2> log/2/stderr105 105: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 105 === Start of file ftp_server.log 02:01:20.431599 FTP server listens on port IPv4/36595 02:01:20.431689 logged pid 80457 in log/2/server/ftp_server.pid 02:01:20.431724 Awaiting input 02:01:21.393438 ====> Client connect 02:01:21.393580 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]"CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind106 ../src/curl -q --output log/1/curl106.out --include --trace-ascii log/1/trace106 --trace-config all --trace-time "ftp://127.0.0.1:45039//path%20with%20%20spaces//and%20things2/106;type=A" > log/1/stdout106 2> log/1/stderr106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind107 ../src/curl -q --output log/3/curl107.out --include --trace-ascii log/3/trace107 --trace-config all --trace-time ftp://127.0.0.1:45983/107 -T log/3/test107.txt > log/3/stdout107 2> log/3/stderr107 02:01:21.393990 < "USER anonymous" 02:01:21.394016 > "331 We are happy you popped in![CR][LF]" 02:01:21.394153 < "PASS ftp@example.com" 02:01:21.394181 > "230 Welcome you silly person[CR][LF]" 02:01:21.394319 < "PWD" 02:01:21.394344 > "257 "/" is current directory[CR][LF]" 02:01:21.394463 < "EPSV" 02:01:21.394482 ====> Passive DATA channel requested by client 02:01:21.394491 DATA sockfilt for passive data channel starting... 02:01:21.395581 DATA sockfilt for passive data channel started (pid 80866) 02:01:21.395659 DATA sockfilt for passive data channel listens on port 37229 02:01:21.395687 > "229 Entering Passive Mode (|||37229|)[LF]" 02:01:21.395699 Client has been notified that DATA conn will be accepted on port 37229 02:01:21.395869 Client connects to port 37229 02:01:21.395892 ====> Client established passive DATA connection on port 37229 02:01:21.395939 < "TYPE I" 02:01:21.395959 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.396070 < "SIZE verifiedserver" 02:01:21.396095 > "213 17[CR][LF]" 02:01:21.396210 < "RETR verifiedserver" 02:01:21.396231 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.396283 =====> Closing passive DATA connection... 02:01:21.396294 Server disconnects passive DATA connection 02:01:21.396460 Server disconnected passive DATA connection 02:01:21.396480 DATA sockfilt for passive data channel quits (pid 80866) 02:01:21.396626 DATA sockfilt for passive data channel quit (pid 80866) 02:01:21.396643 =====> Closed passive DATA connection 02:01:21.396662 > "226 File transfer complete[CR][LF]" 02:01:21.439276 < "QUIT" 02:01:21.439330 > "221 bye bye baby[CR][LF]" 02:01:21.440243 MAIN sockfilt said DISC 02:01:21.440277 ====> Client disconnected 02:01:21.440342 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.631334 Running IPv4 version 02:01:20.631420 Listening on port 36595 02:01:20.631455 Wrote pid 80459 to log/2/server/ftp_sockctrl.pid 02:01:20.631483 Wrote port 36595 to log/2/server/ftp_server.port 02:01:20.631636 Received PING (on stdin) 02:01:21.593370 ====> Client connect 02:01:21.593722 Received DATA (on stdin) 02:01:21.593733 > 160 bytes data, server => client 02:01:21.593917 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.593927 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.593935 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.594001 < 16 bytes data, client => server 02:01:21.594011 'USER anonymous\r\n' 02:01:21.594153 Received DATA (on stdin) 02:01:21.594164 > 33 bytes data, server => client 02:01:21.594174 '331 We are happy you popped in!\r\n' 02:01:21.594215 < 22 bytes data, client => server 02:01:21.594224 'PASS ftp@example.com\r\n' 02:01:21.594318 Received DATA (on stdin) 02:01:21.594329 > 30 bytes data, server => client 02:01:21.594339 '230 Welcome you silly person\r\n' 02:01:21.594386 < 5 bytes data, client => server 02:01:21.594397 'PWD\r\n' 02:01:21.594477 Received DATA (on stdin) 02:01:21.594485 > 30 bytes data, server => client 02:01:21.594493 '257 "/" is current directory\r\n' 02:01:21.594537 < 6 bytes data, client => server 02:01:21.594545 'EPSV\r\n' 02:01:21.595836 Received DATA (on stdin) 02:01:21.595846 > 38 bytes data, server => client 02:01:21.595855 '229 Entering Passive Mode (|||37229|)\n' 02:01:21.595945 < 8 bytes data, client => server 02:01:21.595957 'TYPE I\r\n' 02:01:21.596092 Received DATA (on stdin) 02:01:21.596101 > 33 bytes data, server => client 02:01:21.596109 '200 I modify TYPE as you wanted\r\n' 02:01:21.596147 < 21 bytes data, client => server 02:01:21.596155 'SIZE verifiedserver\r\n' 02:01:21.596231 Received DATA (on stdin) 02:01:21.596240 > 8 bytes data, server => client 02:01:21.596247 '213 17\r\n' 02:01:21.596286 < 21 bytes data, client => server 02:01:21.596294 'RETR verifiedserver\r\n' 02:01:21.596497 Received DATA (on stdin) 02:01:21.596507 > 29 bytes data, server => client 02:01:21.596515 '150 Binary junk (17 bytes).\r\n' 02:01:21.596796 Received DATA (on stdin) 02:01:21.596806 > 28 bytes data, server => client 02:01:21.596815 '226 File transfer complete\r\n' 02:01:21.639218 < 6 bytes data, client => server 02:01:21.639257 'QUIT\r\n' 02:01:21.639474 Received DATA (on stdin) 02:01:21.639487 > 18 bytes data, server => client 02:01:21.639498 '221 bye bye baby\r\n' 02:01:21.640327 ====> Client disconnect 02:01:21.640485 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.595588 Running IPv4 version 02:01:21.595631 Listening on port 37229 02:01:21.595658 Wrote pid 80866 to log/2/server/ftp_sockdata.pid 02:01:21.595670 Received PING (on stdin) 02:01:21.595732 Received PORT (on stdin) 02:01:21.595971 ====> Client connect 02:01:21.596429 Received DATA (on stdin) 02:01:21.596439 > 17 bytes data, server => client 02:01:21.596447 'WE ROOLZ: 80457\r\n' 02:01:21.596469 Received DISC (on stdin) 02:01:21.596478 ====> Client forcibly disconnected 02:01:21.596620 Received QUIT (on stdin) 02:01:21.596630 quits 02:01:21.596674 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 105 === End of file server.cmd === Start of file valgrind105 ==80878== ==80878== Process terminating with default action of signal 4 (SIGILL) ==80878== Illegal opcode at address 0x10B08D ==80878== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==80878== by 0x10B08D: main (tool_main.c:232) === End of file valgrind105 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/ftp_server.pid" --logfile "log/1/ftp_server.log" --logdir "log/1" --portfile "log/1/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45039 (log/1/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:45039/verifiedserver" 2>log/1/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80463 port 45039 * pid ftp => 80463 80463 test 0106...[FTP GET with type=A style ASCII URL using %20 codes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind106 ../src/curl -q --output log/1/curl106.out --include --trace-ascii log/1/trace106 --trace-config all --trace-time "ftp://127.0.0.1:45039//path%20with%20%20spaces//and%20things2/106;type=A" > log/1/stdout106 2> log/1/stderr106 106: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 106 === Start of file ftp_server.log 02:01:20.603909 FTP server listens on port IPv4/45039 02:01:20.603986 logged pid 80463 in log/1/server/ftp_server.pid 02:01:20.604010 Awaiting input 02:01:21.587258 ====> Client connect 02:01:21.587413 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.587684 < "USER anonymous" 02:01:21.587716 > "331 We are happy you popped in![CR][LF]" 02:01:21.587874 < "PASS ftp@example.com" 02:01:21.587897 > "230 Welcome you silly person[CR][LF]" 02:01:21.588043 < "PWD" 02:01:21.588072 > "257 "/" is current directory[CR][LF]" 02:01:21.588227 < "EPSV" 02:01:21.588253 ====> Passive DATA channel requested by client 02:01:21.588267 DATA sockfilt for passive data channel starting... 02:01:21.589547 DATA sockfilt for passive data channel started (pid 80959) 02:01:21.589632 DATA sockfilt for passive data channel listens on port 46141 02:01:21.589665 > "229 Entering Passive Mode (|||46141|)[LF]" 02:01:21.589681 Client has been notified that DATA conn will be accepted on port 46141 02:01:21.589858 Client connects to port 46141 02:01:21.589882 ====> Client established passive DATA connection on port 46141 02:01:21.589974 < "TYPE I" 02:01:21.589998 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.590137 < "SIZE verifiedserver" 02:01:21.590170 > "213 17[CR][LF]" 02:01:21.590307 < "RETR verifiedserver" 02:01:21.590335 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.590402 =====> Closing passive DATA connection... 02:01:21.590416 Server disconnects passive DATA connection 02:01:21.590558 Server disconnected passive DATA connection 02:01:21.590590 DATA sockfilt for passive data channel quits (pid 80959) 02:01:21.590735 DATA sockfilt for passive data channel quit (pid 80959) 02:01:21.590756 =====> Closed passive DATA connection 02:01:21.590779 > "226 File transfer complete[CR][LF]" 02:01:21.632079 < "QUIT" 02:01:21.632135 > "221 bye bye baby[CR][LF]" 02:01:21.632429 MAIN sockfilt said DISC 02:01:21.632457 ====> Client disconnected 02:01:21.632514 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.803705 Running IPv4 version 02:01:20.803783 Listening on port 45039 02:01:20.803821 Wrote pid 80477 to log/1/server/ftp_sockctrl.pid 02:01:20.803850 Wrote port 45039 to log/1/server/ftp_server.port 02:01:20.803964 Received PING (on stdin) 02:01:21.787325 ====> Client connect 02:01:21.787559 Received DATA (on stdin) 02:01:21.787572 > 160 bytes data, server => client 02:01:21.787584 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.787594 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.787605 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.787677 < 16 bytes data, client => server 02:01:21.787690 'USER anonymous\r\n' 02:01:21.787858 Received DATA (on stdin) 02:01:21.787870 > 33 bytes data, server => client 02:01:21.787881 '331 We are happy you popped in!\r\n' 02:01:21.787931 < 22 bytes data, client => server 02:01:21.787943 'PASS ftp@example.com\r\n' 02:01:21.788034 Received DATA (on stdin) 02:01:21.788046 > 30 bytes data, server => client 02:01:21.788056 '230 Welcome you silly person\r\n' 02:01:21.788105 < 5 bytes data, client => server 02:01:21.788117 'PWD\r\n' 02:01:21.788210 Received DATA (on stdin) 02:01:21.788221 > 30 bytes data, server => client 02:01:21.788231 '257 "/" is current directory\r\n' 02:01:21.788285 < 6 bytes data, client => server 02:01:21.788296 'EPSV\r\n' 02:01:21.789824 Received DATA (on stdin) 02:01:21.789836 > 38 bytes data, server => client 02:01:21.789848 '229 Entering Passive Mode (|||46141|)\n' 02:01:21.790034 < 8 bytes data, client => server 02:01:21.790046 'TYPE I\r\n' 02:01:21.790135 Received DATA (on stdin) 02:01:21.790145 > 33 bytes data, server => client 02:01:21.790155 '200 I modify TYPE as you wanted\r\n' 02:01:21.790199 < 21 bytes data, client => server 02:01:21.790209 'SIZE verifiedserver\r\n' 02:01:21.790309 Received DATA (on stdin) 02:01:21.790320 > 8 bytes data, server => client 02:01:21.790329 '213 17\r\n' 02:01:21.790372 < 21 bytes data, client => server 02:01:21.790384 'RETR verifiedserver\r\n' 02:01:21.790634 Received DATA (on stdin) 02:01:21.790645 > 29 bytes data, server => client 02:01:21.790659 '150 Binary junk (17 bytes).\r\n' 02:01:21.790918 Received DATA (on stdin) 02:01:21.790931 > 28 bytes data, server => client 02:01:21.790940 '226 File transfer complete\r\n' 02:01:21.832038 < 6 bytes data, client => server 02:01:21.832067 'QUIT\r\n' 02:01:21.832295 Received DATA (on stdin) 02:01:21.832308 > 18 bytes data, server => client 02:01:21.832320 '221 bye bye baby\r\n' 02:01:21.832506 ====> Client disconnect 02:01:21.832654 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.789514 Running IPv4 version 02:01:21.789566 Listening on port 46141 02:01:21.789619 Wrote pid 80959 to log/1/server/ftp_sockdata.pid 02:01:21.789634 Received PING (on stdin) 02:01:21.789702 Received PORT (on stdin) 02:01:21.789953 ====> Client connect 02:01:21.790553 Received DATA (on stdin) 02:01:21.790565 > 17 bytes data, server => client 02:01:21.790574 'WE ROOLZ: 80463\r\n' 02:01:21.790601 Received DISC (on stdin) 02:01:21.790612 ====> Client forcibly disconnected 02:01:21.790734 Received QUIT (on stdin) 02:01:21.790744 quits 02:01:21.790782 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 106 === End of file server.cmd === Start of file valgrind106 ==81011== ==81011== Process terminating with default action of signal 4 (SIGILL) ==81011== Illegal opcode at address 0x10B08D ==81011== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81011== by 0x10B08D: main (tool_main.c:232) === End of file valgrind106 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/ftp_server.pid" --logfile "log/3/ftp_server.log" --logdir "log/3" --portfile "log/3/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45983 (log/3/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:45983/verifiedserver" 2>log/3/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80465 port 45983 * pid ftp => 80465 80465 test 0107...[FTP PASV upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind107 ../src/curl -q --output log/3/curl107.out --include --trace-ascii log/3/trace107 --trace-config all --trace-time ftp://127.0.0.1:45983/107 -T log/3/test107.txt > log/3/stdout107 2> log/3/stderr107 107: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 107 === Start of file ftp_server.log 02:01:20.609890 FTP server listens on port IPv4/45983 02:01:20.609978 logged pid 80465 in log/3/server/ftp_server.pid 02:01:20.610005 Awaiting input 02:01:21.588863 ====> Client connect 02:01:21.588993 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.589247 < "USER anonymous" 02:01:21.589279 > "331 We are happy you popped in![CR][LF]" 02:01:21.589440 < "PASS ftp@example.com" 02:01:21.589465 > "230 Welcome you silly person[CR][LF]" 02:01:21.589607 < "PWD" 02:01:21.589664 > "257 "/" is current directory[CR][LF]" 02:01:21.589840 < "EPSV" 02:01:21.589868 ====> Passive DATA channel requested by client 02:01:21.589882 DATA sockfilt for passive data channel starting... 02:01:21.591016 DATA sockfilt for passive data channel started (pid 80960) 02:01:21.591109 DATA sockfilt for passive data channel listens on port 39213 02:01:21.591144 > "229 Entering Passive Mode (|||39213|)[LF]" 02:01:21.591160 Client has been notified that DATA conn will be accepted on port 39213 02:01:21.591335 Client connects to port 39213 02:01:21.591361 ====> Client established passive DATA connection on port 39213 02:01:21.591452 < "TYPE I" 02:01:21.591478 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.591624 < "SIZE verifiedserver" 02:01:21.591654 > "213 17[CR][LF]" 02:01:21.591797 < "RETR verifiedserver" 02:01:21.591822 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.591877 =====> Closing passive DATA connection... 02:01:21.591889 Server disconnects passive DATA connection 02:01:21.592057 Server disconnected passive DATA connection 02:01:21.592078 DATA sockfilt for passive data channel quits (pid 80960) 02:01:21.592208 DATA sockfilt for passive data channel quit (pid 80960) 02:01:21.592224 =====> Closed passive DATA connection 02:01:21.592243 > "226 File transfer complete[CR][LF]" 02:01:21.635280 < "QUIT" 02:01:21.635325 > "221 bye bye baby[CR][LF]" 02:01:21.636126 MAIN sockfilt said DISC 02:01:21.636154 ====> Client disconnected 02:01:21.636208 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.809641 Running IPv4 veCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind108 ../src/curl -q --output log/7/curl108.out --include --trace-ascii log/7/trace108 --trace-config all --trace-time ftp://127.0.0.1:41879/CWD/STOR/RETR/108 -T log/7/upload108 -P - > log/7/stdout108 2> log/7/stderr108 rsion 02:01:20.809717 Listening on port 45983 02:01:20.809754 Wrote pid 80478 to log/3/server/ftp_sockctrl.pid 02:01:20.809787 Wrote port 45983 to log/3/server/ftp_server.port 02:01:20.809938 Received PING (on stdin) 02:01:21.788937 ====> Client connect 02:01:21.789138 Received DATA (on stdin) 02:01:21.789150 > 160 bytes data, server => client 02:01:21.789163 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.789174 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.789185 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.789250 < 16 bytes data, client => server 02:01:21.789263 'USER anonymous\r\n' 02:01:21.789420 Received DATA (on stdin) 02:01:21.789433 > 33 bytes data, server => client 02:01:21.789444 '331 We are happy you popped in!\r\n' 02:01:21.789496 < 22 bytes data, client => server 02:01:21.789508 'PASS ftp@example.com\r\n' 02:01:21.789602 Received DATA (on stdin) 02:01:21.789614 > 30 bytes data, server => client 02:01:21.789624 '230 Welcome you silly person\r\n' 02:01:21.789671 < 5 bytes data, client => server 02:01:21.789681 'PWD\r\n' 02:01:21.789807 Received DATA (on stdin) 02:01:21.789820 > 30 bytes data, server => client 02:01:21.789831 '257 "/" is current directory\r\n' 02:01:21.789892 < 6 bytes data, client => server 02:01:21.789902 'EPSV\r\n' 02:01:21.791302 Received DATA (on stdin) 02:01:21.791315 > 38 bytes data, server => client 02:01:21.791326 '229 Entering Passive Mode (|||39213|)\n' 02:01:21.791512 < 8 bytes data, client => server 02:01:21.791523 'TYPE I\r\n' 02:01:21.791615 Received DATA (on stdin) 02:01:21.791625 > 33 bytes data, server => client 02:01:21.791635 '200 I modify TYPE as you wanted\r\n' 02:01:21.791686 < 21 bytes data, client => server 02:01:21.791697 'SIZE verifiedserver\r\n' 02:01:21.791790 Received DATA (on stdin) 02:01:21.791800 > 8 bytes data, server => client 02:01:21.791810 '213 17\r\n' 02:01:21.791863 < 21 bytes data, client => server 02:01:21.791875 'RETR verifiedserver\r\n' 02:01:21.792097 Received DATA (on stdin) 02:01:21.792106 > 29 bytes data, server => client 02:01:21.792114 '150 Binary junk (17 bytes).\r\n' 02:01:21.792378 Received DATA (on stdin) 02:01:21.792388 > 28 bytes data, server => client 02:01:21.792396 '226 File transfer complete\r\n' 02:01:21.835275 < 6 bytes data, client => server 02:01:21.835296 'QUIT\r\n' 02:01:21.835610 Received DATA (on stdin) 02:01:21.835626 > 18 bytes data, server => client 02:01:21.835637 '221 bye bye baby\r\n' 02:01:21.836214 ====> Client disconnect 02:01:21.836347 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.791009 Running IPv4 version 02:01:21.791055 Listening on port 39213 02:01:21.791087 Wrote pid 80960 to log/3/server/ftp_sockdata.pid 02:01:21.791103 Received PING (on stdin) 02:01:21.791179 Received PORT (on stdin) 02:01:21.791429 ====> Client connect 02:01:21.792023 Received DATA (on stdin) 02:01:21.792036 > 17 bytes data, server => client 02:01:21.792044 'WE ROOLZ: 80465\r\n' 02:01:21.792068 Received DISC (on stdin) 02:01:21.792078 ====> Client forcibly disconnected 02:01:21.792217 Received QUIT (on stdin) 02:01:21.792226 quits 02:01:21.792257 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 107 === End of file server.cmd === Start of file test107.txt data to see that FTP works so does it? === End of file test107.txt === Start of file valgrind107 ==81012== ==81012== Process terminating with default action of signal 4 (SIGILL) ==81012== Illegal opcode at address 0x10B08D ==81012== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81012== by 0x10B08D: main (tool_main.c:232) === End of file valgrind107 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/ftp_server.pid" --logfile "log/7/ftp_server.log" --logdir "log/7" --portfile "log/7/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41879 (log/7/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:41879/verifiedserver" 2>log/7/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80479 port 41879 * pid ftp => 80479 80479 test 0108...[FTP PORT upload with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind108 ../src/curl -q --output log/7/curl108.out --include --trace-ascii log/7/trace108 --trace-config all --trace-time ftp://127.0.0.1:41879/CWD/STOR/RETR/108 -T log/7/upload108 -P - > log/7/stdout108 2> log/7/stderr108 108: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 108 === Start of file ftp_server.log 02:01:20.661298 FTP server listens on port IPv4/41879 02:01:20.661374 logged pid 80479 in log/7/server/ftp_server.pid 02:01:20.661397 Awaiting input 02:01:21.636213 ====> Client connect 02:01:21.636350 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.636626 < "USER anonymous" 02:01:21.636659 > "331 We are happy you popped in![CR][LF]" 02:01:21.636823 < "PASS ftp@example.com" 02:01:21.636848 > "230 Welcome you silly person[CR][LF]" 02:01:21.636997 < "PWD" 02:01:21.637026 > "257 "/" is current directory[CR][LF]" 02:01:21.637185 < "EPSV" 02:01:21.637212 ====> Passive DATA channel requested by client 02:01:21.637227 DATA sockfilt for passive data channel starting... 02:01:21.638458 DATA sockfilt for passive data channel started (pid 81007) 02:01:21.638556 DATA sockfilt for passive data channel listens on port 37569 02:01:21.638593 > "229 Entering Passive Mode (|||37569|)[LF]" 02:01:21.638610 Client has been notified that DATA conn will be accepted on port 37569 02:01:21.638823 Client connects to port 37569 02:01:21.638849 ====> Client established passive DATA connection on port 37569 02:01:21.638911 < "TYPE I" 02:01:21.638937 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.639111 < "SIZE verifiedserver" 02:01:21.639152 > "213 17[CR][LF]" 02:01:21.639327 < "RETR verifiedserver" 02:01:21.639358 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.639427 =====> Closing passive DATA connection... 02:01:21.639444 Server disconnects passive DATA connection 02:01:21.639516 Server disconnected passive DATA connection 02:01:21.639541 DATA sockfilt for passive data channel quits (pid 81007) 02:01:21.639708 DATA sockfilt for passive data channel quit (pid 81007) 02:01:21.639726 =====> Closed passive DATA connection 02:01:21.639749 > "226 File transfer complete[CR][LF]" 02:01:21.682055 < "QUIT" 02:01:21.682111 > "221 bye bye baby[CR][LF]" 02:01:21.682969 MAIN sockfilt said DISC 02:01:21.683002 ====> Client disconnected 02:01:21.683063 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.861172 Running IPv4 version 02:01:20.861258 Listening on port 41879 02:01:20.861296 Wrote pid 80491 to log/7/server/ftp_sockctrl.pid 02:01:20.861327 Wrote port 41879 to log/7/server/ftp_server.port 02:01:20.861346 Received PING (on stdin) 02:01:21.836285 ====> Client connect 02:01:21.836497 Received DATA (on stdin) 02:01:21.836513 > 160 bytes data, server => client 02:01:21.836527 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.836539 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.836550 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.836620 < 16 bytes data, client => server 02:01:21.836634 'USER anonymous\r\n' 02:01:21.836802 Received DATA (on stdin) 02:01:21.836815 > 33 bytes data, server => client 02:01:21.836826 '331 We are happy you popped in!\r\n' 02:01:21.836880 < CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind109 ../src/curl -q --output log/11/curl109.out --include --trace-ascii log/11/trace109 --trace-config all --trace-time ftp://127.0.0.1:45687/109 -T log/11/upload109 --append > log/11/stdout109 2> log/11/stderr109 22 bytes data, client => server 02:01:21.836892 'PASS ftp@example.com\r\n' 02:01:21.836987 Received DATA (on stdin) 02:01:21.836998 > 30 bytes data, server => client 02:01:21.837010 '230 Welcome you silly person\r\n' 02:01:21.837059 < 5 bytes data, client => server 02:01:21.837070 'PWD\r\n' 02:01:21.837164 Received DATA (on stdin) 02:01:21.837176 > 30 bytes data, server => client 02:01:21.837187 '257 "/" is current directory\r\n' 02:01:21.837242 < 6 bytes data, client => server 02:01:21.837254 'EPSV\r\n' 02:01:21.838754 Received DATA (on stdin) 02:01:21.838767 > 38 bytes data, server => client 02:01:21.838779 '229 Entering Passive Mode (|||37569|)\n' 02:01:21.838888 < 8 bytes data, client => server 02:01:21.838903 'TYPE I\r\n' 02:01:21.839075 Received DATA (on stdin) 02:01:21.839088 > 33 bytes data, server => client 02:01:21.839099 '200 I modify TYPE as you wanted\r\n' 02:01:21.839150 < 21 bytes data, client => server 02:01:21.839164 'SIZE verifiedserver\r\n' 02:01:21.839296 Received DATA (on stdin) 02:01:21.839310 > 8 bytes data, server => client 02:01:21.839321 '213 17\r\n' 02:01:21.839381 < 21 bytes data, client => server 02:01:21.839394 'RETR verifiedserver\r\n' 02:01:21.839586 Received DATA (on stdin) 02:01:21.839599 > 29 bytes data, server => client 02:01:21.839611 '150 Binary junk (17 bytes).\r\n' 02:01:21.839888 Received DATA (on stdin) 02:01:21.839901 > 28 bytes data, server => client 02:01:21.839912 '226 File transfer complete\r\n' 02:01:21.882007 < 6 bytes data, client => server 02:01:21.882034 'QUIT\r\n' 02:01:21.882257 Received DATA (on stdin) 02:01:21.882271 > 18 bytes data, server => client 02:01:21.882282 '221 bye bye baby\r\n' 02:01:21.883051 ====> Client disconnect 02:01:21.883205 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.838422 Running IPv4 version 02:01:21.838473 Listening on port 37569 02:01:21.838526 Wrote pid 81007 to log/7/server/ftp_sockdata.pid 02:01:21.838542 Received PING (on stdin) 02:01:21.838618 Received PORT (on stdin) 02:01:21.838921 ====> Client connect 02:01:21.839507 Received DATA (on stdin) 02:01:21.839519 > 17 bytes data, server => client 02:01:21.839530 'WE ROOLZ: 80479\r\n' 02:01:21.839585 Received DISC (on stdin) 02:01:21.839601 ====> Client forcibly disconnected 02:01:21.839685 Received QUIT (on stdin) 02:01:21.839696 quits 02:01:21.839737 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 108 === End of file server.cmd === Start of file upload108 Moooooooooooo upload this === End of file upload108 === Start of file valgrind108 ==81109== ==81109== Process terminating with default action of signal 4 (SIGILL) ==81109== Illegal opcode at address 0x10B08D ==81109== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81109== by 0x10B08D: main (tool_main.c:232) === End of file valgrind108 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/ftp_server.pid" --logfile "log/11/ftp_server.log" --logdir "log/11" --portfile "log/11/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45687 (log/11/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:45687/verifiedserver" 2>log/11/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80480 port 45687 * pid ftp => 80480 80480 test 0109...[FTP PASV upload append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind109 ../src/curl -q --output log/11/curl109.out --include --trace-ascii log/11/trace109 --trace-config all --trace-time ftp://127.0.0.1:45687/109 -T log/11/upload109 --append > log/11/stdout109 2> log/11/stderr109 109: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 109 === Start of file ftp_server.log 02:01:20.653798 FTP server listens on port IPv4/45687 02:01:20.653874 logged pid 80480 in log/11/server/ftp_server.pid 02:01:20.653949 Awaiting input 02:01:21.639149 ====> Client connect 02:01:21.639253 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.639479 < "USER anonymous" 02:01:21.639510 > "331 We are happy you popped in![CR][LF]" 02:01:21.639698 < "PASS ftp@example.com" 02:01:21.639769 > "230 Welcome you silly person[CR][LF]" 02:01:21.641046 < "PWD" 02:01:21.641078 > "257 "/" is current directory[CR][LF]" 02:01:21.641283 < "EPSV" 02:01:21.641310 ====> Passive DATA channel requested by client 02:01:21.641323 DATA sockfilt for passive data channel starting... 02:01:21.642790 DATA sockfilt for passive data channel started (pid 81009) 02:01:21.642894 DATA sockfilt for passive data channel listens on port 34329 02:01:21.642935 > "229 Entering Passive Mode (|||34329|)[LF]" 02:01:21.642954 Client has been notified that DATA conn will be accepted on port 34329 02:01:21.643179 Client connects to port 34329 02:01:21.643207 ====> Client established passive DATA connection on port 34329 02:01:21.643267 < "TYPE I" 02:01:21.643294 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.643453 < "SIZE verifiedserver" 02:01:21.643488 > "213 17[CR][LF]" 02:01:21.643638 < "RETR verifiedserver" 02:01:21.643676 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.643744 =====> Closing passive DATA connection... 02:01:21.643759 Server disconnects passive DATA connection 02:01:21.643975 Server disconnected passive DATA connection 02:01:21.644002 DATA sockfilt for passive data channel quits (pid 81009) 02:01:21.644219 DATA sockfilt for passive data channel quit (pid 81009) 02:01:21.644240 =====> Closed passive DATA connection 02:01:21.644264 > "226 File transfer complete[CR][LF]" 02:01:21.685328 < "QUIT" 02:01:21.685375 > "221 bye bye baby[CR][LF]" 02:01:21.686379 MAIN sockfilt said DISC 02:01:21.686413 ====> Client disconnected 02:01:21.686469 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.853574 Running IPv4 version 02:01:20.853662 Listening on port 45687 02:01:20.853700 Wrote pid 80483 to log/11/server/ftp_sockctrl.pid 02:01:20.853727 Wrote port 45687 to log/11/server/ftp_server.port 02:01:20.853854 Received PING (on stdin) 02:01:21.839232 ====> Client connect 02:01:21.839392 Received DATA (on stdin) 02:01:21.839403 > 160 bytes data, server => client 02:01:21.839413 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.839421 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.839430 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.839482 < 16 bytes data, client => server 02:01:21.839491 'USER anonymous\r\n' 02:01:21.839650 Received DATA (on stdin) 02:01:21.839670 > 33 bytes data, server => client 02:01:21.839683 '331 We are happy you popped in!\r\n' 02:01:21.839739 < 22 bytes data, client => server 02:01:21.839754 'PASS ftp@example.com\r\n' 02:01:21.839914 Received DATA (on stdin) 02:01:21.839927 > 30 bytes data, server => client 02:01:21.839941 '230 Welcome you silly person\r\n' 02:01:21.841096 < 5 bytes data, client => server 02:01:21.841114 'PWD\r\n' 02:01:21.841240 Received DATA (on stdin) 02:01:21.841254 > 30 bytes data, server => client 02:01:21.841265 '257 "/" is current directory\r\n' 02:01:21.841333 < 6 bytes data, client => server 02:01:21.841347 'EPSV\r\n' 02:01:21.843101 Received DATA (on stdin) 02:01:21.843114 > 38 bytes data, server => client 02:01:21.843126 '229 Entering Passive Mode (|||34329|)\n' 02:01:21.843268 < 8 bytes data, client => server 02:01:21.843281 'TYPE I\r\n' 02:01:21.843433 Received DATA (on stdin) 02:01:21.843445 > 33 bytes data, server => client 02:01:21.843456 '20CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind116 ../src/curl -q --output log/9/curl116.out --include --trace-ascii log/9/trace116 --trace-config all --trace-time ftp://127.0.0.1:35301/116 -P 1.2.3.4 > log/9/stdout116 2> log/9/stderr116 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind112 ../src/curl -q --output log/8/curl112.out --include --trace-ascii log/8/trace112 --trace-config all --trace-time ftp://127.0.0.1:39101/112 -T log/8/upload112 -C 40 > log/8/stdout112 2> log/8/stderr112 0 I modify TYPE as you wanted\r\n' 02:01:21.843508 < 21 bytes data, client => server 02:01:21.843521 'SIZE verifiedserver\r\n' 02:01:21.843629 Received DATA (on stdin) 02:01:21.843641 > 8 bytes data, server => client 02:01:21.843651 '213 17\r\n' 02:01:21.843707 < 21 bytes data, client => server 02:01:21.843721 'RETR verifiedserver\r\n' 02:01:21.843898 Received DATA (on stdin) 02:01:21.843912 > 29 bytes data, server => client 02:01:21.843924 '150 Binary junk (17 bytes).\r\n' 02:01:21.844403 Received DATA (on stdin) 02:01:21.844416 > 28 bytes data, server => client 02:01:21.844427 '226 File transfer complete\r\n' 02:01:21.885311 < 6 bytes data, client => server 02:01:21.885338 'QUIT\r\n' 02:01:21.885520 Received DATA (on stdin) 02:01:21.885533 > 18 bytes data, server => client 02:01:21.885543 '221 bye bye baby\r\n' 02:01:21.886411 ====> Client disconnect 02:01:21.886634 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.842511 Running IPv4 version 02:01:21.842580 Listening on port 34329 02:01:21.842613 Wrote pid 81009 to log/11/server/ftp_sockdata.pid 02:01:21.842869 Received PING (on stdin) 02:01:21.842958 Received PORT (on stdin) 02:01:21.843240 ====> Client connect 02:01:21.843954 Received DATA (on stdin) 02:01:21.843967 > 17 bytes data, server => client 02:01:21.843979 'WE ROOLZ: 80480\r\n' 02:01:21.844003 Received DISC (on stdin) 02:01:21.844016 ====> Client forcibly disconnected 02:01:21.844147 Received QUIT (on stdin) 02:01:21.844159 quits 02:01:21.844253 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 109 === End of file server.cmd === Start of file upload109 Moooooooooooo upload this === End of file upload109 === Start of file valgrind109 ==81112== ==81112== Process terminating with default action of signal 4 (SIGILL) ==81112== Illegal opcode at address 0x10B08D ==81112== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81112== by 0x10B08D: main (tool_main.c:232) === End of file valgrind109 test 0116...[FTP download, failed PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind116 ../src/curl -q --output log/9/curl116.out --include --trace-ascii log/9/trace116 --trace-config all --trace-time ftp://127.0.0.1:35301/116 -P 1.2.3.4 > log/9/stdout116 2> log/9/stderr116 116: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 116 === Start of file ftp_server.log 02:01:21.829537 ====> Client connect 02:01:21.829662 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.829901 < "USER anonymous" 02:01:21.829932 > "331 We are happy you popped in![CR][LF]" 02:01:21.830093 < "PASS ftp@example.com" 02:01:21.830117 > "230 Welcome you silly person[CR][LF]" 02:01:21.830259 < "PWD" 02:01:21.830288 > "257 "/" is current directory[CR][LF]" 02:01:21.830433 < "EPSV" 02:01:21.830454 ====> Passive DATA channel requested by client 02:01:21.830467 DATA sockfilt for passive data channel starting... 02:01:21.831788 DATA sockfilt for passive data channel started (pid 81336) 02:01:21.831891 DATA sockfilt for passive data channel listens on port 46131 02:01:21.831928 > "229 Entering Passive Mode (|||46131|)[LF]" 02:01:21.831946 Client has been notified that DATA conn will be accepted on port 46131 02:01:21.832172 Client connects to port 46131 02:01:21.832200 ====> Client established passive DATA connection on port 46131 02:01:21.832266 < "TYPE I" 02:01:21.832292 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.832444 < "SIZE verifiedserver" 02:01:21.832476 > "213 17[CR][LF]" 02:01:21.833335 < "RETR verifiedserver" 02:01:21.833372 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.833444 =====> Closing passive DATA connection... 02:01:21.833461 Server disconnects passive DATA connection 02:01:21.833522 Server disconnected passive DATA connection 02:01:21.833548 DATA sockfilt for passive data channel quits (pid 81336) 02:01:21.833711 DATA sockfilt for passive data channel quit (pid 81336) 02:01:21.833733 =====> Closed passive DATA connection 02:01:21.833758 > "226 File transfer complete[CR][LF]" 02:01:21.879088 < "QUIT" 02:01:21.879137 > "221 bye bye baby[CR][LF]" 02:01:21.879841 MAIN sockfilt said DISC 02:01:21.879872 ====> Client disconnected 02:01:21.879936 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.029590 ====> Client connect 02:01:22.029807 Received DATA (on stdin) 02:01:22.029821 > 160 bytes data, server => client 02:01:22.029833 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.029845 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.029855 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.029919 < 16 bytes data, client => server 02:01:22.029931 'USER anonymous\r\n' 02:01:22.030072 Received DATA (on stdin) 02:01:22.030085 > 33 bytes data, server => client 02:01:22.030096 '331 We are happy you popped in!\r\n' 02:01:22.030151 < 22 bytes data, client => server 02:01:22.030162 'PASS ftp@example.com\r\n' 02:01:22.030255 Received DATA (on stdin) 02:01:22.030266 > 30 bytes data, server => client 02:01:22.030277 '230 Welcome you silly person\r\n' 02:01:22.030324 < 5 bytes data, client => server 02:01:22.030335 'PWD\r\n' 02:01:22.030425 Received DATA (on stdin) 02:01:22.030436 > 30 bytes data, server => client 02:01:22.030447 '257 "/" is current directory\r\n' 02:01:22.030500 < 6 bytes data, client => server 02:01:22.030510 'EPSV\r\n' 02:01:22.032090 Received DATA (on stdin) 02:01:22.032104 > 38 bytes data, server => client 02:01:22.032116 '229 Entering Passive Mode (|||46131|)\n' 02:01:22.032234 < 8 bytes data, client => server 02:01:22.032250 'TYPE I\r\n' 02:01:22.032431 Received DATA (on stdin) 02:01:22.032443 > 33 bytes data, server => client 02:01:22.032454 '200 I modify TYPE as you wanted\r\n' 02:01:22.032505 < 21 bytes data, client => server 02:01:22.032517 'SIZE verifiedserver\r\n' 02:01:22.032615 Received DATA (on stdin) 02:01:22.032627 > 8 bytes data, server => client 02:01:22.032637 '213 17\r\n' 02:01:22.032694 < 21 bytes data, client => server 02:01:22.032707 'RETR verifiedserver\r\n' 02:01:22.033603 Received DATA (on stdin) 02:01:22.033617 > 29 bytes data, server => client 02:01:22.033628 '150 Binary junk (17 bytes).\r\n' 02:01:22.033896 Received DATA (on stdin) 02:01:22.033908 > 28 bytes data, server => client 02:01:22.033918 '226 File transfer complete\r\n' 02:01:22.079070 < 6 bytes data, client => server 02:01:22.079096 'QUIT\r\n' 02:01:22.079280 Received DATA (on stdin) 02:01:22.079292 > 18 bytes data, server => client 02:01:22.079303 '221 bye bye baby\r\n' 02:01:22.079930 ====> Client disconnect 02:01:22.080075 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.031735 Running IPv4 version 02:01:21.031785 Listening on port 46131 02:01:21.031851 Wrote pid 81336 to log/9/server/ftp_sockdata.pid 02:01:21.031870 Received PING (on stdin) 02:01:21.031949 Received PORT (on stdin) 02:01:21.032269 ====> Client connect 02:01:21.033521 Received DATA (on stdin) 02:01:21.033536 > 17 bytes data, server => client 02:01:21.033546 'WE ROOLZ: 80452\r\n' 02:01:21.033601 Received DISC (on stdin) 02:01:21.033613 ====> Client forcibly disconnected 02:01:21.033693 Received QUIT (on stdin) 02:01:21.033703 quits 02:01:21.033745 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 we don't like EPRT now REPLY PORT 314 bluah you f00l Testnum 116 === End of file server.cmd === Start of file valgrind116 ==81416== ==81416== Process terminating with default action of signal 4 (SIGILL) ==81416== Illegal oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind114 ../src/curl -q --output log/12/curl114.out --include --trace-ascii log/12/trace114 --trace-config all --trace-time ftp://127.0.0.1:40171/114 > log/12/stdout114 2> log/12/stderr114 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind113 ../src/curl -q --output log/10/curl113.out --include --trace-ascii log/10/trace113 --trace-config all --trace-time ftp://127.0.0.1:42661/113 > log/10/stdout113 2> log/10/stderr113 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind115 ../src/curl -q --output log/6/curl115.out --include --trace-ascii log/6/trace115 --trace-config all --trace-time ftp://127.0.0.1:40433/115 > log/6/stdout115 2> log/6/stderr115 pcode at address 0x10B08D ==81416== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81416== by 0x10B08D: main (tool_main.c:232) === End of file valgrind116 test 0112...[FTP PASV upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind112 ../src/curl -q --output log/8/curl112.out --include --trace-ascii log/8/trace112 --trace-config all --trace-time ftp://127.0.0.1:39101/112 -T log/8/upload112 -C 40 > log/8/stdout112 2> log/8/stderr112 112: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 112 === Start of file ftp_server.log 02:01:21.633561 ====> Client connect 02:01:21.633673 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.633872 < "USER anonymous" 02:01:21.633897 > "331 We are happy you popped in![CR][LF]" 02:01:21.634018 < "PASS ftp@example.com" 02:01:21.634036 > "230 Welcome you silly person[CR][LF]" 02:01:21.634143 < "PWD" 02:01:21.634163 > "257 "/" is current directory[CR][LF]" 02:01:21.634275 < "EPSV" 02:01:21.634292 ====> Passive DATA channel requested by client 02:01:21.634301 DATA sockfilt for passive data channel starting... 02:01:21.635351 DATA sockfilt for passive data channel started (pid 81006) 02:01:21.635424 DATA sockfilt for passive data channel listens on port 39083 02:01:21.635450 > "229 Entering Passive Mode (|||39083|)[LF]" 02:01:21.635462 Client has been notified that DATA conn will be accepted on port 39083 02:01:21.635670 Client connects to port 39083 02:01:21.635696 ====> Client established passive DATA connection on port 39083 02:01:21.635757 < "TYPE I" 02:01:21.635783 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.635936 < "SIZE verifiedserver" 02:01:21.635970 > "213 17[CR][LF]" 02:01:21.636117 < "RETR verifiedserver" 02:01:21.636148 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.636216 =====> Closing passive DATA connection... 02:01:21.636231 Server disconnects passive DATA connection 02:01:21.636444 Server disconnected passive DATA connection 02:01:21.636471 DATA sockfilt for passive data channel quits (pid 81006) 02:01:21.636641 DATA sockfilt for passive data channel quit (pid 81006) 02:01:21.636663 =====> Closed passive DATA connection 02:01:21.636686 > "226 File transfer complete[CR][LF]" 02:01:21.685327 < "QUIT" 02:01:21.685377 > "221 bye bye baby[CR][LF]" 02:01:21.686130 MAIN sockfilt said DISC 02:01:21.686157 ====> Client disconnected 02:01:21.686217 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:21.833612 ====> Client connect 02:01:21.833816 Received DATA (on stdin) 02:01:21.833827 > 160 bytes data, server => client 02:01:21.833837 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.833845 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.833853 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.833908 < 16 bytes data, client => server 02:01:21.833917 'USER anonymous\r\n' 02:01:21.834031 Received DATA (on stdin) 02:01:21.834041 > 33 bytes data, server => client 02:01:21.834049 '331 We are happy you popped in!\r\n' 02:01:21.834088 < 22 bytes data, client => server 02:01:21.834097 'PASS ftp@example.com\r\n' 02:01:21.834169 Received DATA (on stdin) 02:01:21.834178 > 30 bytes data, server => client 02:01:21.834186 '230 Welcome you silly person\r\n' 02:01:21.834221 < 5 bytes data, client => server 02:01:21.834229 'PWD\r\n' 02:01:21.834296 Received DATA (on stdin) 02:01:21.834304 > 30 bytes data, server => client 02:01:21.834312 '257 "/" is current directory\r\n' 02:01:21.834353 < 6 bytes data, client => server 02:01:21.834362 'EPSV\r\n' 02:01:21.835599 Received DATA (on stdin) 02:01:21.835611 > 38 bytes data, server => client 02:01:21.835622 '229 Entering Passive Mode (|||39083|)\n' 02:01:21.835729 < 8 bytes data, client => server 02:01:21.835747 'TYPE I\r\n' 02:01:21.835923 Received DATA (on stdin) 02:01:21.835935 > 33 bytes data, server => client 02:01:21.835946 '200 I modify TYPE as you wanted\r\n' 02:01:21.835996 < 21 bytes data, client => server 02:01:21.836008 'SIZE verifiedserver\r\n' 02:01:21.836109 Received DATA (on stdin) 02:01:21.836121 > 8 bytes data, server => client 02:01:21.836131 '213 17\r\n' 02:01:21.836178 < 21 bytes data, client => server 02:01:21.836190 'RETR verifiedserver\r\n' 02:01:21.836370 Received DATA (on stdin) 02:01:21.836382 > 29 bytes data, server => client 02:01:21.836393 '150 Binary junk (17 bytes).\r\n' 02:01:21.836826 Received DATA (on stdin) 02:01:21.836839 > 28 bytes data, server => client 02:01:21.836849 '226 File transfer complete\r\n' 02:01:21.885310 < 6 bytes data, client => server 02:01:21.885338 'QUIT\r\n' 02:01:21.885519 Received DATA (on stdin) 02:01:21.885530 > 18 bytes data, server => client 02:01:21.885540 '221 bye bye baby\r\n' 02:01:21.886223 ====> Client disconnect 02:01:21.886356 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.835348 Running IPv4 version 02:01:21.835397 Listening on port 39083 02:01:21.835430 Wrote pid 81006 to log/8/server/ftp_sockdata.pid 02:01:21.835443 Received PING (on stdin) 02:01:21.835500 Received PORT (on stdin) 02:01:21.835765 ====> Client connect 02:01:21.836420 Received DATA (on stdin) 02:01:21.836433 > 17 bytes data, server => client 02:01:21.836444 'WE ROOLZ: 80441\r\n' 02:01:21.836469 Received DISC (on stdin) 02:01:21.836482 ====> Client forcibly disconnected 02:01:21.836616 Received QUIT (on stdin) 02:01:21.836628 quits 02:01:21.836668 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 112 === End of file server.cmd === Start of file upload112 this is the *****crap******** that we're gonna upload worx? === End of file upload112 === Start of file valgrind112 ==81115== ==81115== Process terminating with default action of signal 4 (SIGILL) ==81115== Illegal opcode at address 0x10B08D ==81115== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81115== by 0x10B08D: main (tool_main.c:232) === End of file valgrind112 test 0113...[FTP download, failed login: USER not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind113 ../src/curl -q --output log/10/curl113.out --include --trace-ascii log/10/trace113 --trace-config all --trace-time ftp://127.0.0.1:42661/113 > log/10/stdout113 2> log/10/stderr113 113: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 113 === Start of file ftp_server.log 02:01:21.816263 ====> Client connect 02:01:21.816406 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.816666 < "USER anonymous" 02:01:21.816697 > "331 We are happy you popped in![CR][LF]" 02:01:21.816852 < "PASS ftp@example.com" 02:01:21.816876 > "230 Welcome you silly person[CR][LF]" 02:01:21.817020 < "PWD" 02:01:21.817050 > "257 "/" is current directory[CR][LF]" 02:01:21.817228 < "EPSV" 02:01:21.817254 ====> Passive DATA channel requested by client 02:01:21.817267 DATA sockfilt for passive data channel starting... 02:01:21.818866 DATA sockfilt for passive data channel started (pid 81319) 02:01:21.818956 DATA sockfilt for passive data channel listens on port 42979 02:01:21.818991 > "229 Entering Passive Mode (|||42979|)[LF]" 02:01:21.819010 Client has been notified that DATA conn will be accepted on port 42979 02:01:21.819233 Client connects to port 42979 02:01:21.819262 ====> Client established passive DATA connection on port 42979 02:01:21.819324 < "TYPE I" 02:01:21.819350 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.819505 < "SIZE verifiedserver" 02:01:21.819539 > "213 17[CR][LF]" 02:01:21.819684 < "RETR verifiedserver" 02:01:21.819715 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.819784 =====> Closing passive DATA connection... 02:01:21.819799 Server disconnects passive DATA connection 02:01:21.819923 Server disconnected passive DATA connection 02:01:21.819946 DATA sockfilt for passive data channel quits (pid 81319) 02:01:21.820131 DATA sockfilt for passive data channel quit (pid 81319) 02:01:21.820153 =====> Closed passive DATA connection 02:01:21.820177 > "226 File transfer complete[CR][LF]" 02:01:21.865388 < "QUIT" 02:01:21.865438 > "221 bye bye baby[CR][LF]" 02:01:21.866301 MAIN sockfilt said DISC 02:01:21.866327 ====> Client disconnected 02:01:21.866467 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.016305 ====> Client connect 02:01:22.016552 Received DATA (on stdin) 02:01:22.016566 > 160 bytes data, server => client 02:01:22.016579 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.016591 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.016601 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.016674 < 16 bytes data, client => server 02:01:22.016687 'USER anonymous\r\n' 02:01:22.016837 Received DATA (on stdin) 02:01:22.016850 > 33 bytes data, server => client 02:01:22.016860 '331 We are happy you popped in!\r\n' 02:01:22.016909 < 22 bytes data, client => server 02:01:22.016920 'PASS ftp@example.com\r\n' 02:01:22.017013 Received DATA (on stdin) 02:01:22.017024 > 30 bytes data, server => client 02:01:22.017035 '230 Welcome you silly person\r\n' 02:01:22.017081 < 5 bytes data, client => server 02:01:22.017095 'PWD\r\n' 02:01:22.017178 Received DATA (on stdin) 02:01:22.017197 > 30 bytes data, server => client 02:01:22.017209 '257 "/" is current directory\r\n' 02:01:22.017277 < 6 bytes data, client => server 02:01:22.017291 'EPSV\r\n' 02:01:22.019152 Received DATA (on stdin) 02:01:22.019166 > 38 bytes data, server => client 02:01:22.019179 '229 Entering Passive Mode (|||42979|)\n' 02:01:22.019295 < 8 bytes data, client => server 02:01:22.019311 'TYPE I\r\n' 02:01:22.019489 Received DATA (on stdin) 02:01:22.019502 > 33 bytes data, server => client 02:01:22.019513 '200 I modify TYPE as you wanted\r\n' 02:01:22.019564 < 21 bytes data, client => server 02:01:22.019576 'SIZE verifiedserver\r\n' 02:01:22.019677 Received DATA (on stdin) 02:01:22.019688 > 8 bytes data, server => client 02:01:22.019699 '213 17\r\n' 02:01:22.019747 < 21 bytes data, client => server 02:01:22.019759 'RETR verifiedserver\r\n' 02:01:22.019975 Received DATA (on stdin) 02:01:22.019988 > 29 bytes data, server => client 02:01:22.020000 '150 Binary junk (17 bytes).\r\n' 02:01:22.020316 Received DATA (on stdin) 02:01:22.020329 > 28 bytes data, server => client 02:01:22.020340 '226 File transfer complete\r\n' 02:01:22.065345 < 6 bytes data, client => server 02:01:22.065377 'QUIT\r\n' 02:01:22.065580 Received DATA (on stdin) 02:01:22.065592 > 18 bytes data, server => client 02:01:22.065602 '221 bye bye baby\r\n' 02:01:22.066395 ====> Client disconnect 02:01:22.066487 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.018572 Running IPv4 version 02:01:21.018622 Listening on port 42979 02:01:21.018655 Wrote pid 81319 to log/10/server/ftp_sockdata.pid 02:01:21.018944 Received PING (on stdin) 02:01:21.019021 Received PORT (on stdin) 02:01:21.019329 ====> Client connect 02:01:21.019944 Received DATA (on stdin) 02:01:21.019960 > 17 bytes data, server => client 02:01:21.019971 'WE ROOLZ: 80449\r\n' 02:01:21.020001 Received DISC (on stdin) 02:01:21.020014 ====> Client forcibly disconnected 02:01:21.020091 Received QUIT (on stdin) 02:01:21.020104 quits 02:01:21.020153 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 314 bluah you fewl Testnum 113 === End of file server.cmd === Start of file valgrind113 ==81353== ==81353== Process terminating with default action of signal 4 (SIGILL) ==81353== Illegal opcode at address 0x10B08D ==81353== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81353== by 0x10B08D: main (tool_main.c:232) === End of file valgrind113 test 0114...[FTP download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind114 ../src/curl -q --output log/12/curl114.out --include --trace-ascii log/12/trace114 --trace-config all --trace-time ftp://127.0.0.1:40171/114 > log/12/stdout114 2> log/12/stderr114 114: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 114 === Start of file ftp_server.log 02:01:21.817348 ====> Client connect 02:01:21.817481 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.817748 < "USER anonymous" 02:01:21.817782 > "331 We are happy you popped in![CR][LF]" 02:01:21.817948 < "PASS ftp@example.com" 02:01:21.817978 > "230 Welcome you silly person[CR][LF]" 02:01:21.818158 < "PWD" 02:01:21.818190 > "257 "/" is current directory[CR][LF]" 02:01:21.818339 < "EPSV" 02:01:21.818362 ====> Passive DATA channel requested by client 02:01:21.818398 DATA sockfilt for passive data channel starting... 02:01:21.819814 DATA sockfilt for passive data channel started (pid 81323) 02:01:21.819905 DATA sockfilt for passive data channel listens on port 46061 02:01:21.819938 > "229 Entering Passive Mode (|||46061|)[LF]" 02:01:21.819953 Client has been notified that DATA conn will be accepted on port 46061 02:01:21.820172 Client connects to port 46061 02:01:21.820198 ====> Client established passive DATA connection on port 46061 02:01:21.820254 < "TYPE I" 02:01:21.820273 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.820394 < "SIZE verifiedserver" 02:01:21.820421 > "213 17[CR][LF]" 02:01:21.820530 < "RETR verifiedserver" 02:01:21.820551 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.820606 =====> Closing passive DATA connection... 02:01:21.820617 Server disconnects passive DATA connection 02:01:21.820794 Server disconnected passive DATA connection 02:01:21.820816 DATA sockfilt for passive data channel quits (pid 81323) 02:01:21.820952 DATA sockfilt for passive data channel quit (pid 81323) 02:01:21.820968 =====> Closed passive DATA connection 02:01:21.820987 > "226 File transfer complete[CR][LF]" 02:01:21.865482 < "QUIT" 02:01:21.865528 > "221 bye bye baby[CR][LF]" 02:01:21.866310 MAIN sockfilt said DISC 02:01:21.866338 ====> Client disconnected 02:01:21.866635 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.017403 ====> Client connect 02:01:22.017631 Received DATA (on stdin) 02:01:22.017647 > 160 bytes data, server => client 02:01:22.017660 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.017672 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.017683 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.017752 < 16 bytes data, client => server 02:01:22.017770 'USER anonymous\r\n' 02:01:22.017926 Received DATA (on stdin) 02:01:22.017938 > 33 bytes data, server => client 02:01:22.017949 '331 We are happy you popped in!\r\n' 02:01:22.018004 < 22 bytes data, client => server 02:01:22.018015 'PASS ftp@example.com\r\n' 02:01:22.018117 Received DATA (on stdin) 02:01:22.018128 > 30 bytes data, server => client 02:01:22.018139 '230 Welcome you silly person\r\n' 02:01:22.018202 < 5 bytes data, client => server 02:01:22.018221 'PWD\r\n' 02:01:22.018328 Received DATA (on stdin) 02:01:22.018339 > 30 bytes data, server => client 02:01:22.018350 '257 "/" is current directory\r\n' 02:01:22.018403 < 6 bytes data, client => server 02:01:22.018414 'EPSV\r\n' 02:01:22.020098 Received DATA (on stdin) 02:01:22.020110 > 38 bytes data, server => client 02:01:22.020126 '229 Entering Passive Mode (|||46061|)\n' 02:01:22.020232 < 8 bytes data, client => server 02:01:22.020248 'TYPE I\r\n' 02:01:22.020408 Received DATA (on stdin) 02:01:22.020418 > 33 bytes data, server => client 02:01:22.020426 '200 I modify TYPE as you wanted\r\n' 02:01:22.020469 < 21 bytes data, client => server 02:01:22.020478 'SIZE verifiedserver\r\n' 02:01:22.020554 Received DATA (on stdin) 02:01:22.020563 > 8 bytes data, server => client 02:01:22.020571 '213 17\r\n' 02:01:22.020607 < 21 bytes data, client => server 02:01:22.020616 'RETR verifiedserver\r\n' 02:01:22.020752 Received DATA (on stdin) 02:01:22.020761 > 29 bytes data, server => client 02:01:22.020769 '150 Binary junk (17 bytes).\r\n' 02:01:22.021125 Received DATA (on stdin) 02:01:22.021135 > 28 bytes data, server => client 02:01:22.021144 '226 File transfer complete\r\n' 02:01:22.065470 < 6 bytes data, client => server 02:01:22.065494 'QUIT\r\n' 02:01:22.065669 Received DATA (on stdin) 02:01:22.065681 > 18 bytes data, server => client 02:01:22.065692 '221 bye bye baby\r\n' 02:01:22.066401 ====> Client disconnect 02:01:22.066513 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.019617 Running IPv4 version 02:01:21.019665 Listening on port 46061 02:01:21.019702 Wrote pid 81323 to log/12/server/ftp_sockdata.pid 02:01:21.019898 Received PING (on stdin) 02:01:21.019971 Received PORT (on stdin) 02:01:21.020267 ====> Client connect 02:01:21.020805 Received DATA (on stdin) 02:01:21.020816 > 17 bytes data, server => client 02:01:21.020824 'WE ROOLZ: 80450\r\n' 02:01:21.020846 Received DISC (on stdin) 02:01:21.020856 ====> Client forcibly disconnected 02:01:21.020955 Received QUIT (on stdin) 02:01:21.020964 quits 02:01:21.020997 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 114 === End of file server.cmd === Start of file valgrind114 ==81354== ==81354== Process terminating with default action of signal 4 (SIGILL) ==81354== Illegal opcode at address 0x10B08D ==81354== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81354== by 0x10B08D: main (tool_main.c:232) === End of file valgrind114 test 0115...[FTP download, failed PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind115 ../src/curl -q --output log/6/curl115.out --include --trace-ascii log/6/trace115 --trace-config all --trace-time ftp://127.0.0.1:40433/115 > log/6/stdout115 2> log/6/stderr115 115: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 115 === Start of file ftp_server.log 02:01:21.824823 ====> Client connect 02:01:21.824956 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.825261 < "USER anonymous" 02:01:21.825299 > "331 We are happy you popped in![CR][LF]" 02:01:21.825468 < "PASS ftp@example.com" 02:01:21.825494 > "230 Welcome you silly person[CR][LF]" 02:01:21.825641 < "PWD" 02:01:21.825667 > "257 "/" is current directory[CR][LF]" 02:01:21.825817 < "EPSV" 02:01:21.825838 ====> Passive DATA channel requested by client 02:01:21.825850 DATA sockfilt for passive data channel starting... 02:01:21.827130 DATA sockfilt for passive data channel started (pid 81331) 02:01:21.827229 DATA sockfilt for passive data channel listens on port 35739 02:01:21.827271 > "229 Entering Passive Mode (|||35739|)[LF]" 02:01:21.827289 Client has been notified that DATA conn will be accepted on port 35739 02:01:21.827496 Client connects to port 35739 02:01:21.827523 ====> Client established passive DATA connection on port 35739 02:01:21.827577 < "TYPE I" 02:01:21.827599 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.827752 < "SIZE verifiedserver" 02:01:21.827803 > "213 17[CR][LF]" 02:01:21.827928 < "RETR verifiedserver" 02:01:21.827955 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.828025 =====> Closing passive DATA connection... 02:01:21.828039 Server disconnects passive DATA connection 02:01:21.828153 Server disconnected passive DATA connection 02:01:21.828171 DATA sockfilt for passive data channel quits (pid 81331) 02:01:21.828342 DATA sockfilt for passive data channel quit (pid 81331) 02:01:21.828361 =====> Closed passive DATA connection 02:01:21.828394 > "226 File transfer complete[CR][LF]" 02:01:21.869002 < "QUIT" 02:01:21.869046 > "221 bye bye baby[CR][LF]" 02:01:21.869726 MAIN sockfilt said DISC 02:01:21.869758 ====> Client disconnected 02:01:21.869815 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.024871 ====> Client connect 02:01:22.025103 Received DATA (on stdin) 02:01:22.025117 > 160 bytes data, server => client 02:01:22.025134 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.025145 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.025164 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.025231 < 16 bytes data, client => server 02:01:22.025244 'USER anonymous\r\n' 02:01:22.025440 Received DATA (on stdin) 02:01:22.025454 > 33 bytes data, server => client 02:01:22.025465 '331 We are happy you popped in!\r\n' 02:01:22.025522 < 22 bytes data, client => server 02:01:22.025534 'PASS ftp@example.com\r\n' 02:01:22.025634 Received DATA (on stdin) 02:01:22.025645 > 30 bytes data, server => client 02:01:22.025656 '230 Welcome you silly person\r\n' 02:01:22.025703 < 5 bytes data, client => server 02:01:22.025714 'PWD\r\n' 02:01:22.025804 Received DATA (on stdin) 02:01:22.025815 > 30 bytes data, server => client 02:01:22.025825 '257 "/" is current directory\r\n' 02:01:22.025878 < 6 bytes data, client => server 02:01:22.025889 'EPSV\r\n' 02:01:22.027435 Received DATA (on stdin) 02:01:22.027449 > 38 bytes data, server => client 02:01:22.027461 '229 Entering Passive Mode (|||35739|)\n' 02:01:22.027577 < 8 bytes data, client => server 02:01:22.027593 'TYPE I\r\n' 02:01:22.027736 Received DATA (on stdin) 02:01:22.027749 > 33 bytes data, server => client 02:01:22.027761 '200 I modify TYPE as you wanted\r\n' 02:01:22.027816 < 21 bytes data, client => server 02:01:22.027827 'SIZE verifiedserver\r\n' 02:01:22.027924 Received DATA (on stdin) 02:01:22.027935 > 8 bytes data, server => client 02:01:22.027945 '213 17\r\n' 02:01:22.027992 < 21 bytes data, client => server 02:01:22.028003 'RETR verifiedserver\r\n' 02:01:22.028176 Received DATA (on stdin) 02:01:22.028197 > 29 bytes data, server => client 02:01:22.028209 '150 Binary junk (17 bytes).\r\n' 02:01:22.028532 Received DATA (on stdin) 02:01:22.028545 > 28 bytes data, server => client 02:01:22.028557 '226 File transfer complete\r\n' 02:01:22.068996 < 6 bytes data, client => server 02:01:22.069018 'QUIT\r\n' 02:01:22.069187 Received DATA (on stdin) 02:01:22.069202 > 18 bytes data, server => client 02:01:22.069212 '221 bye bye baby\r\n' 02:01:22.069817 ====> Client disconnect 02:01:22.069953 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.027104 Running IPv4 version 02:01:21.027162 Listening on port 35739 02:01:21.027196 Wrote pid 81331 to log/6/server/ftp_sockdata.pid 02:01:21.027214 Received PING (on stdin) 02:01:21.027291 Received PORT (on stdin) 02:01:21.027584 ====> Client connect 02:01:21.028178 Received DATA (on stdin) 02:01:21.028193 > 17 bytes data, server => client 02:01:21.028204 'WE ROOLZ: 80451\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind110 ../src/curl -q --output log/5/curl110.out --include --trace-ascii log/5/trace110 --trace-config all --trace-time ftp://127.0.0.1:36485/110 -C 20 > log/5/stdout110 2> log/5/stderr110 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind117 ../src/curl -q --output log/2/curl117.out --include --trace-ascii log/2/trace117 --trace-config all --trace-time ftp://127.0.0.1:36595/117 > log/2/stdout117 2> log/2/stderr117 02:01:21.028233 Received DISC (on stdin) 02:01:21.028246 ====> Client forcibly disconnected 02:01:21.028314 Received QUIT (on stdin) 02:01:21.028324 quits 02:01:21.028371 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASV 314 bluah you f00l REPLY EPSV 314 bluah you f00l Testnum 115 === End of file server.cmd === Start of file valgrind115 ==81360== ==81360== Process terminating with default action of signal 4 (SIGILL) ==81360== Illegal opcode at address 0x10B08D ==81360== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81360== by 0x10B08D: main (tool_main.c:232) === End of file valgrind115 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/ftp_server.pid" --logfile "log/5/ftp_server.log" --logdir "log/5" --portfile "log/5/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36485 (log/5/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:36485/verifiedserver" 2>log/5/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80534 port 36485 * pid ftp => 80534 80534 test 0110...[FTP download resume with set limit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind110 ../src/curl -q --output log/5/curl110.out --include --trace-ascii log/5/trace110 --trace-config all --trace-time ftp://127.0.0.1:36485/110 -C 20 > log/5/stdout110 2> log/5/stderr110 110: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 110 === Start of file ftp_server.log 02:01:20.855729 FTP server listens on port IPv4/36485 02:01:20.855784 logged pid 80534 in log/5/server/ftp_server.pid 02:01:20.855802 Awaiting input 02:01:21.843886 ====> Client connect 02:01:21.844053 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:21.844337 < "USER anonymous" 02:01:21.844369 > "331 We are happy you popped in![CR][LF]" 02:01:21.844528 < "PASS ftp@example.com" 02:01:21.844551 > "230 Welcome you silly person[CR][LF]" 02:01:21.844691 < "PWD" 02:01:21.844720 > "257 "/" is current directory[CR][LF]" 02:01:21.844872 < "EPSV" 02:01:21.844896 ====> Passive DATA channel requested by client 02:01:21.844909 DATA sockfilt for passive data channel starting... 02:01:21.846419 DATA sockfilt for passive data channel started (pid 81350) 02:01:21.846513 DATA sockfilt for passive data channel listens on port 40985 02:01:21.846549 > "229 Entering Passive Mode (|||40985|)[LF]" 02:01:21.846565 Client has been notified that DATA conn will be accepted on port 40985 02:01:21.846784 Client connects to port 40985 02:01:21.846812 ====> Client established passive DATA connection on port 40985 02:01:21.846869 < "TYPE I" 02:01:21.846896 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:21.847044 < "SIZE verifiedserver" 02:01:21.847078 > "213 17[CR][LF]" 02:01:21.847220 < "RETR verifiedserver" 02:01:21.847248 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:21.847316 =====> Closing passive DATA connection... 02:01:21.847331 Server disconnects passive DATA connection 02:01:21.847554 Server disconnected passive DATA connection 02:01:21.847581 DATA sockfilt for passive data channel quits (pid 81350) 02:01:21.847752 DATA sockfilt for passive data channel quit (pid 81350) 02:01:21.847772 =====> Closed passive DATA connection 02:01:21.847797 > "226 File transfer complete[CR][LF]" 02:01:21.888754 < "QUIT" 02:01:21.888800 > "221 bye bye baby[CR][LF]" 02:01:21.888959 MAIN sockfilt said DISC 02:01:21.888989 ====> Client disconnected 02:01:21.889045 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:20.055656 Running IPv4 version 02:01:20.055724 Listening on port 36485 02:01:20.055755 Wrote pid 80535 to log/5/server/ftp_sockctrl.pid 02:01:20.055778 Wrote port 36485 to log/5/server/ftp_server.port 02:01:20.055793 Received PING (on stdin) 02:01:21.043945 ====> Client connect 02:01:21.044198 Received DATA (on stdin) 02:01:21.044212 > 160 bytes data, server => client 02:01:21.044225 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.044238 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.044248 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.044326 < 16 bytes data, client => server 02:01:21.044339 'USER anonymous\r\n' 02:01:21.044511 Received DATA (on stdin) 02:01:21.044523 > 33 bytes data, server => client 02:01:21.044534 '331 We are happy you popped in!\r\n' 02:01:21.044584 < 22 bytes data, client => server 02:01:21.044597 'PASS ftp@example.com\r\n' 02:01:21.044688 Received DATA (on stdin) 02:01:21.044699 > 30 bytes data, server => client 02:01:21.044710 '230 Welcome you silly person\r\n' 02:01:21.044756 < 5 bytes data, client => server 02:01:21.044768 'PWD\r\n' 02:01:21.044857 Received DATA (on stdin) 02:01:21.044868 > 30 bytes data, server => client 02:01:21.044879 '257 "/" is current directory\r\n' 02:01:21.044933 < 6 bytes data, client => server 02:01:21.044944 'EPSV\r\n' 02:01:21.046708 Received DATA (on stdin) 02:01:21.046721 > 38 bytes data, server => client 02:01:21.046733 '229 Entering Passive Mode (|||40985|)\n' 02:01:21.046849 < 8 bytes data, client => server 02:01:21.046863 'TYPE I\r\n' 02:01:21.047034 Received DATA (on stdin) 02:01:21.047046 > 33 bytes data, server => client 02:01:21.047057 '200 I modify TYPE as you wanted\r\n' 02:01:21.047107 < 21 bytes data, client => server 02:01:21.047119 'SIZE verifiedserver\r\n' 02:01:21.047218 Received DATA (on stdin) 02:01:21.047229 > 8 bytes data, server => client 02:01:21.047239 '213 17\r\n' 02:01:21.047284 < 21 bytes data, client => server 02:01:21.047295 'RETR verifiedserver\r\n' 02:01:21.047469 Received DATA (on stdin) 02:01:21.047480 > 29 bytes data, server => client 02:01:21.047491 '150 Binary junk (17 bytes).\r\n' 02:01:21.047935 Received DATA (on stdin) 02:01:21.047947 > 28 bytes data, server => client 02:01:21.047958 '226 File transfer complete\r\n' 02:01:21.088737 < 6 bytes data, client => server 02:01:21.088764 'QUIT\r\n' 02:01:21.088943 Received DATA (on stdin) 02:01:21.088955 > 18 bytes data, server => client 02:01:21.088966 '221 bye bye baby\r\n' 02:01:21.089044 ====> Client disconnect 02:01:21.089186 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:21.046291 Running IPv4 version 02:01:21.046342 Listening on port 40985 02:01:21.046382 Wrote pid 81350 to log/5/server/ftp_sockdata.pid 02:01:21.046505 Received PING (on stdin) 02:01:21.046578 Received PORT (on stdin) 02:01:21.046881 ====> Client connect 02:01:21.047536 Received DATA (on stdin) 02:01:21.047550 > 17 bytes data, server => client 02:01:21.047560 'WE ROOLZ: 80534\r\n' 02:01:21.047587 Received DISC (on stdin) 02:01:21.047599 ====> Client forcibly disconnected 02:01:21.047725 Received QUIT (on stdin) 02:01:21.047736 quits 02:01:21.047780 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 110 === End of file server.cmd === Start of file valgrind110 ==81460== ==81460== Process terminating with default action of signal 4 (SIGILL) ==81460== Illegal opcode at address 0x10B08D ==81460== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81460== by 0x10B08D: main (tool_main.c:232) === End of file valgrind110 test 0117...[FTP download, failed TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind117 ../src/curl -q --output log/2/curl117.out CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind111 ../src/curl -q --output log/4/curl111.out --include --trace-ascii log/4/trace111 --trace-config all --trace-time ftp://127.0.0.1:34583/111 -C 2000 > log/4/stdout111 2> log/4/stderr111 --include --trace-ascii log/2/trace117 --trace-config all --trace-time ftp://127.0.0.1:36595/117 > log/2/stdout117 2> log/2/stderr117 117: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 117 === Start of file ftp_server.log 02:01:22.007967 ====> Client connect 02:01:22.008112 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.008373 < "USER anonymous" 02:01:22.008406 > "331 We are happy you popped in![CR][LF]" 02:01:22.008597 < "PASS ftp@example.com" 02:01:22.008620 > "230 Welcome you silly person[CR][LF]" 02:01:22.008765 < "PWD" 02:01:22.008793 > "257 "/" is current directory[CR][LF]" 02:01:22.008936 < "EPSV" 02:01:22.008959 ====> Passive DATA channel requested by client 02:01:22.008971 DATA sockfilt for passive data channel starting... 02:01:22.010446 DATA sockfilt for passive data channel started (pid 81608) 02:01:22.010532 DATA sockfilt for passive data channel listens on port 33013 02:01:22.010564 > "229 Entering Passive Mode (|||33013|)[LF]" 02:01:22.010579 Client has been notified that DATA conn will be accepted on port 33013 02:01:22.010788 Client connects to port 33013 02:01:22.010815 ====> Client established passive DATA connection on port 33013 02:01:22.010875 < "TYPE I" 02:01:22.010899 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.011038 < "SIZE verifiedserver" 02:01:22.011082 > "213 17[CR][LF]" 02:01:22.011263 < "RETR verifiedserver" 02:01:22.011290 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.011362 =====> Closing passive DATA connection... 02:01:22.011375 Server disconnects passive DATA connection 02:01:22.011587 Server disconnected passive DATA connection 02:01:22.011610 DATA sockfilt for passive data channel quits (pid 81608) 02:01:22.011842 DATA sockfilt for passive data channel quit (pid 81608) 02:01:22.011865 =====> Closed passive DATA connection 02:01:22.011889 > "226 File transfer complete[CR][LF]" 02:01:22.052266 < "QUIT" 02:01:22.052316 > "221 bye bye baby[CR][LF]" 02:01:22.053318 MAIN sockfilt said DISC 02:01:22.053349 ====> Client disconnected 02:01:22.053416 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.207993 ====> Client connect 02:01:22.208260 Received DATA (on stdin) 02:01:22.208274 > 160 bytes data, server => client 02:01:22.208286 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.208298 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.208309 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.208374 < 16 bytes data, client => server 02:01:22.208386 'USER anonymous\r\n' 02:01:22.208545 Received DATA (on stdin) 02:01:22.208557 > 33 bytes data, server => client 02:01:22.208568 '331 We are happy you popped in!\r\n' 02:01:22.208617 < 22 bytes data, client => server 02:01:22.208627 'PASS ftp@example.com\r\n' 02:01:22.208759 Received DATA (on stdin) 02:01:22.208770 > 30 bytes data, server => client 02:01:22.208781 '230 Welcome you silly person\r\n' 02:01:22.208829 < 5 bytes data, client => server 02:01:22.208840 'PWD\r\n' 02:01:22.208929 Received DATA (on stdin) 02:01:22.208940 > 30 bytes data, server => client 02:01:22.208951 '257 "/" is current directory\r\n' 02:01:22.209003 < 6 bytes data, client => server 02:01:22.209014 'EPSV\r\n' 02:01:22.210722 Received DATA (on stdin) 02:01:22.210736 > 38 bytes data, server => client 02:01:22.210748 '229 Entering Passive Mode (|||33013|)\n' 02:01:22.210856 < 8 bytes data, client => server 02:01:22.210870 'TYPE I\r\n' 02:01:22.211036 Received DATA (on stdin) 02:01:22.211047 > 33 bytes data, server => client 02:01:22.211058 '200 I modify TYPE as you wanted\r\n' 02:01:22.211104 < 21 bytes data, client => server 02:01:22.211115 'SIZE verifiedserver\r\n' 02:01:22.211220 Received DATA (on stdin) 02:01:22.211231 > 8 bytes data, server => client 02:01:22.211240 '213 17\r\n' 02:01:22.211325 < 21 bytes data, client => server 02:01:22.211336 'RETR verifiedserver\r\n' 02:01:22.211600 Received DATA (on stdin) 02:01:22.211612 > 29 bytes data, server => client 02:01:22.211623 '150 Binary junk (17 bytes).\r\n' 02:01:22.212028 Received DATA (on stdin) 02:01:22.212041 > 28 bytes data, server => client 02:01:22.212052 '226 File transfer complete\r\n' 02:01:22.252221 < 6 bytes data, client => server 02:01:22.252254 'QUIT\r\n' 02:01:22.252457 Received DATA (on stdin) 02:01:22.252468 > 18 bytes data, server => client 02:01:22.252479 '221 bye bye baby\r\n' 02:01:22.253411 ====> Client disconnect 02:01:22.253555 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.210333 Running IPv4 version 02:01:22.210383 Listening on port 33013 02:01:22.210417 Wrote pid 81608 to log/2/server/ftp_sockdata.pid 02:01:22.210534 Received PING (on stdin) 02:01:22.210599 Received PORT (on stdin) 02:01:22.210887 ====> Client connect 02:01:22.211514 Received DATA (on stdin) 02:01:22.211527 > 17 bytes data, server => client 02:01:22.211537 'WE ROOLZ: 80457\r\n' 02:01:22.211565 Received DISC (on stdin) 02:01:22.211577 ====> Client forcibly disconnected 02:01:22.211755 Received QUIT (on stdin) 02:01:22.211766 quits 02:01:22.211814 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l REPLY TYPE 314 bluah you f00l Testnum 117 === End of file server.cmd === Start of file valgrind117 ==81614== ==81614== Process terminating with default action of signal 4 (SIGILL) ==81614== Illegal opcode at address 0x10B08D ==81614== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81614== by 0x10B08D: main (tool_main.c:232) === End of file valgrind117 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/ftp_server.pid" --logfile "log/4/ftp_server.log" --logdir "log/4" --portfile "log/4/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34583 (log/4/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:34583/verifiedserver" 2>log/4/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 80536 port 34583 * pid ftp => 80536 80536 test 0111...[FTP download resume beyond file size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind111 ../src/curl -q --output log/4/curl111.out --include --trace-ascii log/4/trace111 --trace-config all --trace-time ftp://127.0.0.1:34583/111 -C 2000 > log/4/stdout111 2> log/4/stderr111 111: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 111 === Start of file ftp_server.log 02:01:21.120753 FTP server listens on port IPv4/34583 02:01:21.120805 logged pid 80536 in log/4/server/ftp_server.pid 02:01:21.120821 Awaiting input 02:01:22.119883 ====> Client connect 02:01:22.120035 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.120278 < "USER anonymous" 02:01:22.120307 > "331 We are happy you popped in![CR][LF]" 02:01:22.120440 < "PASS ftp@example.com" 02:01:22.120460 > "230 Welcome you silly person[CR][LF]" 02:01:22.120583 < "PWD" 02:01:22.120611 > "257 "/" is current directory[CR][LF]" 02:01:22.120789 < "EPSV" 02:01:22.120817 ====> Passive DATA channel requested by client 02:01:22.120831 DATA sockfilt for passive data channel starting... 02:01:22.122558 DATA sockfilt for passive data channel started (pid 81676) 02:01:22.122659 DATA sockfilt for passiveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind118 ../src/curl -q --output log/1/curl118.out --include --trace-ascii log/1/trace118 --trace-config all --trace-time ftp://127.0.0.1:45039/118 > log/1/stdout118 2> log/1/stderr118 data channel listens on port 39153 02:01:22.122702 > "229 Entering Passive Mode (|||39153|)[LF]" 02:01:22.122718 Client has been notified that DATA conn will be accepted on port 39153 02:01:22.122982 Client connects to port 39153 02:01:22.123011 ====> Client established passive DATA connection on port 39153 02:01:22.123081 < "TYPE I" 02:01:22.123110 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.123269 < "SIZE verifiedserver" 02:01:22.123307 > "213 17[CR][LF]" 02:01:22.123468 < "RETR verifiedserver" 02:01:22.123504 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.123582 =====> Closing passive DATA connection... 02:01:22.123600 Server disconnects passive DATA connection 02:01:22.123839 Server disconnected passive DATA connection 02:01:22.123870 DATA sockfilt for passive data channel quits (pid 81676) 02:01:22.124089 DATA sockfilt for passive data channel quit (pid 81676) 02:01:22.124112 =====> Closed passive DATA connection 02:01:22.124138 > "226 File transfer complete[CR][LF]" 02:01:22.169848 < "QUIT" 02:01:22.169903 > "221 bye bye baby[CR][LF]" 02:01:22.170929 MAIN sockfilt said DISC 02:01:22.170971 ====> Client disconnected 02:01:22.171042 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:21.320703 Running IPv4 version 02:01:21.320761 Listening on port 34583 02:01:21.320791 Wrote pid 80537 to log/4/server/ftp_sockctrl.pid 02:01:21.320815 Wrote port 34583 to log/4/server/ftp_server.port 02:01:21.320828 Received PING (on stdin) 02:01:22.319941 ====> Client connect 02:01:22.320177 Received DATA (on stdin) 02:01:22.320188 > 160 bytes data, server => client 02:01:22.320199 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.320208 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.320216 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.320284 < 16 bytes data, client => server 02:01:22.320294 'USER anonymous\r\n' 02:01:22.320444 Received DATA (on stdin) 02:01:22.320455 > 33 bytes data, server => client 02:01:22.320465 '331 We are happy you popped in!\r\n' 02:01:22.320508 < 22 bytes data, client => server 02:01:22.320517 'PASS ftp@example.com\r\n' 02:01:22.320595 Received DATA (on stdin) 02:01:22.320604 > 30 bytes data, server => client 02:01:22.320613 '230 Welcome you silly person\r\n' 02:01:22.320652 < 5 bytes data, client => server 02:01:22.320660 'PWD\r\n' 02:01:22.320749 Received DATA (on stdin) 02:01:22.320762 > 30 bytes data, server => client 02:01:22.320774 '257 "/" is current directory\r\n' 02:01:22.320836 < 6 bytes data, client => server 02:01:22.320849 'EPSV\r\n' 02:01:22.322868 Received DATA (on stdin) 02:01:22.322882 > 38 bytes data, server => client 02:01:22.322895 '229 Entering Passive Mode (|||39153|)\n' 02:01:22.323042 < 8 bytes data, client => server 02:01:22.323058 'TYPE I\r\n' 02:01:22.323249 Received DATA (on stdin) 02:01:22.323262 > 33 bytes data, server => client 02:01:22.323273 '200 I modify TYPE as you wanted\r\n' 02:01:22.323327 < 21 bytes data, client => server 02:01:22.323339 'SIZE verifiedserver\r\n' 02:01:22.323448 Received DATA (on stdin) 02:01:22.323461 > 8 bytes data, server => client 02:01:22.323471 '213 17\r\n' 02:01:22.323524 < 21 bytes data, client => server 02:01:22.323538 'RETR verifiedserver\r\n' 02:01:22.323839 Received DATA (on stdin) 02:01:22.323853 > 29 bytes data, server => client 02:01:22.323864 '150 Binary junk (17 bytes).\r\n' 02:01:22.324278 Received DATA (on stdin) 02:01:22.324292 > 28 bytes data, server => client 02:01:22.324304 '226 File transfer complete\r\n' 02:01:22.369790 < 6 bytes data, client => server 02:01:22.369824 'QUIT\r\n' 02:01:22.370048 Received DATA (on stdin) 02:01:22.370061 > 18 bytes data, server => client 02:01:22.370073 '221 bye bye baby\r\n' 02:01:22.370906 ====> Client disconnect 02:01:22.371184 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.322392 Running IPv4 version 02:01:22.322447 Listening on port 39153 02:01:22.322493 Wrote pid 81676 to log/4/server/ftp_sockdata.pid 02:01:22.322642 Received PING (on stdin) 02:01:22.322722 Received PORT (on stdin) 02:01:22.323078 ====> Client connect 02:01:22.323741 Received DATA (on stdin) 02:01:22.323754 > 17 bytes data, server => client 02:01:22.323765 'WE ROOLZ: 80536\r\n' 02:01:22.323797 Received DISC (on stdin) 02:01:22.323811 ====> Client forcibly disconnected 02:01:22.324017 Received QUIT (on stdin) 02:01:22.324030 quits 02:01:22.324087 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 111 === End of file server.cmd === Start of file valgrind111 ==81682== ==81682== Process terminating with default action of signal 4 (SIGILL) ==81682== Illegal opcode at address 0x10B08D ==81682== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81682== by 0x10B08D: main (tool_main.c:232) === End of file valgrind111 test 0118...[FTP download, failed RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind118 ../src/curl -q --output log/1/curl118.out --include --trace-ascii log/1/trace118 --trace-config all --trace-time ftp://127.0.0.1:45039/118 > log/1/stdout118 2> log/1/stderr118 118: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 118 === Start of file ftp_server.log 02:01:22.201170 ====> Client connect 02:01:22.201315 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.201592 < "USER anonymous" 02:01:22.201628 > "331 We are happy you popped in![CR][LF]" 02:01:22.201814 < "PASS ftp@example.com" 02:01:22.201843 > "230 Welcome you silly person[CR][LF]" 02:01:22.201990 < "PWD" 02:01:22.202017 > "257 "/" is current directory[CR][LF]" 02:01:22.202161 < "EPSV" 02:01:22.202183 ====> Passive DATA channel requested by client 02:01:22.202196 DATA sockfilt for passive data channel starting... 02:01:22.203715 DATA sockfilt for passive data channel started (pid 81729) 02:01:22.203805 DATA sockfilt for passive data channel listens on port 32821 02:01:22.203845 > "229 Entering Passive Mode (|||32821|)[LF]" 02:01:22.203861 Client has been notified that DATA conn will be accepted on port 32821 02:01:22.204081 Client connects to port 32821 02:01:22.204109 ====> Client established passive DATA connection on port 32821 02:01:22.204202 < "TYPE I" 02:01:22.204228 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.204380 < "SIZE verifiedserver" 02:01:22.204416 > "213 17[CR][LF]" 02:01:22.204559 < "RETR verifiedserver" 02:01:22.204588 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.204809 =====> Closing passive DATA connection... 02:01:22.204826 Server disconnects passive DATA connection 02:01:22.204991 Server disconnected passive DATA connection 02:01:22.205018 DATA sockfilt for passive data channel quits (pid 81729) 02:01:22.205203 DATA sockfilt for passive data channel quit (pid 81729) 02:01:22.205224 =====> Closed passive DATA connection 02:01:22.205248 > "226 File transfer complete[CR][LF]" 02:01:22.245269 < "QUIT" 02:01:22.245312 > "221 bye bye baby[CR][LF]" 02:01:22.245986 MAIN sockfilt said DISC 02:01:22.246022 ====> Client disconnected 02:01:22.246075 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.401213 ====> Client connect 02:01:22.401465 Received DATA (on stdin) 02:01:22.401481 > 160 bytes data, server => client 02:01:22.401493 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.401505 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.401515 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.401591 < 16 bytes data, client => server 02:01:22.401605 'USER anonymous\r\n' 02:01:22.401770 Received CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind119 ../src/curl -q --output log/3/curl119.out --include --trace-ascii log/3/trace119 --trace-config all --trace-time ftp://127.0.0.1:45983/119 -P - > log/3/stdout119 2> log/3/stderr119 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind120 ../src/curl -q --output log/7/curl120.out --include --trace-ascii log/7/trace120 --trace-config all --trace-time ftp://127.0.0.1:41879/120 -Q "-DELE file" > log/7/stdout120 2> log/7/stderr120 DATA (on stdin) 02:01:22.401783 > 33 bytes data, server => client 02:01:22.401793 '331 We are happy you popped in!\r\n' 02:01:22.401855 < 22 bytes data, client => server 02:01:22.401868 'PASS ftp@example.com\r\n' 02:01:22.401982 Received DATA (on stdin) 02:01:22.401993 > 30 bytes data, server => client 02:01:22.402004 '230 Welcome you silly person\r\n' 02:01:22.402053 < 5 bytes data, client => server 02:01:22.402064 'PWD\r\n' 02:01:22.402154 Received DATA (on stdin) 02:01:22.402164 > 30 bytes data, server => client 02:01:22.402175 '257 "/" is current directory\r\n' 02:01:22.402227 < 6 bytes data, client => server 02:01:22.402238 'EPSV\r\n' 02:01:22.404003 Received DATA (on stdin) 02:01:22.404016 > 38 bytes data, server => client 02:01:22.404028 '229 Entering Passive Mode (|||32821|)\n' 02:01:22.404141 < 8 bytes data, client => server 02:01:22.404156 'TYPE I\r\n' 02:01:22.404367 Received DATA (on stdin) 02:01:22.404379 > 33 bytes data, server => client 02:01:22.404391 '200 I modify TYPE as you wanted\r\n' 02:01:22.404440 < 21 bytes data, client => server 02:01:22.404452 'SIZE verifiedserver\r\n' 02:01:22.404553 Received DATA (on stdin) 02:01:22.404565 > 8 bytes data, server => client 02:01:22.404575 '213 17\r\n' 02:01:22.404622 < 21 bytes data, client => server 02:01:22.404634 'RETR verifiedserver\r\n' 02:01:22.404764 Received DATA (on stdin) 02:01:22.404777 > 29 bytes data, server => client 02:01:22.404788 '150 Binary junk (17 bytes).\r\n' 02:01:22.405387 Received DATA (on stdin) 02:01:22.405400 > 28 bytes data, server => client 02:01:22.405412 '226 File transfer complete\r\n' 02:01:22.445268 < 6 bytes data, client => server 02:01:22.445289 'QUIT\r\n' 02:01:22.445454 Received DATA (on stdin) 02:01:22.445466 > 18 bytes data, server => client 02:01:22.445476 '221 bye bye baby\r\n' 02:01:22.446072 ====> Client disconnect 02:01:22.446214 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.403572 Running IPv4 version 02:01:22.403624 Listening on port 32821 02:01:22.403661 Wrote pid 81729 to log/1/server/ftp_sockdata.pid 02:01:22.403796 Received PING (on stdin) 02:01:22.403870 Received PORT (on stdin) 02:01:22.404175 ====> Client connect 02:01:22.404835 Received DATA (on stdin) 02:01:22.404853 > 17 bytes data, server => client 02:01:22.404917 'WE ROOLZ: 80463\r\n' 02:01:22.405057 Received DISC (on stdin) 02:01:22.405071 ====> Client forcibly disconnected 02:01:22.405172 Received QUIT (on stdin) 02:01:22.405184 quits 02:01:22.405228 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 314 bluah you f00l REPLY EPSV 314 bluah you f00l REPLY SIZE 500 command not understood Testnum 118 === End of file server.cmd === Start of file valgrind118 ==81794== ==81794== Process terminating with default action of signal 4 (SIGILL) ==81794== Illegal opcode at address 0x10B08D ==81794== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81794== by 0x10B08D: main (tool_main.c:232) === End of file valgrind118 test 0119...[FTP download, failed RETR with PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind119 ../src/curl -q --output log/3/curl119.out --include --trace-ascii log/3/trace119 --trace-config all --trace-time ftp://127.0.0.1:45983/119 -P - > log/3/stdout119 2> log/3/stderr119 119: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 119 === Start of file ftp_server.log 02:01:22.201767 ====> Client connect 02:01:22.201894 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.202149 < "USER anonymous" 02:01:22.202186 > "331 We are happy you popped in![CR][LF]" 02:01:22.202350 < "PASS ftp@example.com" 02:01:22.202375 > "230 Welcome you silly person[CR][LF]" 02:01:22.202520 < "PWD" 02:01:22.202549 > "257 "/" is current directory[CR][LF]" 02:01:22.202830 < "EPSV" 02:01:22.202858 ====> Passive DATA channel requested by client 02:01:22.202871 DATA sockfilt for passive data channel starting... 02:01:22.204626 DATA sockfilt for passive data channel started (pid 81731) 02:01:22.204713 DATA sockfilt for passive data channel listens on port 34161 02:01:22.204753 > "229 Entering Passive Mode (|||34161|)[LF]" 02:01:22.204770 Client has been notified that DATA conn will be accepted on port 34161 02:01:22.204917 Client connects to port 34161 02:01:22.204945 ====> Client established passive DATA connection on port 34161 02:01:22.205007 < "TYPE I" 02:01:22.205041 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.205208 < "SIZE verifiedserver" 02:01:22.205245 > "213 17[CR][LF]" 02:01:22.205401 < "RETR verifiedserver" 02:01:22.205430 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.205489 =====> Closing passive DATA connection... 02:01:22.205502 Server disconnects passive DATA connection 02:01:22.205619 Server disconnected passive DATA connection 02:01:22.205642 DATA sockfilt for passive data channel quits (pid 81731) 02:01:22.205783 DATA sockfilt for passive data channel quit (pid 81731) 02:01:22.205799 =====> Closed passive DATA connection 02:01:22.205818 > "226 File transfer complete[CR][LF]" 02:01:22.248712 < "QUIT" 02:01:22.248757 > "221 bye bye baby[CR][LF]" 02:01:22.249422 MAIN sockfilt said DISC 02:01:22.249450 ====> Client disconnected 02:01:22.249500 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.401782 ====> Client connect 02:01:22.402042 Received DATA (on stdin) 02:01:22.402058 > 160 bytes data, server => client 02:01:22.402071 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.402083 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.402093 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.402161 < 16 bytes data, client => server 02:01:22.402173 'USER anonymous\r\n' 02:01:22.402328 Received DATA (on stdin) 02:01:22.402340 > 33 bytes data, server => client 02:01:22.402351 '331 We are happy you popped in!\r\n' 02:01:22.402402 < 22 bytes data, client => server 02:01:22.402414 'PASS ftp@example.com\r\n' 02:01:22.402513 Received DATA (on stdin) 02:01:22.402524 > 30 bytes data, server => client 02:01:22.402535 '230 Welcome you silly person\r\n' 02:01:22.402583 < 5 bytes data, client => server 02:01:22.402594 'PWD\r\n' 02:01:22.402686 Received DATA (on stdin) 02:01:22.402697 > 30 bytes data, server => client 02:01:22.402708 '257 "/" is current directory\r\n' 02:01:22.402871 < 6 bytes data, client => server 02:01:22.402889 'EPSV\r\n' 02:01:22.404882 Received DATA (on stdin) 02:01:22.404901 > 38 bytes data, server => client 02:01:22.404913 '229 Entering Passive Mode (|||34161|)\n' 02:01:22.405020 < 8 bytes data, client => server 02:01:22.405035 'TYPE I\r\n' 02:01:22.405181 Received DATA (on stdin) 02:01:22.405194 > 33 bytes data, server => client 02:01:22.405206 '200 I modify TYPE as you wanted\r\n' 02:01:22.405260 < 21 bytes data, client => server 02:01:22.405275 'SIZE verifiedserver\r\n' 02:01:22.405386 Received DATA (on stdin) 02:01:22.405399 > 8 bytes data, server => client 02:01:22.405410 '213 17\r\n' 02:01:22.405463 < 21 bytes data, client => server 02:01:22.405475 'RETR verifiedserver\r\n' 02:01:22.405640 Received DATA (on stdin) 02:01:22.405653 > 29 bytes data, server => client 02:01:22.405665 '150 Binary junk (17 bytes).\r\n' 02:01:22.405945 Received DATA (on stdin) 02:01:22.405962 > 28 bytes data, server => client 02:01:22.405974 '226 File transfer complete\r\n' 02:01:22.448650 < 6 bytes data, client => server 02:01:22.448729 'QUIT\r\n' 02:01:22.448898 Received DATA (on stdin) 02:01:22.448910 > 18 bytes data, server => client 02:01:22.448920 '221 bye bye baby\r\n' 02:01:22.449515 ====> Client discCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind121 ../src/curl -q --output log/11/curl121.out --include --trace-ascii log/11/trace121 --trace-config all --trace-time ftp://127.0.0.1:45687/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/11/stdout121 2> log/11/stderr121 onnect 02:01:22.449637 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.404113 Running IPv4 version 02:01:22.404166 Listening on port 34161 02:01:22.404198 Wrote pid 81731 to log/3/server/ftp_sockdata.pid 02:01:22.404705 Received PING (on stdin) 02:01:22.404781 Received PORT (on stdin) 02:01:22.405010 ====> Client connect 02:01:22.405648 Received DATA (on stdin) 02:01:22.405667 > 17 bytes data, server => client 02:01:22.405681 'WE ROOLZ: 80465\r\n' 02:01:22.405714 Received DISC (on stdin) 02:01:22.405728 ====> Client forcibly disconnected 02:01:22.405784 Received QUIT (on stdin) 02:01:22.405794 quits 02:01:22.405827 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 314 bluah you f00l REPLY SIZE 500 command not understood Testnum 119 === End of file server.cmd === Start of file valgrind119 ==81795== ==81795== Process terminating with default action of signal 4 (SIGILL) ==81795== Illegal opcode at address 0x10B08D ==81795== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81795== by 0x10B08D: main (tool_main.c:232) === End of file valgrind119 test 0120...[ftp download with post-quote delete operation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind120 ../src/curl -q --output log/7/curl120.out --include --trace-ascii log/7/trace120 --trace-config all --trace-time ftp://127.0.0.1:41879/120 -Q "-DELE file" > log/7/stdout120 2> log/7/stderr120 120: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 120 === Start of file ftp_server.log 02:01:22.240236 ====> Client connect 02:01:22.240382 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.240673 < "USER anonymous" 02:01:22.240708 > "331 We are happy you popped in![CR][LF]" 02:01:22.240887 < "PASS ftp@example.com" 02:01:22.240914 > "230 Welcome you silly person[CR][LF]" 02:01:22.241062 < "PWD" 02:01:22.241089 > "257 "/" is current directory[CR][LF]" 02:01:22.241234 < "EPSV" 02:01:22.241254 ====> Passive DATA channel requested by client 02:01:22.241266 DATA sockfilt for passive data channel starting... 02:01:22.242813 DATA sockfilt for passive data channel started (pid 81790) 02:01:22.243264 DATA sockfilt for passive data channel listens on port 32937 02:01:22.243304 > "229 Entering Passive Mode (|||32937|)[LF]" 02:01:22.243321 Client has been notified that DATA conn will be accepted on port 32937 02:01:22.243550 Client connects to port 32937 02:01:22.243578 ====> Client established passive DATA connection on port 32937 02:01:22.243637 < "TYPE I" 02:01:22.243660 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.243811 < "SIZE verifiedserver" 02:01:22.243849 > "213 17[CR][LF]" 02:01:22.243984 < "RETR verifiedserver" 02:01:22.244013 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.244081 =====> Closing passive DATA connection... 02:01:22.244095 Server disconnects passive DATA connection 02:01:22.244220 Server disconnected passive DATA connection 02:01:22.244240 DATA sockfilt for passive data channel quits (pid 81790) 02:01:22.244426 DATA sockfilt for passive data channel quit (pid 81790) 02:01:22.244711 =====> Closed passive DATA connection 02:01:22.244738 > "226 File transfer complete[CR][LF]" 02:01:22.289648 < "QUIT" 02:01:22.289698 > "221 bye bye baby[CR][LF]" 02:01:22.289996 MAIN sockfilt said DISC 02:01:22.290027 ====> Client disconnected 02:01:22.290098 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.440262 ====> Client connect 02:01:22.440533 Received DATA (on stdin) 02:01:22.440549 > 160 bytes data, server => client 02:01:22.440563 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.440576 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.440587 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.440668 < 16 bytes data, client => server 02:01:22.440684 'USER anonymous\r\n' 02:01:22.440849 Received DATA (on stdin) 02:01:22.440863 > 33 bytes data, server => client 02:01:22.440875 '331 We are happy you popped in!\r\n' 02:01:22.440931 < 22 bytes data, client => server 02:01:22.440949 'PASS ftp@example.com\r\n' 02:01:22.441052 Received DATA (on stdin) 02:01:22.441064 > 30 bytes data, server => client 02:01:22.441076 '230 Welcome you silly person\r\n' 02:01:22.441125 < 5 bytes data, client => server 02:01:22.441136 'PWD\r\n' 02:01:22.441226 Received DATA (on stdin) 02:01:22.441236 > 30 bytes data, server => client 02:01:22.441247 '257 "/" is current directory\r\n' 02:01:22.441301 < 6 bytes data, client => server 02:01:22.441311 'EPSV\r\n' 02:01:22.443467 Received DATA (on stdin) 02:01:22.443481 > 38 bytes data, server => client 02:01:22.443492 '229 Entering Passive Mode (|||32937|)\n' 02:01:22.443614 < 8 bytes data, client => server 02:01:22.443629 'TYPE I\r\n' 02:01:22.443798 Received DATA (on stdin) 02:01:22.443810 > 33 bytes data, server => client 02:01:22.443822 '200 I modify TYPE as you wanted\r\n' 02:01:22.443873 < 21 bytes data, client => server 02:01:22.443885 'SIZE verifiedserver\r\n' 02:01:22.443987 Received DATA (on stdin) 02:01:22.443998 > 8 bytes data, server => client 02:01:22.444008 '213 17\r\n' 02:01:22.444052 < 21 bytes data, client => server 02:01:22.444063 'RETR verifiedserver\r\n' 02:01:22.444210 Received DATA (on stdin) 02:01:22.444229 > 29 bytes data, server => client 02:01:22.444240 '150 Binary junk (17 bytes).\r\n' 02:01:22.444876 Received DATA (on stdin) 02:01:22.444889 > 28 bytes data, server => client 02:01:22.444900 '226 File transfer complete\r\n' 02:01:22.489638 < 6 bytes data, client => server 02:01:22.489661 'QUIT\r\n' 02:01:22.489845 Received DATA (on stdin) 02:01:22.489858 > 18 bytes data, server => client 02:01:22.489870 '221 bye bye baby\r\n' 02:01:22.490084 ====> Client disconnect 02:01:22.490242 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.442603 Running IPv4 version 02:01:22.442658 Listening on port 32937 02:01:22.442874 Wrote pid 81790 to log/7/server/ftp_sockdata.pid 02:01:22.442899 Received PING (on stdin) 02:01:22.443314 Received PORT (on stdin) 02:01:22.443647 ====> Client connect 02:01:22.444233 Received DATA (on stdin) 02:01:22.444245 > 17 bytes data, server => client 02:01:22.444256 'WE ROOLZ: 80479\r\n' 02:01:22.444287 Received DISC (on stdin) 02:01:22.444300 ====> Client forcibly disconnected 02:01:22.444383 Received QUIT (on stdin) 02:01:22.444394 quits 02:01:22.444458 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l Testnum 120 === End of file server.cmd === Start of file valgrind120 ==81889== ==81889== Process terminating with default action of signal 4 (SIGILL) ==81889== Illegal opcode at address 0x10B08D ==81889== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81889== by 0x10B08D: main (tool_main.c:232) === End of file valgrind120 test 0121...[ftp download with post- and pre-transfer delete operations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind121 ../src/curl -q --output log/11/curl121.out --include --trace-ascii log/11/trace121 --trace-config all --trace-time ftp://127.0.0.1:45687/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/11/stdout121 2> log/11/stderr121 121: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 121 === Start of file ftp_server.log 02:01:22.243950CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind123 ../src/curl -q --output log/8/curl123.out --include --trace-ascii log/8/trace123 --trace-config all --trace-time ftp://127.0.0.1:39101/123 -T log/8/upload123 -C 51 > log/8/stdout123 2> log/8/stderr123 ====> Client connect 02:01:22.244074 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.244346 < "USER anonymous" 02:01:22.244378 > "331 We are happy you popped in![CR][LF]" 02:01:22.244533 < "PASS ftp@example.com" 02:01:22.244558 > "230 Welcome you silly person[CR][LF]" 02:01:22.244696 < "PWD" 02:01:22.244725 > "257 "/" is current directory[CR][LF]" 02:01:22.244876 < "EPSV" 02:01:22.244898 ====> Passive DATA channel requested by client 02:01:22.244910 DATA sockfilt for passive data channel starting... 02:01:22.246269 DATA sockfilt for passive data channel started (pid 81791) 02:01:22.246355 DATA sockfilt for passive data channel listens on port 36517 02:01:22.246383 > "229 Entering Passive Mode (|||36517|)[LF]" 02:01:22.246399 Client has been notified that DATA conn will be accepted on port 36517 02:01:22.246605 Client connects to port 36517 02:01:22.246631 ====> Client established passive DATA connection on port 36517 02:01:22.246686 < "TYPE I" 02:01:22.246708 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.246848 < "SIZE verifiedserver" 02:01:22.246878 > "213 17[CR][LF]" 02:01:22.247008 < "RETR verifiedserver" 02:01:22.247036 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.247104 =====> Closing passive DATA connection... 02:01:22.247117 Server disconnects passive DATA connection 02:01:22.247317 Server disconnected passive DATA connection 02:01:22.247341 DATA sockfilt for passive data channel quits (pid 81791) 02:01:22.247506 DATA sockfilt for passive data channel quit (pid 81791) 02:01:22.247526 =====> Closed passive DATA connection 02:01:22.247548 > "226 File transfer complete[CR][LF]" 02:01:22.289521 < "QUIT" 02:01:22.289574 > "221 bye bye baby[CR][LF]" 02:01:22.290186 MAIN sockfilt said DISC 02:01:22.290220 ====> Client disconnected 02:01:22.290271 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.444004 ====> Client connect 02:01:22.444222 Received DATA (on stdin) 02:01:22.444235 > 160 bytes data, server => client 02:01:22.444247 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.444259 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.444270 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.444339 < 16 bytes data, client => server 02:01:22.444352 'USER anonymous\r\n' 02:01:22.444519 Received DATA (on stdin) 02:01:22.444530 > 33 bytes data, server => client 02:01:22.444541 '331 We are happy you popped in!\r\n' 02:01:22.444591 < 22 bytes data, client => server 02:01:22.444603 'PASS ftp@example.com\r\n' 02:01:22.444696 Received DATA (on stdin) 02:01:22.444707 > 30 bytes data, server => client 02:01:22.444717 '230 Welcome you silly person\r\n' 02:01:22.444763 < 5 bytes data, client => server 02:01:22.444774 'PWD\r\n' 02:01:22.444861 Received DATA (on stdin) 02:01:22.444873 > 30 bytes data, server => client 02:01:22.444884 '257 "/" is current directory\r\n' 02:01:22.444936 < 6 bytes data, client => server 02:01:22.444951 'EPSV\r\n' 02:01:22.446541 Received DATA (on stdin) 02:01:22.446553 > 38 bytes data, server => client 02:01:22.446565 '229 Entering Passive Mode (|||36517|)\n' 02:01:22.446672 < 8 bytes data, client => server 02:01:22.446686 'TYPE I\r\n' 02:01:22.446845 Received DATA (on stdin) 02:01:22.446856 > 33 bytes data, server => client 02:01:22.446866 '200 I modify TYPE as you wanted\r\n' 02:01:22.446912 < 21 bytes data, client => server 02:01:22.446926 'SIZE verifiedserver\r\n' 02:01:22.447014 Received DATA (on stdin) 02:01:22.447025 > 8 bytes data, server => client 02:01:22.447035 '213 17\r\n' 02:01:22.447077 < 21 bytes data, client => server 02:01:22.447088 'RETR verifiedserver\r\n' 02:01:22.447338 Received DATA (on stdin) 02:01:22.447350 > 29 bytes data, server => client 02:01:22.447360 '150 Binary junk (17 bytes).\r\n' 02:01:22.447685 Received DATA (on stdin) 02:01:22.447698 > 28 bytes data, server => client 02:01:22.447709 '226 File transfer complete\r\n' 02:01:22.489455 < 6 bytes data, client => server 02:01:22.489488 'QUIT\r\n' 02:01:22.489717 Received DATA (on stdin) 02:01:22.489730 > 18 bytes data, server => client 02:01:22.489741 '221 bye bye baby\r\n' 02:01:22.490027 ====> Client disconnect 02:01:22.490413 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.446160 Running IPv4 version 02:01:22.446212 Listening on port 36517 02:01:22.446242 Wrote pid 81791 to log/11/server/ftp_sockdata.pid 02:01:22.446358 Received PING (on stdin) 02:01:22.446423 Received PORT (on stdin) 02:01:22.446703 ====> Client connect 02:01:22.447255 Received DATA (on stdin) 02:01:22.447267 > 17 bytes data, server => client 02:01:22.447277 'WE ROOLZ: 80480\r\n' 02:01:22.447304 Received DISC (on stdin) 02:01:22.447316 ====> Client forcibly disconnected 02:01:22.447485 Received QUIT (on stdin) 02:01:22.447496 quits 02:01:22.447535 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 121 === End of file server.cmd === Start of file valgrind121 ==81888== ==81888== Process terminating with default action of signal 4 (SIGILL) ==81888== Illegal opcode at address 0x10B08D ==81888== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==81888== by 0x10B08D: main (tool_main.c:232) === End of file valgrind121 test 0123...[FTP upload resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind123 ../src/curl -q --output log/8/curl123.out --include --trace-ascii log/8/trace123 --trace-config all --trace-time ftp://127.0.0.1:39101/123 -T log/8/upload123 -C 51 > log/8/stdout123 2> log/8/stderr123 123: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 123 === Start of file ftp_server.log 02:01:22.463805 ====> Client connect 02:01:22.463934 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.464179 < "USER anonymous" 02:01:22.464210 > "331 We are happy you popped in![CR][LF]" 02:01:22.464361 < "PASS ftp@example.com" 02:01:22.464384 > "230 Welcome you silly person[CR][LF]" 02:01:22.464522 < "PWD" 02:01:22.464549 > "257 "/" is current directory[CR][LF]" 02:01:22.464695 < "EPSV" 02:01:22.464717 ====> Passive DATA channel requested by client 02:01:22.464731 DATA sockfilt for passive data channel starting... 02:01:22.467113 DATA sockfilt for passive data channel started (pid 82022) 02:01:22.467200 DATA sockfilt for passive data channel listens on port 32815 02:01:22.467231 > "229 Entering Passive Mode (|||32815|)[LF]" 02:01:22.467245 Client has been notified that DATA conn will be accepted on port 32815 02:01:22.467454 Client connects to port 32815 02:01:22.467481 ====> Client established passive DATA connection on port 32815 02:01:22.467537 < "TYPE I" 02:01:22.467560 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.467699 < "SIZE verifiedserver" 02:01:22.467730 > "213 17[CR][LF]" 02:01:22.467860 < "RETR verifiedserver" 02:01:22.467888 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.467954 =====> Closing passive DATA connection... 02:01:22.467967 Server disconnects passive DATA connection 02:01:22.468166 Server disconnected passive DATA connection 02:01:22.468190 DATA sockfilt for passive data channel quits (pid 82022) 02:01:22.468604 DATA sockfilt for passive data channel quit (pid 82022) 02:01:22.468632 =====> Closed passive DATA connection 02:01:22.468658 > "226 File transfer complete[CR][LF]" 02:01:22.513029 < "QUIT" 02:01:22.513076 > "221 bye bye baby[CR][LF]" 02:01:22.513532 MAIN sockfilt said DISC 02:01:22.513566 ====> ClienCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind124 ../src/curl -q --output log/12/curl124.out --include --trace-ascii log/12/trace124 --trace-config all --trace-time ftp://127.0.0.1:40171/124 > log/12/stdout124 2> log/12/stderr124 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind125 ../src/curl -q --output log/6/curl125.out --include --trace-ascii log/6/trace125 --trace-config all --trace-time ftp://127.0.0.1:40433/path/to/file/125 > log/6/stdout125 2> log/6/stderr125 t disconnected 02:01:22.513613 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.663851 ====> Client connect 02:01:22.664082 Received DATA (on stdin) 02:01:22.664096 > 160 bytes data, server => client 02:01:22.664109 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.664121 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.664132 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.664198 < 16 bytes data, client => server 02:01:22.664211 'USER anonymous\r\n' 02:01:22.664349 Received DATA (on stdin) 02:01:22.664361 > 33 bytes data, server => client 02:01:22.664372 '331 We are happy you popped in!\r\n' 02:01:22.664421 < 22 bytes data, client => server 02:01:22.664433 'PASS ftp@example.com\r\n' 02:01:22.664521 Received DATA (on stdin) 02:01:22.664532 > 30 bytes data, server => client 02:01:22.664542 '230 Welcome you silly person\r\n' 02:01:22.664588 < 5 bytes data, client => server 02:01:22.664599 'PWD\r\n' 02:01:22.664686 Received DATA (on stdin) 02:01:22.664697 > 30 bytes data, server => client 02:01:22.664708 '257 "/" is current directory\r\n' 02:01:22.664759 < 6 bytes data, client => server 02:01:22.664771 'EPSV\r\n' 02:01:22.667388 Received DATA (on stdin) 02:01:22.667401 > 38 bytes data, server => client 02:01:22.667412 '229 Entering Passive Mode (|||32815|)\n' 02:01:22.667516 < 8 bytes data, client => server 02:01:22.667530 'TYPE I\r\n' 02:01:22.667697 Received DATA (on stdin) 02:01:22.667709 > 33 bytes data, server => client 02:01:22.667719 '200 I modify TYPE as you wanted\r\n' 02:01:22.667766 < 21 bytes data, client => server 02:01:22.667777 'SIZE verifiedserver\r\n' 02:01:22.667866 Received DATA (on stdin) 02:01:22.667876 > 8 bytes data, server => client 02:01:22.667886 '213 17\r\n' 02:01:22.667929 < 21 bytes data, client => server 02:01:22.667940 'RETR verifiedserver\r\n' 02:01:22.668104 Received DATA (on stdin) 02:01:22.668115 > 29 bytes data, server => client 02:01:22.668126 '150 Binary junk (17 bytes).\r\n' 02:01:22.668799 Received DATA (on stdin) 02:01:22.668812 > 28 bytes data, server => client 02:01:22.668823 '226 File transfer complete\r\n' 02:01:22.711951 < 6 bytes data, client => server 02:01:22.711976 'QUIT\r\n' 02:01:22.713223 Received DATA (on stdin) 02:01:22.713240 > 18 bytes data, server => client 02:01:22.713250 '221 bye bye baby\r\n' 02:01:22.713621 ====> Client disconnect 02:01:22.713750 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.665934 Running IPv4 version 02:01:22.665975 Listening on port 32815 02:01:22.666002 Wrote pid 82022 to log/8/server/ftp_sockdata.pid 02:01:22.667198 Received PING (on stdin) 02:01:22.667266 Received PORT (on stdin) 02:01:22.667547 ====> Client connect 02:01:22.668150 Received DATA (on stdin) 02:01:22.668163 > 17 bytes data, server => client 02:01:22.668173 'WE ROOLZ: 80441\r\n' 02:01:22.668196 Received DISC (on stdin) 02:01:22.668208 ====> Client forcibly disconnected 02:01:22.668332 Received QUIT (on stdin) 02:01:22.668343 quits 02:01:22.668386 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 123 === End of file server.cmd === Start of file upload123 -------------------------------------------------- === End of file upload123 === Start of file valgrind123 ==82087== ==82087== Process terminating with default action of signal 4 (SIGILL) ==82087== Illegal opcode at address 0x10B08D ==82087== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82087== by 0x10B08D: main (tool_main.c:232) === End of file valgrind123 test 0124...[FTP download, failed PWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind124 ../src/curl -q --output log/12/curl124.out --include --trace-ascii log/12/trace124 --trace-config all --trace-time ftp://127.0.0.1:40171/124 > log/12/stdout124 2> log/12/stderr124 124: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 124 === Start of file ftp_server.log 02:01:22.484339 ====> Client connect 02:01:22.484477 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.484736 < "USER anonymous" 02:01:22.484769 > "331 We are happy you popped in![CR][LF]" 02:01:22.484927 < "PASS ftp@example.com" 02:01:22.484950 > "230 Welcome you silly person[CR][LF]" 02:01:22.485104 < "PWD" 02:01:22.485133 > "257 "/" is current directory[CR][LF]" 02:01:22.485281 < "EPSV" 02:01:22.485303 ====> Passive DATA channel requested by client 02:01:22.485316 DATA sockfilt for passive data channel starting... 02:01:22.486594 DATA sockfilt for passive data channel started (pid 82068) 02:01:22.486691 DATA sockfilt for passive data channel listens on port 38145 02:01:22.486719 > "229 Entering Passive Mode (|||38145|)[LF]" 02:01:22.486731 Client has been notified that DATA conn will be accepted on port 38145 02:01:22.486913 Client connects to port 38145 02:01:22.486935 ====> Client established passive DATA connection on port 38145 02:01:22.486979 < "TYPE I" 02:01:22.486998 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.487112 < "SIZE verifiedserver" 02:01:22.487138 > "213 17[CR][LF]" 02:01:22.487249 < "RETR verifiedserver" 02:01:22.487276 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.487344 =====> Closing passive DATA connection... 02:01:22.487358 Server disconnects passive DATA connection 02:01:22.487429 Server disconnected passive DATA connection 02:01:22.487449 DATA sockfilt for passive data channel quits (pid 82068) 02:01:22.487621 DATA sockfilt for passive data channel quit (pid 82068) 02:01:22.487642 =====> Closed passive DATA connection 02:01:22.487666 > "226 File transfer complete[CR][LF]" 02:01:22.532078 < "QUIT" 02:01:22.532128 > "221 bye bye baby[CR][LF]" 02:01:22.532935 MAIN sockfilt said DISC 02:01:22.532977 ====> Client disconnected 02:01:22.533031 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.684375 ====> Client connect 02:01:22.684626 Received DATA (on stdin) 02:01:22.684640 > 160 bytes data, server => client 02:01:22.684653 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.684665 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.684676 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.684746 < 16 bytes data, client => server 02:01:22.684758 'USER anonymous\r\n' 02:01:22.684909 Received DATA (on stdin) 02:01:22.684921 > 33 bytes data, server => client 02:01:22.684933 '331 We are happy you popped in!\r\n' 02:01:22.684983 < 22 bytes data, client => server 02:01:22.684995 'PASS ftp@example.com\r\n' 02:01:22.685088 Received DATA (on stdin) 02:01:22.685099 > 30 bytes data, server => client 02:01:22.685110 '230 Welcome you silly person\r\n' 02:01:22.685165 < 5 bytes data, client => server 02:01:22.685177 'PWD\r\n' 02:01:22.685269 Received DATA (on stdin) 02:01:22.685280 > 30 bytes data, server => client 02:01:22.685291 '257 "/" is current directory\r\n' 02:01:22.685346 < 6 bytes data, client => server 02:01:22.685357 'EPSV\r\n' 02:01:22.686870 Received DATA (on stdin) 02:01:22.686881 > 38 bytes data, server => client 02:01:22.686890 '229 Entering Passive Mode (|||38145|)\n' 02:01:22.686985 < 8 bytes data, client => server 02:01:22.686997 'TYPE I\r\n' 02:01:22.687131 Received DATA (on stdin) 02:01:22.687140 > 33 bytes data, server => client 02:01:22.687149 '200 I modify TYPE as you wanted\r\n' 02:01:22.687188 < 21 bytes data, client => server 02:01:22.687196 'SIZE verifiedserver\r\n' 02:01:22.687272 Received DATA (on stdin) 02:01:22.687281 > 8 bytes data, server => client 02:01:22.687289 '213 17\r\n' 02:01:22.687324 < 21 bytes data, clientCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind126 ../src/curl -q --output log/10/curl126.out --include --trace-ascii log/10/trace126 --trace-config all --trace-time ftp://127.0.0.1:42661/blalbla/lululul/126 > log/10/stdout126 2> log/10/stderr126 => server 02:01:22.687333 'RETR verifiedserver\r\n' 02:01:22.687433 Received DATA (on stdin) 02:01:22.687450 > 29 bytes data, server => client 02:01:22.687462 '150 Binary junk (17 bytes).\r\n' 02:01:22.687804 Received DATA (on stdin) 02:01:22.687816 > 28 bytes data, server => client 02:01:22.687826 '226 File transfer complete\r\n' 02:01:22.732064 < 6 bytes data, client => server 02:01:22.732088 'QUIT\r\n' 02:01:22.732272 Received DATA (on stdin) 02:01:22.732286 > 18 bytes data, server => client 02:01:22.732297 '221 bye bye baby\r\n' 02:01:22.733013 ====> Client disconnect 02:01:22.733171 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.686579 Running IPv4 version 02:01:22.686628 Listening on port 38145 02:01:22.686662 Wrote pid 82068 to log/12/server/ftp_sockdata.pid 02:01:22.686678 Received PING (on stdin) 02:01:22.686754 Received PORT (on stdin) 02:01:22.687012 ====> Client connect 02:01:22.687463 Received DATA (on stdin) 02:01:22.687482 > 17 bytes data, server => client 02:01:22.687494 'WE ROOLZ: 80450\r\n' 02:01:22.687528 Received DISC (on stdin) 02:01:22.687540 ====> Client forcibly disconnected 02:01:22.687595 Received QUIT (on stdin) 02:01:22.687608 quits 02:01:22.687659 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 314 bluah you f00l REPLY EPSV 314 bluah you f00l Testnum 124 === End of file server.cmd === Start of file valgrind124 ==82117== ==82117== Process terminating with default action of signal 4 (SIGILL) ==82117== Illegal opcode at address 0x10B08D ==82117== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82117== by 0x10B08D: main (tool_main.c:232) === End of file valgrind124 test 0125...[FTP download, failed CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind125 ../src/curl -q --output log/6/curl125.out --include --trace-ascii log/6/trace125 --trace-config all --trace-time ftp://127.0.0.1:40433/path/to/file/125 > log/6/stdout125 2> log/6/stderr125 125: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 125 === Start of file ftp_server.log 02:01:22.485856 ====> Client connect 02:01:22.485984 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.486231 < "USER anonymous" 02:01:22.486267 > "331 We are happy you popped in![CR][LF]" 02:01:22.486452 < "PASS ftp@example.com" 02:01:22.486479 > "230 Welcome you silly person[CR][LF]" 02:01:22.486635 < "PWD" 02:01:22.486665 > "257 "/" is current directory[CR][LF]" 02:01:22.486836 < "EPSV" 02:01:22.486860 ====> Passive DATA channel requested by client 02:01:22.486873 DATA sockfilt for passive data channel starting... 02:01:22.488137 DATA sockfilt for passive data channel started (pid 82072) 02:01:22.488237 DATA sockfilt for passive data channel listens on port 34061 02:01:22.488272 > "229 Entering Passive Mode (|||34061|)[LF]" 02:01:22.488288 Client has been notified that DATA conn will be accepted on port 34061 02:01:22.488507 Client connects to port 34061 02:01:22.488533 ====> Client established passive DATA connection on port 34061 02:01:22.488588 < "TYPE I" 02:01:22.488610 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.488753 < "SIZE verifiedserver" 02:01:22.488785 > "213 17[CR][LF]" 02:01:22.488927 < "RETR verifiedserver" 02:01:22.488956 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.489027 =====> Closing passive DATA connection... 02:01:22.489041 Server disconnects passive DATA connection 02:01:22.489253 Server disconnected passive DATA connection 02:01:22.489277 DATA sockfilt for passive data channel quits (pid 82072) 02:01:22.489451 DATA sockfilt for passive data channel quit (pid 82072) 02:01:22.489470 =====> Closed passive DATA connection 02:01:22.489493 > "226 File transfer complete[CR][LF]" 02:01:22.532023 < "QUIT" 02:01:22.532073 > "221 bye bye baby[CR][LF]" 02:01:22.532381 MAIN sockfilt said DISC 02:01:22.532418 ====> Client disconnected 02:01:22.532478 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.685908 ====> Client connect 02:01:22.686134 Received DATA (on stdin) 02:01:22.686149 > 160 bytes data, server => client 02:01:22.686162 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.686173 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.686184 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.686250 < 16 bytes data, client => server 02:01:22.686262 'USER anonymous\r\n' 02:01:22.686413 Received DATA (on stdin) 02:01:22.686428 > 33 bytes data, server => client 02:01:22.686439 '331 We are happy you popped in!\r\n' 02:01:22.686498 < 22 bytes data, client => server 02:01:22.686515 'PASS ftp@example.com\r\n' 02:01:22.686619 Received DATA (on stdin) 02:01:22.686632 > 30 bytes data, server => client 02:01:22.686643 '230 Welcome you silly person\r\n' 02:01:22.686695 < 5 bytes data, client => server 02:01:22.686706 'PWD\r\n' 02:01:22.686799 Received DATA (on stdin) 02:01:22.686818 > 30 bytes data, server => client 02:01:22.686830 '257 "/" is current directory\r\n' 02:01:22.686892 < 6 bytes data, client => server 02:01:22.686903 'EPSV\r\n' 02:01:22.688432 Received DATA (on stdin) 02:01:22.688445 > 38 bytes data, server => client 02:01:22.688457 '229 Entering Passive Mode (|||34061|)\n' 02:01:22.688595 < 8 bytes data, client => server 02:01:22.688607 'TYPE I\r\n' 02:01:22.688747 Received DATA (on stdin) 02:01:22.688758 > 33 bytes data, server => client 02:01:22.688769 '200 I modify TYPE as you wanted\r\n' 02:01:22.688817 < 21 bytes data, client => server 02:01:22.688828 'SIZE verifiedserver\r\n' 02:01:22.688923 Received DATA (on stdin) 02:01:22.688934 > 8 bytes data, server => client 02:01:22.688945 '213 17\r\n' 02:01:22.688990 < 21 bytes data, client => server 02:01:22.689001 'RETR verifiedserver\r\n' 02:01:22.689268 Received DATA (on stdin) 02:01:22.689281 > 29 bytes data, server => client 02:01:22.689292 '150 Binary junk (17 bytes).\r\n' 02:01:22.689631 Received DATA (on stdin) 02:01:22.689644 > 28 bytes data, server => client 02:01:22.689655 '226 File transfer complete\r\n' 02:01:22.731991 < 6 bytes data, client => server 02:01:22.732016 'QUIT\r\n' 02:01:22.732217 Received DATA (on stdin) 02:01:22.732231 > 18 bytes data, server => client 02:01:22.732241 '221 bye bye baby\r\n' 02:01:22.732471 ====> Client disconnect 02:01:22.732618 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.688117 Running IPv4 version 02:01:22.688167 Listening on port 34061 02:01:22.688204 Wrote pid 82072 to log/6/server/ftp_sockdata.pid 02:01:22.688222 Received PING (on stdin) 02:01:22.688297 Received PORT (on stdin) 02:01:22.688570 ====> Client connect 02:01:22.689180 Received DATA (on stdin) 02:01:22.689192 > 17 bytes data, server => client 02:01:22.689203 'WE ROOLZ: 80451\r\n' 02:01:22.689231 Received DISC (on stdin) 02:01:22.689244 ====> Client forcibly disconnected 02:01:22.689426 Received QUIT (on stdin) 02:01:22.689438 quits 02:01:22.689479 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 314 bluah you f00l Testnum 125 === End of file server.cmd === Start of file valgrind125 ==82112== ==82112== Process terminating with default action of signal 4 (SIGILL) ==82112== Illegal opcode at address 0x10B08D ==82112== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82112== by 0x10B08D: main (tool_main.c:232) === End of file valgrind125 test 0126...[FTP download with multiple replies at once in RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind127 ../src/curl -q --output log/5/curl127.out --include --trace-ascii log/5/trace127 --trace-config all --trace-time ftp://127.0.0.1:36485/path/to/file/127 --disable-epsv > log/5/stdout127 2> log/5/stderr127 curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind126 ../src/curl -q --output log/10/curl126.out --include --trace-ascii log/10/trace126 --trace-config all --trace-time ftp://127.0.0.1:42661/blalbla/lululul/126 > log/10/stdout126 2> log/10/stderr126 126: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 126 === Start of file ftp_server.log 02:01:22.488201 ====> Client connect 02:01:22.488336 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.488610 < "USER anonymous" 02:01:22.488643 > "331 We are happy you popped in![CR][LF]" 02:01:22.488813 < "PASS ftp@example.com" 02:01:22.488840 > "230 Welcome you silly person[CR][LF]" 02:01:22.489000 < "PWD" 02:01:22.489031 > "257 "/" is current directory[CR][LF]" 02:01:22.489197 < "EPSV" 02:01:22.489223 ====> Passive DATA channel requested by client 02:01:22.489238 DATA sockfilt for passive data channel starting... 02:01:22.490410 DATA sockfilt for passive data channel started (pid 82077) 02:01:22.490503 DATA sockfilt for passive data channel listens on port 36475 02:01:22.490538 > "229 Entering Passive Mode (|||36475|)[LF]" 02:01:22.490553 Client has been notified that DATA conn will be accepted on port 36475 02:01:22.490763 Client connects to port 36475 02:01:22.490792 ====> Client established passive DATA connection on port 36475 02:01:22.490846 < "TYPE I" 02:01:22.490869 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.491010 < "SIZE verifiedserver" 02:01:22.491041 > "213 17[CR][LF]" 02:01:22.491177 < "RETR verifiedserver" 02:01:22.491207 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.491277 =====> Closing passive DATA connection... 02:01:22.491290 Server disconnects passive DATA connection 02:01:22.491492 Server disconnected passive DATA connection 02:01:22.491524 DATA sockfilt for passive data channel quits (pid 82077) 02:01:22.491683 DATA sockfilt for passive data channel quit (pid 82077) 02:01:22.491731 =====> Closed passive DATA connection 02:01:22.491756 > "226 File transfer complete[CR][LF]" 02:01:22.532261 < "QUIT" 02:01:22.532312 > "221 bye bye baby[CR][LF]" 02:01:22.535446 MAIN sockfilt said DISC 02:01:22.535495 ====> Client disconnected 02:01:22.535560 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.688250 ====> Client connect 02:01:22.688494 Received DATA (on stdin) 02:01:22.688510 > 160 bytes data, server => client 02:01:22.688523 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.688536 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.688546 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.688616 < 16 bytes data, client => server 02:01:22.688632 'USER anonymous\r\n' 02:01:22.688784 Received DATA (on stdin) 02:01:22.688797 > 33 bytes data, server => client 02:01:22.688809 '331 We are happy you popped in!\r\n' 02:01:22.688862 < 22 bytes data, client => server 02:01:22.688876 'PASS ftp@example.com\r\n' 02:01:22.688979 Received DATA (on stdin) 02:01:22.688992 > 30 bytes data, server => client 02:01:22.689003 '230 Welcome you silly person\r\n' 02:01:22.689055 < 5 bytes data, client => server 02:01:22.689068 'PWD\r\n' 02:01:22.689170 Received DATA (on stdin) 02:01:22.689182 > 30 bytes data, server => client 02:01:22.689194 '257 "/" is current directory\r\n' 02:01:22.689251 < 6 bytes data, client => server 02:01:22.689265 'EPSV\r\n' 02:01:22.690696 Received DATA (on stdin) 02:01:22.690709 > 38 bytes data, server => client 02:01:22.690720 '229 Entering Passive Mode (|||36475|)\n' 02:01:22.690829 < 8 bytes data, client => server 02:01:22.690843 'TYPE I\r\n' 02:01:22.691005 Received DATA (on stdin) 02:01:22.691017 > 33 bytes data, server => client 02:01:22.691027 '200 I modify TYPE as you wanted\r\n' 02:01:22.691075 < 21 bytes data, client => server 02:01:22.691086 'SIZE verifiedserver\r\n' 02:01:22.691178 Received DATA (on stdin) 02:01:22.691188 > 8 bytes data, server => client 02:01:22.691198 '213 17\r\n' 02:01:22.691243 < 21 bytes data, client => server 02:01:22.691255 'RETR verifiedserver\r\n' 02:01:22.691428 Received DATA (on stdin) 02:01:22.691439 > 29 bytes data, server => client 02:01:22.691449 '150 Binary junk (17 bytes).\r\n' 02:01:22.691952 Received DATA (on stdin) 02:01:22.691968 > 28 bytes data, server => client 02:01:22.691979 '226 File transfer complete\r\n' 02:01:22.732237 < 6 bytes data, client => server 02:01:22.732260 'QUIT\r\n' 02:01:22.734814 Received DATA (on stdin) 02:01:22.734836 > 18 bytes data, server => client 02:01:22.734849 '221 bye bye baby\r\n' 02:01:22.735523 ====> Client disconnect 02:01:22.735701 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.690394 Running IPv4 version 02:01:22.690446 Listening on port 36475 02:01:22.690479 Wrote pid 82077 to log/10/server/ftp_sockdata.pid 02:01:22.690495 Received PING (on stdin) 02:01:22.690566 Received PORT (on stdin) 02:01:22.690861 ====> Client connect 02:01:22.691476 Received DATA (on stdin) 02:01:22.691488 > 17 bytes data, server => client 02:01:22.691499 'WE ROOLZ: 80449\r\n' 02:01:22.691523 Received DISC (on stdin) 02:01:22.691535 ====> Client forcibly disconnected 02:01:22.691668 Received QUIT (on stdin) 02:01:22.691680 quits 02:01:22.691719 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRWEIRDO Testnum 126 === End of file server.cmd === Start of file valgrind126 ==82125== ==82125== Process terminating with default action of signal 4 (SIGILL) ==82125== Illegal opcode at address 0x10B08D ==82125== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82125== by 0x10B08D: main (tool_main.c:232) === End of file valgrind126 test 0127...[FTP --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind127 ../src/curl -q --output log/5/curl127.out --include --trace-ascii log/5/trace127 --trace-config all --trace-time ftp://127.0.0.1:36485/path/to/file/127 --disable-epsv > log/5/stdout127 2> log/5/stderr127 127: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 127 === Start of file ftp_server.log 02:01:22.499319 ====> Client connect 02:01:22.499445 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.499711 < "USER anonymous" 02:01:22.499743 > "331 We are happy you popped in![CR][LF]" 02:01:22.499898 < "PASS ftp@example.com" 02:01:22.499921 > "230 Welcome you silly person[CR][LF]" 02:01:22.500054 < "PWD" 02:01:22.500079 > "257 "/" is current directory[CR][LF]" 02:01:22.500214 < "EPSV" 02:01:22.500236 ====> Passive DATA channel requested by client 02:01:22.500248 DATA sockfilt for passive data channel starting... 02:01:22.501621 DATA sockfilt for passive data channel started (pid 82085) 02:01:22.501722 DATA sockfilt for passive data channel listens on port 43787 02:01:22.501761 > "229 Entering Passive Mode (|||43787|)[LF]" 02:01:22.501778 Client has been notified that DATA conn will be accepted on port 43787 02:01:22.501989 Client connects to port 43787 02:01:22.502016 ====> Client established passive DATA connection on port 43787 02:01:22.502075 < "TYPE I" 02:01:22.502100 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.502239 < "SIZE verifiedserver" 02:01:22.502268 > "213 17[CR][LF]" 02:01:22.502398 < "RETR verifiedserver" 02:01:22.502426 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.502497 =====> Closing passive DATA connection... 02:01:22.502511 Server disconCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind122 ../src/curl -q --output log/9/curl122.out --include --trace-ascii log/9/trace122 --trace-config all --trace-time ftp://127.0.0.1:35301/122 -C 5 > log/9/stdout122 2> log/9/stderr122 nects passive DATA connection 02:01:22.502715 Server disconnected passive DATA connection 02:01:22.502738 DATA sockfilt for passive data channel quits (pid 82085) 02:01:22.502905 DATA sockfilt for passive data channel quit (pid 82085) 02:01:22.502925 =====> Closed passive DATA connection 02:01:22.502948 > "226 File transfer complete[CR][LF]" 02:01:22.545333 < "QUIT" 02:01:22.545379 > "221 bye bye baby[CR][LF]" 02:01:22.545550 MAIN sockfilt said DISC 02:01:22.545579 ====> Client disconnected 02:01:22.545637 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:21.699368 ====> Client connect 02:01:21.699592 Received DATA (on stdin) 02:01:21.699606 > 160 bytes data, server => client 02:01:21.699618 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:21.699630 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:21.699640 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:21.699706 < 16 bytes data, client => server 02:01:21.699716 'USER anonymous\r\n' 02:01:21.699883 Received DATA (on stdin) 02:01:21.699894 > 33 bytes data, server => client 02:01:21.699904 '331 We are happy you popped in!\r\n' 02:01:21.699955 < 22 bytes data, client => server 02:01:21.699966 'PASS ftp@example.com\r\n' 02:01:21.700058 Received DATA (on stdin) 02:01:21.700068 > 30 bytes data, server => client 02:01:21.700078 '230 Welcome you silly person\r\n' 02:01:21.700122 < 5 bytes data, client => server 02:01:21.700132 'PWD\r\n' 02:01:21.700214 Received DATA (on stdin) 02:01:21.700224 > 30 bytes data, server => client 02:01:21.700234 '257 "/" is current directory\r\n' 02:01:21.700285 < 6 bytes data, client => server 02:01:21.700295 'EPSV\r\n' 02:01:21.701919 Received DATA (on stdin) 02:01:21.701933 > 38 bytes data, server => client 02:01:21.701944 '229 Entering Passive Mode (|||43787|)\n' 02:01:21.702055 < 8 bytes data, client => server 02:01:21.702069 'TYPE I\r\n' 02:01:21.702237 Received DATA (on stdin) 02:01:21.702248 > 33 bytes data, server => client 02:01:21.702258 '200 I modify TYPE as you wanted\r\n' 02:01:21.702305 < 21 bytes data, client => server 02:01:21.702316 'SIZE verifiedserver\r\n' 02:01:21.702404 Received DATA (on stdin) 02:01:21.702414 > 8 bytes data, server => client 02:01:21.702424 '213 17\r\n' 02:01:21.702466 < 21 bytes data, client => server 02:01:21.702477 'RETR verifiedserver\r\n' 02:01:21.702650 Received DATA (on stdin) 02:01:21.702660 > 29 bytes data, server => client 02:01:21.702671 '150 Binary junk (17 bytes).\r\n' 02:01:21.703085 Received DATA (on stdin) 02:01:21.703097 > 28 bytes data, server => client 02:01:21.703107 '226 File transfer complete\r\n' 02:01:21.745320 < 6 bytes data, client => server 02:01:21.745344 'QUIT\r\n' 02:01:21.745526 Received DATA (on stdin) 02:01:21.745540 > 18 bytes data, server => client 02:01:21.745551 '221 bye bye baby\r\n' 02:01:21.745638 ====> Client disconnect 02:01:21.745777 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.701610 Running IPv4 version 02:01:22.701655 Listening on port 43787 02:01:22.701691 Wrote pid 82085 to log/5/server/ftp_sockdata.pid 02:01:22.701705 Received PING (on stdin) 02:01:22.701777 Received PORT (on stdin) 02:01:22.702086 ====> Client connect 02:01:22.702696 Received DATA (on stdin) 02:01:22.702708 > 17 bytes data, server => client 02:01:22.702718 'WE ROOLZ: 80534\r\n' 02:01:22.702742 Received DISC (on stdin) 02:01:22.702753 ====> Client forcibly disconnected 02:01:22.702881 Received QUIT (on stdin) 02:01:22.702891 quits 02:01:22.702936 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 127 === End of file server.cmd === Start of file valgrind127 ==82183== ==82183== Process terminating with default action of signal 4 (SIGILL) ==82183== Illegal opcode at address 0x10B08D ==82183== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82183== by 0x10B08D: main (tool_main.c:232) === End of file valgrind127 test 0122...[FTP download resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind122 ../src/curl -q --output log/9/curl122.out --include --trace-ascii log/9/trace122 --trace-config all --trace-time ftp://127.0.0.1:35301/122 -C 5 > log/9/stdout122 2> log/9/stderr122 122: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 122 === Start of file ftp_server.log 02:01:22.462267 ====> Client connect 02:01:22.462405 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.462663 < "USER anonymous" 02:01:22.462694 > "331 We are happy you popped in![CR][LF]" 02:01:22.462843 < "PASS ftp@example.com" 02:01:22.462868 > "230 Welcome you silly person[CR][LF]" 02:01:22.463020 < "PWD" 02:01:22.463050 > "257 "/" is current directory[CR][LF]" 02:01:22.463200 < "EPSV" 02:01:22.463222 ====> Passive DATA channel requested by client 02:01:22.463238 DATA sockfilt for passive data channel starting... 02:01:22.464994 DATA sockfilt for passive data channel started (pid 82020) 02:01:22.465626 DATA sockfilt for passive data channel listens on port 38755 02:01:22.465671 > "229 Entering Passive Mode (|||38755|)[LF]" 02:01:22.465687 Client has been notified that DATA conn will be accepted on port 38755 02:01:22.465906 Client connects to port 38755 02:01:22.465941 ====> Client established passive DATA connection on port 38755 02:01:22.466002 < "TYPE I" 02:01:22.466026 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.466172 < "SIZE verifiedserver" 02:01:22.466202 > "213 17[CR][LF]" 02:01:22.466347 < "RETR verifiedserver" 02:01:22.466379 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.466447 =====> Closing passive DATA connection... 02:01:22.466461 Server disconnects passive DATA connection 02:01:22.466669 Server disconnected passive DATA connection 02:01:22.466695 DATA sockfilt for passive data channel quits (pid 82020) 02:01:22.466861 DATA sockfilt for passive data channel quit (pid 82020) 02:01:22.466880 =====> Closed passive DATA connection 02:01:22.466903 > "226 File transfer complete[CR][LF]" 02:01:22.512079 < "QUIT" 02:01:22.512125 > "221 bye bye baby[CR][LF]" 02:01:22.513321 MAIN sockfilt said DISC 02:01:22.513368 ====> Client disconnected 02:01:22.513427 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.662308 ====> Client connect 02:01:22.662557 Received DATA (on stdin) 02:01:22.662572 > 160 bytes data, server => client 02:01:22.662584 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.662596 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.662605 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.662678 < 16 bytes data, client => server 02:01:22.662690 'USER anonymous\r\n' 02:01:22.662833 Received DATA (on stdin) 02:01:22.662844 > 33 bytes data, server => client 02:01:22.662855 '331 We are happy you popped in!\r\n' 02:01:22.662902 < 22 bytes data, client => server 02:01:22.662913 'PASS ftp@example.com\r\n' 02:01:22.663007 Received DATA (on stdin) 02:01:22.663019 > 30 bytes data, server => client 02:01:22.663030 '230 Welcome you silly person\r\n' 02:01:22.663080 < 5 bytes data, client => server 02:01:22.663092 'PWD\r\n' 02:01:22.663187 Received DATA (on stdin) 02:01:22.663198 > 30 bytes data, server => client 02:01:22.663209 '257 "/" is current directory\r\n' 02:01:22.663263 < 6 bytes data, client => server 02:01:22.663275 'EPSV\r\n' 02:01:22.665829 Received DATA (on stdin) 02:01:22.665842 > 38 bytes data, server => client 02:01:22.665854 '229 Entering Passive Mode (|||38755|)\n' 02:01:22.665970 < 8 bytes data, client => server 02:01:22.665984 'TYPECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-config all --trace-time ftp://127.0.0.1:36595/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 I\r\n' 02:01:22.666162 Received DATA (on stdin) 02:01:22.666174 > 33 bytes data, server => client 02:01:22.666185 '200 I modify TYPE as you wanted\r\n' 02:01:22.666234 < 21 bytes data, client => server 02:01:22.666246 'SIZE verifiedserver\r\n' 02:01:22.666342 Received DATA (on stdin) 02:01:22.666357 > 8 bytes data, server => client 02:01:22.666367 '213 17\r\n' 02:01:22.666412 < 21 bytes data, client => server 02:01:22.666423 'RETR verifiedserver\r\n' 02:01:22.666685 Received DATA (on stdin) 02:01:22.666697 > 29 bytes data, server => client 02:01:22.666707 '150 Binary junk (17 bytes).\r\n' 02:01:22.667041 Received DATA (on stdin) 02:01:22.667054 > 28 bytes data, server => client 02:01:22.667064 '226 File transfer complete\r\n' 02:01:22.712072 < 6 bytes data, client => server 02:01:22.712090 'QUIT\r\n' 02:01:22.712266 Received DATA (on stdin) 02:01:22.712277 > 18 bytes data, server => client 02:01:22.712288 '221 bye bye baby\r\n' 02:01:22.713033 ====> Client disconnect 02:01:22.713567 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.664615 Running IPv4 version 02:01:22.664662 Listening on port 38755 02:01:22.664696 Wrote pid 82020 to log/9/server/ftp_sockdata.pid 02:01:22.664925 Received PING (on stdin) 02:01:22.665301 Received PORT (on stdin) 02:01:22.666002 ====> Client connect 02:01:22.666599 Received DATA (on stdin) 02:01:22.666612 > 17 bytes data, server => client 02:01:22.666622 'WE ROOLZ: 80452\r\n' 02:01:22.666650 Received DISC (on stdin) 02:01:22.666662 ====> Client forcibly disconnected 02:01:22.666839 Received QUIT (on stdin) 02:01:22.666850 quits 02:01:22.666894 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 122 === End of file server.cmd === Start of file valgrind122 ==82272== ==82272== Process terminating with default action of signal 4 (SIGILL) ==82272== Illegal opcode at address 0x10B08D ==82272== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82272== by 0x10B08D: main (tool_main.c:232) === End of file valgrind122 test 0128...[FTP upload with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-config all --trace-time ftp://127.0.0.1:36595/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 128: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 128 === Start of file ftp_server.log 02:01:22.766074 ====> Client connect 02:01:22.766216 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.766639 < "USER anonymous" 02:01:22.766672 > "331 We are happy you popped in![CR][LF]" 02:01:22.766844 < "PASS ftp@example.com" 02:01:22.766870 > "230 Welcome you silly person[CR][LF]" 02:01:22.767033 < "PWD" 02:01:22.767064 > "257 "/" is current directory[CR][LF]" 02:01:22.767230 < "EPSV" 02:01:22.767256 ====> Passive DATA channel requested by client 02:01:22.767269 DATA sockfilt for passive data channel starting... 02:01:22.773576 DATA sockfilt for passive data channel started (pid 82409) 02:01:22.773707 DATA sockfilt for passive data channel listens on port 45381 02:01:22.773750 > "229 Entering Passive Mode (|||45381|)[LF]" 02:01:22.773769 Client has been notified that DATA conn will be accepted on port 45381 02:01:22.774021 Client connects to port 45381 02:01:22.774050 ====> Client established passive DATA connection on port 45381 02:01:22.774158 < "TYPE I" 02:01:22.774189 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.774355 < "SIZE verifiedserver" 02:01:22.774388 > "213 17[CR][LF]" 02:01:22.774539 < "RETR verifiedserver" 02:01:22.774569 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.774647 =====> Closing passive DATA connection... 02:01:22.774664 Server disconnects passive DATA connection 02:01:22.774780 Server disconnected passive DATA connection 02:01:22.774803 DATA sockfilt for passive data channel quits (pid 82409) 02:01:22.774984 DATA sockfilt for passive data channel quit (pid 82409) 02:01:22.775008 =====> Closed passive DATA connection 02:01:22.775030 > "226 File transfer complete[CR][LF]" 02:01:22.818613 < "QUIT" 02:01:22.818660 > "221 bye bye baby[CR][LF]" 02:01:22.819286 MAIN sockfilt said DISC 02:01:22.819323 ====> Client disconnected 02:01:22.819385 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.966118 ====> Client connect 02:01:22.966367 Received DATA (on stdin) 02:01:22.966382 > 160 bytes data, server => client 02:01:22.966395 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.966407 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.966419 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.966627 < 16 bytes data, client => server 02:01:22.966647 'USER anonymous\r\n' 02:01:22.966815 Received DATA (on stdin) 02:01:22.966828 > 33 bytes data, server => client 02:01:22.966840 '331 We are happy you popped in!\r\n' 02:01:22.966895 < 22 bytes data, client => server 02:01:22.966908 'PASS ftp@example.com\r\n' 02:01:22.967010 Received DATA (on stdin) 02:01:22.967022 > 30 bytes data, server => client 02:01:22.967033 '230 Welcome you silly person\r\n' 02:01:22.967087 < 5 bytes data, client => server 02:01:22.967101 'PWD\r\n' 02:01:22.967204 Received DATA (on stdin) 02:01:22.967216 > 30 bytes data, server => client 02:01:22.967227 '257 "/" is current directory\r\n' 02:01:22.967287 < 6 bytes data, client => server 02:01:22.967299 'EPSV\r\n' 02:01:22.973917 Received DATA (on stdin) 02:01:22.973934 > 38 bytes data, server => client 02:01:22.973946 '229 Entering Passive Mode (|||45381|)\n' 02:01:22.974202 < 8 bytes data, client => server 02:01:22.974215 'TYPE I\r\n' 02:01:22.974337 Received DATA (on stdin) 02:01:22.974349 > 33 bytes data, server => client 02:01:22.974360 '200 I modify TYPE as you wanted\r\n' 02:01:22.974412 < 21 bytes data, client => server 02:01:22.974425 'SIZE verifiedserver\r\n' 02:01:22.974526 Received DATA (on stdin) 02:01:22.974537 > 8 bytes data, server => client 02:01:22.974547 '213 17\r\n' 02:01:22.974596 < 21 bytes data, client => server 02:01:22.974608 'RETR verifiedserver\r\n' 02:01:22.975184 Received DATA (on stdin) 02:01:22.975209 > 29 bytes data, server => client 02:01:22.975221 '150 Binary junk (17 bytes).\r\n' 02:01:22.975247 Received DATA (on stdin) 02:01:22.975257 > 28 bytes data, server => client 02:01:22.975268 '226 File transfer complete\r\n' 02:01:23.018604 < 6 bytes data, client => server 02:01:23.018628 'QUIT\r\n' 02:01:23.018803 Received DATA (on stdin) 02:01:23.018815 > 18 bytes data, server => client 02:01:23.018826 '221 bye bye baby\r\n' 02:01:23.019371 ====> Client disconnect 02:01:23.019527 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.969123 Running IPv4 version 02:01:22.969178 Listening on port 45381 02:01:22.969213 Wrote pid 82409 to log/2/server/ftp_sockdata.pid 02:01:22.973644 Received PING (on stdin) 02:01:22.973756 Received PORT (on stdin) 02:01:22.974112 ====> Client connect 02:01:22.974803 Received DATA (on stdin) 02:01:22.974816 > 17 bytes data, server => client 02:01:22.974827 'WE ROOLZ: 80457\r\n' 02:01:22.974857 Received DISC (on stdin) 02:01:22.974871 ====> Client forcibly disconnected 02:01:22.974952 Received QUIT (on stdin) 02:01:22.974963 quits 02:01:22.975015 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 128 === End of file server.cmd === Start of file upload128 file with Unix newlines meant to be converted with the --crlf option === End of file uploCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind129 ../src/curl -q --output log/4/curl129.out --include --trace-ascii log/4/trace129 --trace-config all --trace-time http://127.0.0.1:36813/129 > log/4/stdout129 2> log/4/stderr129 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind130 ../src/curl -q --output log/1/curl130.out --include --trace-ascii log/1/trace130 --trace-config all --trace-time --netrc-optional --netrc-file log/1/netrc130 ftp://127.0.0.1:45039/ > log/1/stdout130 2> log/1/stderr130 ad128 === Start of file valgrind128 ==82481== ==82481== Process terminating with default action of signal 4 (SIGILL) ==82481== Illegal opcode at address 0x10B08D ==82481== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82481== by 0x10B08D: main (tool_main.c:232) === End of file valgrind128 test 0129...[HTTP/1.2 is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind129 ../src/curl -q --output log/4/curl129.out --include --trace-ascii log/4/trace129 --trace-config all --trace-time http://127.0.0.1:36813/129 > log/4/stdout129 2> log/4/stderr129 129: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 129 === Start of file http_server.log 02:01:22.980974 ====> Client connect 02:01:22.981001 accept_connection 3 returned 4 02:01:22.981015 accept_connection 3 returned 0 02:01:22.981027 Read 93 bytes 02:01:22.981036 Process 93 bytes request 02:01:22.981048 Got request: GET /verifiedserver HTTP/1.1 02:01:22.981057 Are-we-friendly question received 02:01:22.981078 Wrote request (93 bytes) input to log/4/server.input 02:01:22.981097 Identifying ourselves as friends 02:01:22.981166 Response sent (56 bytes) and written to log/4/server.response 02:01:22.981178 special request received, no persistency 02:01:22.981187 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 129 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind129 ==82419== ==82419== Process terminating with default action of signal 4 (SIGILL) ==82419== Illegal opcode at address 0x10B08D ==82419== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82419== by 0x10B08D: main (tool_main.c:232) === End of file valgrind129 test 0130...[FTP (optional .netrc; no user/pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind130 ../src/curl -q --output log/1/curl130.out --include --trace-ascii log/1/trace130 --trace-config all --trace-time --netrc-optional --netrc-file log/1/netrc130 ftp://127.0.0.1:45039/ > log/1/stdout130 2> log/1/stderr130 130: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 130 === Start of file ftp_server.log 02:01:22.811182 ====> Client connect 02:01:22.811334 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.811621 < "USER anonymous" 02:01:22.811656 > "331 We are happy you popped in![CR][LF]" 02:01:22.811831 < "PASS ftp@example.com" 02:01:22.811855 > "230 Welcome you silly person[CR][LF]" 02:01:22.812008 < "PWD" 02:01:22.812037 > "257 "/" is current directory[CR][LF]" 02:01:22.812194 < "EPSV" 02:01:22.812218 ====> Passive DATA channel requested by client 02:01:22.812231 DATA sockfilt for passive data channel starting... 02:01:22.813611 DATA sockfilt for passive data channel started (pid 82459) 02:01:22.813707 DATA sockfilt for passive data channel listens on port 35851 02:01:22.813743 > "229 Entering Passive Mode (|||35851|)[LF]" 02:01:22.813758 Client has been notified that DATA conn will be accepted on port 35851 02:01:22.813956 Client connects to port 35851 02:01:22.813988 ====> Client established passive DATA connection on port 35851 02:01:22.814056 < "TYPE I" 02:01:22.814084 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.814259 < "SIZE verifiedserver" 02:01:22.814297 > "213 17[CR][LF]" 02:01:22.814443 < "RETR verifiedserver" 02:01:22.814473 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.814550 =====> Closing passive DATA connection... 02:01:22.814567 Server disconnects passive DATA connection 02:01:22.814637 Server disconnected passive DATA connection 02:01:22.814661 DATA sockfilt for passive data channel quits (pid 82459) 02:01:22.814887 DATA sockfilt for passive data channel quit (pid 82459) 02:01:22.814913 =====> Closed passive DATA connection 02:01:22.814944 > "226 File transfer complete[CR][LF]" 02:01:22.858874 < "QUIT" 02:01:22.858925 > "221 bye bye baby[CR][LF]" 02:01:22.859691 MAIN sockfilt said DISC 02:01:22.859721 ====> Client disconnected 02:01:22.859787 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.011220 ====> Client connect 02:01:23.011485 Received DATA (on stdin) 02:01:23.011500 > 160 bytes data, server => client 02:01:23.011513 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.011525 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.011536 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.011611 < 16 bytes data, client => server 02:01:23.011624 'USER anonymous\r\n' 02:01:23.011797 Received DATA (on stdin) 02:01:23.011810 > 33 bytes data, server => client 02:01:23.011823 '331 We are happy you popped in!\r\n' 02:01:23.011884 < 22 bytes data, client => server 02:01:23.011897 'PASS ftp@example.com\r\n' 02:01:23.011995 Received DATA (on stdin) 02:01:23.012006 > 30 bytes data, server => client 02:01:23.012019 '230 Welcome you silly person\r\n' 02:01:23.012070 < 5 bytes data, client => server 02:01:23.012082 'PWD\r\n' 02:01:23.012175 Received DATA (on stdin) 02:01:23.012186 > 30 bytes data, server => client 02:01:23.012197 '257 "/" is current directory\r\n' 02:01:23.012254 < 6 bytes data, client => server 02:01:23.012267 'EPSV\r\n' 02:01:23.013907 Received DATA (on stdin) 02:01:23.013921 > 38 bytes data, server => client 02:01:23.013934 '229 Entering Passive Mode (|||35851|)\n' 02:01:23.014057 < 8 bytes data, client => server 02:01:23.014073 'TYPE I\r\n' 02:01:23.014225 Received DATA (on stdin) 02:01:23.014240 > 33 bytes data, server => client 02:01:23.014252 '200 I modify TYPE as you wanted\r\n' 02:01:23.014312 < 21 bytes data, client => server 02:01:23.014326 'SIZE verifiedserver\r\n' 02:01:23.014437 Received DATA (on stdin) 02:01:23.014451 > 8 bytes data, server => client 02:01:23.014461 '213 17\r\n' 02:01:23.014514 < 21 bytes data, client => server 02:01:23.014528 'RETR verifiedserver\r\n' 02:01:23.014685 Received DATA (on stdin) 02:01:23.014698 > 29 bytes data, server => client 02:01:23.014708 '150 Binary junk (17 bytes).\r\n' 02:01:23.015084 Received DATA (on stdin) 02:01:23.015098 > 28 bytes data, server => client 02:01:23.015109 '226 File transfer complete\r\n' 02:01:23.058862 < 6 bytes data, client => server 02:01:23.058892 'QUIT\r\n' 02:01:23.059068 Received DATA (on stdin) 02:01:23.059082 > 18 bytes data, server => client 02:01:23.059093 '221 bye bye baby\r\n' 02:01:23.059781 ====> Client disconnect 02:01:23.059928 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.013585 Running IPv4 version 02:01:22.013637 Listening on port 35851 02:01:22.013675 Wrote pid 82459 to log/1/server/ftp_sockdata.pid 02:01:22.013692 Received PING (on stdin) 02:01:22.013771 Received PORT (on stdin) 02:01:22.014042 ====> Client connect 02:01:22.014618 Received DATA (on stdin) 02:01:22.014631 > 17 bytes data, server => client 02:01:22.014643CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind132 ../src/curl -q --output log/11/curl132.out --include --trace-ascii log/11/trace132 --trace-config all --trace-time --netrc-optional --netrc-file log/11/netrc132 ftp://mary:mark@127.0.0.1:45687/ > log/11/stdout132 2> log/11/stderr132 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind131 ../src/curl -q --output log/3/curl131.out --include --trace-ascii log/3/trace131 --trace-config all --trace-time --netrc-optional --netrc-file log/3/netrc131 ftp://user2@127.0.0.1:45983/ > log/3/stdout131 2> log/3/stderr131 'WE ROOLZ: 80463\r\n' 02:01:22.014708 Received DISC (on stdin) 02:01:22.014720 ====> Client forcibly disconnected 02:01:22.014844 Received QUIT (on stdin) 02:01:22.014858 quits 02:01:22.014912 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc130 # the following two lines were created while testing curl # machine 127.0.0.1 login user1 password commented machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 default login userdef password passwddef === End of file netrc130 === Start of file server.cmd Testnum 130 === End of file server.cmd === Start of file valgrind130 ==82533== ==82533== Process terminating with default action of signal 4 (SIGILL) ==82533== Illegal opcode at address 0x10B08D ==82533== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82533== by 0x10B08D: main (tool_main.c:232) === End of file valgrind130 test 0132...[FTP (optional .netrc; user/passwd supplied) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind132 ../src/curl -q --output log/11/curl132.out --include --trace-ascii log/11/trace132 --trace-config all --trace-time --netrc-optional --netrc-file log/11/netrc132 ftp://mary:mark@127.0.0.1:45687/ > log/11/stdout132 2> log/11/stderr132 132: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 132 === Start of file ftp_server.log 02:01:22.959631 ====> Client connect 02:01:22.959774 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.962738 < "USER anonymous" 02:01:22.962775 > "331 We are happy you popped in![CR][LF]" 02:01:22.966741 < "PASS ftp@example.com" 02:01:22.966785 > "230 Welcome you silly person[CR][LF]" 02:01:22.967012 < "PWD" 02:01:22.967055 > "257 "/" is current directory[CR][LF]" 02:01:22.967272 < "EPSV" 02:01:22.967306 ====> Passive DATA channel requested by client 02:01:22.967327 DATA sockfilt for passive data channel starting... 02:01:22.969969 DATA sockfilt for passive data channel started (pid 82628) 02:01:22.970076 DATA sockfilt for passive data channel listens on port 37573 02:01:22.970117 > "229 Entering Passive Mode (|||37573|)[LF]" 02:01:22.970136 Client has been notified that DATA conn will be accepted on port 37573 02:01:22.970443 Client connects to port 37573 02:01:22.970471 ====> Client established passive DATA connection on port 37573 02:01:22.970544 < "TYPE I" 02:01:22.970572 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.970720 < "SIZE verifiedserver" 02:01:22.970753 > "213 17[CR][LF]" 02:01:22.970904 < "RETR verifiedserver" 02:01:22.970937 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.971012 =====> Closing passive DATA connection... 02:01:22.971028 Server disconnects passive DATA connection 02:01:22.971269 Server disconnected passive DATA connection 02:01:22.971296 DATA sockfilt for passive data channel quits (pid 82628) 02:01:22.971474 DATA sockfilt for passive data channel quit (pid 82628) 02:01:22.971495 =====> Closed passive DATA connection 02:01:22.971520 > "226 File transfer complete[CR][LF]" 02:01:23.012337 < "QUIT" 02:01:23.012386 > "221 bye bye baby[CR][LF]" 02:01:23.013011 MAIN sockfilt said DISC 02:01:23.013043 ====> Client disconnected 02:01:23.013106 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.159663 ====> Client connect 02:01:23.159930 Received DATA (on stdin) 02:01:23.159944 > 160 bytes data, server => client 02:01:23.159956 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.159968 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.159978 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.160050 < 16 bytes data, client => server 02:01:23.160063 'USER anonymous\r\n' 02:01:23.162918 Received DATA (on stdin) 02:01:23.162932 > 33 bytes data, server => client 02:01:23.162944 '331 We are happy you popped in!\r\n' 02:01:23.163003 < 22 bytes data, client => server 02:01:23.163016 'PASS ftp@example.com\r\n' 02:01:23.166937 Received DATA (on stdin) 02:01:23.166960 > 30 bytes data, server => client 02:01:23.166976 '230 Welcome you silly person\r\n' 02:01:23.167050 < 5 bytes data, client => server 02:01:23.167063 'PWD\r\n' 02:01:23.167198 Received DATA (on stdin) 02:01:23.167218 > 30 bytes data, server => client 02:01:23.167229 '257 "/" is current directory\r\n' 02:01:23.167309 < 6 bytes data, client => server 02:01:23.167325 'EPSV\r\n' 02:01:23.170286 Received DATA (on stdin) 02:01:23.170303 > 38 bytes data, server => client 02:01:23.170315 '229 Entering Passive Mode (|||37573|)\n' 02:01:23.170503 < 8 bytes data, client => server 02:01:23.170520 'TYPE I\r\n' 02:01:23.170710 Received DATA (on stdin) 02:01:23.170722 > 33 bytes data, server => client 02:01:23.170734 '200 I modify TYPE as you wanted\r\n' 02:01:23.170782 < 21 bytes data, client => server 02:01:23.170793 'SIZE verifiedserver\r\n' 02:01:23.170892 Received DATA (on stdin) 02:01:23.170904 > 8 bytes data, server => client 02:01:23.170914 '213 17\r\n' 02:01:23.170963 < 21 bytes data, client => server 02:01:23.170975 'RETR verifiedserver\r\n' 02:01:23.171168 Received DATA (on stdin) 02:01:23.171181 > 29 bytes data, server => client 02:01:23.171192 '150 Binary junk (17 bytes).\r\n' 02:01:23.171658 Received DATA (on stdin) 02:01:23.171672 > 28 bytes data, server => client 02:01:23.171682 '226 File transfer complete\r\n' 02:01:23.212315 < 6 bytes data, client => server 02:01:23.212339 'QUIT\r\n' 02:01:23.212530 Received DATA (on stdin) 02:01:23.212543 > 18 bytes data, server => client 02:01:23.212554 '221 bye bye baby\r\n' 02:01:23.213098 ====> Client disconnect 02:01:23.213248 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.169391 Running IPv4 version 02:01:22.169451 Listening on port 37573 02:01:22.169488 Wrote pid 82628 to log/11/server/ftp_sockdata.pid 02:01:22.170047 Received PING (on stdin) 02:01:22.170131 Received PORT (on stdin) 02:01:22.170539 ====> Client connect 02:01:22.171242 Received DATA (on stdin) 02:01:22.171256 > 17 bytes data, server => client 02:01:22.171268 'WE ROOLZ: 80480\r\n' 02:01:22.171297 Received DISC (on stdin) 02:01:22.171310 ====> Client forcibly disconnected 02:01:22.171441 Received QUIT (on stdin) 02:01:22.171453 quits 02:01:22.171499 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc132 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc132 === Start of file server.cmd Testnum 132 === End of file server.cmd === Start of file valgrind132 ==82638== ==82638== Process terminating with default action of signal 4 (SIGILL) ==82638== Illegal opcode at address 0x10B08D ==82638== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82638== by 0x10B08D: main (tool_main.c:232) === End of file valgrind132 test 0131...[FTP (optional .netrc; user/no pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind131 ../src/curl -q --output log/3/curl131.out --include --trace-ascii log/3/trace131 --trace-config all --trace-time --netrc-optional --netrc-file log/3/netrc131 ftp://user2@127.0.0.1:45983/ > log/3/stdout131 2> log/3/stderr131 131: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 131 === Start of file ftp_server.log 02:01:22.961082 ====> Client connect 02:01:22.961202 > "220- CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind133 ../src/curl -q --output log/7/curl133.out --include --trace-ascii log/7/trace133 --trace-config all --trace-time -n --netrc-file log/7/netrc133 ftp://mary:mark@127.0.0.1:41879/ > log/7/stdout133 2> log/7/stderr133 _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.961449 < "USER anonymous" 02:01:22.961481 > "331 We are happy you popped in![CR][LF]" 02:01:22.961626 < "PASS ftp@example.com" 02:01:22.961648 > "230 Welcome you silly person[CR][LF]" 02:01:22.962001 < "PWD" 02:01:22.962053 > "257 "/" is current directory[CR][LF]" 02:01:22.962240 < "EPSV" 02:01:22.962264 ====> Passive DATA channel requested by client 02:01:22.962276 DATA sockfilt for passive data channel starting... 02:01:22.964537 DATA sockfilt for passive data channel started (pid 82626) 02:01:22.964659 DATA sockfilt for passive data channel listens on port 34393 02:01:22.964692 > "229 Entering Passive Mode (|||34393|)[LF]" 02:01:22.964707 Client has been notified that DATA conn will be accepted on port 34393 02:01:22.965432 Client connects to port 34393 02:01:22.965468 ====> Client established passive DATA connection on port 34393 02:01:22.965534 < "TYPE I" 02:01:22.965560 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.965725 < "SIZE verifiedserver" 02:01:22.965761 > "213 17[CR][LF]" 02:01:22.966200 < "RETR verifiedserver" 02:01:22.966234 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.966309 =====> Closing passive DATA connection... 02:01:22.966326 Server disconnects passive DATA connection 02:01:22.967975 Server disconnected passive DATA connection 02:01:22.968015 DATA sockfilt for passive data channel quits (pid 82626) 02:01:22.968346 DATA sockfilt for passive data channel quit (pid 82626) 02:01:22.968507 =====> Closed passive DATA connection 02:01:22.968556 > "226 File transfer complete[CR][LF]" 02:01:23.012285 < "QUIT" 02:01:23.012339 > "221 bye bye baby[CR][LF]" 02:01:23.013165 MAIN sockfilt said DISC 02:01:23.013197 ====> Client disconnected 02:01:23.013257 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.161136 ====> Client connect 02:01:23.161348 Received DATA (on stdin) 02:01:23.161361 > 160 bytes data, server => client 02:01:23.161374 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.161385 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.161395 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.161460 < 16 bytes data, client => server 02:01:23.161472 'USER anonymous\r\n' 02:01:23.161620 Received DATA (on stdin) 02:01:23.161631 > 33 bytes data, server => client 02:01:23.161641 '331 We are happy you popped in!\r\n' 02:01:23.161689 < 22 bytes data, client => server 02:01:23.161699 'PASS ftp@example.com\r\n' 02:01:23.161785 Received DATA (on stdin) 02:01:23.161795 > 30 bytes data, server => client 02:01:23.161805 '230 Welcome you silly person\r\n' 02:01:23.162052 < 5 bytes data, client => server 02:01:23.162067 'PWD\r\n' 02:01:23.162193 Received DATA (on stdin) 02:01:23.162204 > 30 bytes data, server => client 02:01:23.162214 '257 "/" is current directory\r\n' 02:01:23.162270 < 6 bytes data, client => server 02:01:23.162280 'EPSV\r\n' 02:01:23.164849 Received DATA (on stdin) 02:01:23.164866 > 38 bytes data, server => client 02:01:23.164878 '229 Entering Passive Mode (|||34393|)\n' 02:01:23.165092 < 8 bytes data, client => server 02:01:23.165105 'TYPE I\r\n' 02:01:23.165700 Received DATA (on stdin) 02:01:23.165713 > 33 bytes data, server => client 02:01:23.165725 '200 I modify TYPE as you wanted\r\n' 02:01:23.165783 < 21 bytes data, client => server 02:01:23.165796 'SIZE verifiedserver\r\n' 02:01:23.165901 Received DATA (on stdin) 02:01:23.165913 > 8 bytes data, server => client 02:01:23.165923 '213 17\r\n' 02:01:23.166240 < 21 bytes data, client => server 02:01:23.166257 'RETR verifiedserver\r\n' 02:01:23.166467 Received DATA (on stdin) 02:01:23.166480 > 29 bytes data, server => client 02:01:23.166491 '150 Binary junk (17 bytes).\r\n' 02:01:23.168710 Received DATA (on stdin) 02:01:23.168724 > 28 bytes data, server => client 02:01:23.168743 '226 File transfer complete\r\n' 02:01:23.212235 < 6 bytes data, client => server 02:01:23.212267 'QUIT\r\n' 02:01:23.212486 Received DATA (on stdin) 02:01:23.212499 > 18 bytes data, server => client 02:01:23.212511 '221 bye bye baby\r\n' 02:01:23.213255 ====> Client disconnect 02:01:23.213397 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.164228 Running IPv4 version 02:01:22.164282 Listening on port 34393 02:01:22.164315 Wrote pid 82626 to log/3/server/ftp_sockdata.pid 02:01:22.164436 Received PING (on stdin) 02:01:22.164721 Received PORT (on stdin) 02:01:22.165058 ====> Client connect 02:01:22.166547 Received DATA (on stdin) 02:01:22.166575 > 17 bytes data, server => client 02:01:22.166592 'WE ROOLZ: 80465\r\n' 02:01:22.166636 Received DISC (on stdin) 02:01:22.166655 ====> Client forcibly disconnected 02:01:22.168176 Received QUIT (on stdin) 02:01:22.168192 quits 02:01:22.168258 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc131 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc131 === Start of file server.cmd Testnum 131 === End of file server.cmd === Start of file valgrind131 ==82637== ==82637== Process terminating with default action of signal 4 (SIGILL) ==82637== Illegal opcode at address 0x10B08D ==82637== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82637== by 0x10B08D: main (tool_main.c:232) === End of file valgrind131 test 0133...[FTP compulsory .netrc; ignore passwd in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind133 ../src/curl -q --output log/7/curl133.out --include --trace-ascii log/7/trace133 --trace-config all --trace-time -n --netrc-file log/7/netrc133 ftp://mary:mark@127.0.0.1:41879/ > log/7/stdout133 2> log/7/stderr133 133: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 133 === Start of file ftp_server.log 02:01:22.983759 ====> Client connect 02:01:22.983899 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:22.984151 < "USER anonymous" 02:01:22.984180 > "331 We are happy you popped in![CR][LF]" 02:01:22.984429 < "PASS ftp@example.com" 02:01:22.984455 > "230 Welcome you silly person[CR][LF]" 02:01:22.984591 < "PWD" 02:01:22.984616 > "257 "/" is current directory[CR][LF]" 02:01:22.984755 < "EPSV" 02:01:22.984778 ====> Passive DATA channel requested by client 02:01:22.984790 DATA sockfilt for passive data channel starting... 02:01:22.986232 DATA sockfilt for passive data channel started (pid 82634) 02:01:22.986323 DATA sockfilt for passive data channel listens on port 36403 02:01:22.986354 > "229 Entering Passive Mode (|||36403|)[LF]" 02:01:22.986369 Client has been notified that DATA conn will be accepted on port 36403 02:01:22.986577 Client connects to port 36403 02:01:22.986605 ====> Client established passive DATA connection on port 36403 02:01:22.986663 < "TYPE I" 02:01:22.986689 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:22.986841 < "SIZE verifiedserver" 02:01:22.986874 > "213 17[CR][LF]" 02:01:22.987017 < "RETR verifiedserver" 02:01:22.987046 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:22.987114 =====> Closing passive DATA connection... 02:01:22.987129 Server disconnects passive DATA connection 02:01:22.987345 Server disconnected passive DATA connection 02:01:22.987369 DATA sockfilt for passive data channel quits (pid 82634) 02:01:22.987534 DATA sockfilt for passive data channel quit (pid 82634) 02:01:22.987553 =====> Closed passive DATA connection 02:01:22.987574 > "226 File transfeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind134 ../src/curl -q --output log/8/curl134.out --include --trace-ascii log/8/trace134 --trace-config all --trace-time --netrc-optional --netrc-file log/8/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:39101/ > log/8/stdout134 2> log/8/stderr134 r complete[CR][LF]" 02:01:23.032991 < "QUIT" 02:01:23.033050 > "221 bye bye baby[CR][LF]" 02:01:23.033661 MAIN sockfilt said DISC 02:01:23.033704 ====> Client disconnected 02:01:23.033775 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.183797 ====> Client connect 02:01:23.184045 Received DATA (on stdin) 02:01:23.184059 > 160 bytes data, server => client 02:01:23.184072 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.184083 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.184093 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.184164 < 16 bytes data, client => server 02:01:23.184175 'USER anonymous\r\n' 02:01:23.184411 Received DATA (on stdin) 02:01:23.184425 > 33 bytes data, server => client 02:01:23.184436 '331 We are happy you popped in!\r\n' 02:01:23.184486 < 22 bytes data, client => server 02:01:23.184497 'PASS ftp@example.com\r\n' 02:01:23.184592 Received DATA (on stdin) 02:01:23.184603 > 30 bytes data, server => client 02:01:23.184614 '230 Welcome you silly person\r\n' 02:01:23.184658 < 5 bytes data, client => server 02:01:23.184668 'PWD\r\n' 02:01:23.184752 Received DATA (on stdin) 02:01:23.184763 > 30 bytes data, server => client 02:01:23.184773 '257 "/" is current directory\r\n' 02:01:23.184824 < 6 bytes data, client => server 02:01:23.184835 'EPSV\r\n' 02:01:23.186513 Received DATA (on stdin) 02:01:23.186526 > 38 bytes data, server => client 02:01:23.186537 '229 Entering Passive Mode (|||36403|)\n' 02:01:23.186645 < 8 bytes data, client => server 02:01:23.186659 'TYPE I\r\n' 02:01:23.186828 Received DATA (on stdin) 02:01:23.186839 > 33 bytes data, server => client 02:01:23.186850 '200 I modify TYPE as you wanted\r\n' 02:01:23.186900 < 21 bytes data, client => server 02:01:23.186912 'SIZE verifiedserver\r\n' 02:01:23.187012 Received DATA (on stdin) 02:01:23.187023 > 8 bytes data, server => client 02:01:23.187033 '213 17\r\n' 02:01:23.187080 < 21 bytes data, client => server 02:01:23.187092 'RETR verifiedserver\r\n' 02:01:23.187355 Received DATA (on stdin) 02:01:23.187368 > 29 bytes data, server => client 02:01:23.187378 '150 Binary junk (17 bytes).\r\n' 02:01:23.187712 Received DATA (on stdin) 02:01:23.187725 > 28 bytes data, server => client 02:01:23.187735 '226 File transfer complete\r\n' 02:01:23.232739 < 6 bytes data, client => server 02:01:23.232765 'QUIT\r\n' 02:01:23.233375 Received DATA (on stdin) 02:01:23.233398 > 18 bytes data, server => client 02:01:23.233409 '221 bye bye baby\r\n' 02:01:23.233739 ====> Client disconnect 02:01:23.233843 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:22.186124 Running IPv4 version 02:01:22.186172 Listening on port 36403 02:01:22.186206 Wrote pid 82634 to log/7/server/ftp_sockdata.pid 02:01:22.186319 Received PING (on stdin) 02:01:22.186388 Received PORT (on stdin) 02:01:22.186676 ====> Client connect 02:01:22.187268 Received DATA (on stdin) 02:01:22.187280 > 17 bytes data, server => client 02:01:22.187291 'WE ROOLZ: 80479\r\n' 02:01:22.187319 Received DISC (on stdin) 02:01:22.187331 ====> Client forcibly disconnected 02:01:22.187513 Received QUIT (on stdin) 02:01:22.187525 quits 02:01:22.187568 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc133 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login mary password drfrank === End of file netrc133 === Start of file server.cmd Testnum 133 === End of file server.cmd === Start of file valgrind133 ==82687== ==82687== Process terminating with default action of signal 4 (SIGILL) ==82687== Illegal opcode at address 0x10B08D ==82687== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82687== by 0x10B08D: main (tool_main.c:232) === End of file valgrind133 test 0134...[FTP (optional .netrc; programmatic user/passwd) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind134 ../src/curl -q --output log/8/curl134.out --include --trace-ascii log/8/trace134 --trace-config all --trace-time --netrc-optional --netrc-file log/8/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:39101/ > log/8/stdout134 2> log/8/stderr134 134: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 134 === Start of file ftp_server.log 02:01:23.161625 ====> Client connect 02:01:23.161811 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.162089 < "USER anonymous" 02:01:23.162118 > "331 We are happy you popped in![CR][LF]" 02:01:23.162263 < "PASS ftp@example.com" 02:01:23.162286 > "230 Welcome you silly person[CR][LF]" 02:01:23.162414 < "PWD" 02:01:23.162440 > "257 "/" is current directory[CR][LF]" 02:01:23.162575 < "EPSV" 02:01:23.162600 ====> Passive DATA channel requested by client 02:01:23.162612 DATA sockfilt for passive data channel starting... 02:01:23.164097 DATA sockfilt for passive data channel started (pid 82807) 02:01:23.164182 DATA sockfilt for passive data channel listens on port 42427 02:01:23.164213 > "229 Entering Passive Mode (|||42427|)[LF]" 02:01:23.164227 Client has been notified that DATA conn will be accepted on port 42427 02:01:23.164426 Client connects to port 42427 02:01:23.164453 ====> Client established passive DATA connection on port 42427 02:01:23.164508 < "TYPE I" 02:01:23.164530 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.164667 < "SIZE verifiedserver" 02:01:23.164697 > "213 17[CR][LF]" 02:01:23.164820 < "RETR verifiedserver" 02:01:23.164846 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.164910 =====> Closing passive DATA connection... 02:01:23.164923 Server disconnects passive DATA connection 02:01:23.165134 Server disconnected passive DATA connection 02:01:23.165157 DATA sockfilt for passive data channel quits (pid 82807) 02:01:23.165311 DATA sockfilt for passive data channel quit (pid 82807) 02:01:23.165328 =====> Closed passive DATA connection 02:01:23.165348 > "226 File transfer complete[CR][LF]" 02:01:23.211861 < "QUIT" 02:01:23.211910 > "221 bye bye baby[CR][LF]" 02:01:23.212343 MAIN sockfilt said DISC 02:01:23.212371 ====> Client disconnected 02:01:23.212428 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.361662 ====> Client connect 02:01:23.361982 Received DATA (on stdin) 02:01:23.361997 > 160 bytes data, server => client 02:01:23.362009 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.362020 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.362030 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.362100 < 16 bytes data, client => server 02:01:23.362111 'USER anonymous\r\n' 02:01:23.362257 Received DATA (on stdin) 02:01:23.362268 > 33 bytes data, server => client 02:01:23.362278 '331 We are happy you popped in!\r\n' 02:01:23.362326 < 22 bytes data, client => server 02:01:23.362337 'PASS ftp@example.com\r\n' 02:01:23.362422 Received DATA (on stdin) 02:01:23.362432 > 30 bytes data, server => client 02:01:23.362442 '230 Welcome you silly person\r\n' 02:01:23.362485 < 5 bytes data, client => server 02:01:23.362495 'PWD\r\n' 02:01:23.362575 Received DATA (on stdin) 02:01:23.362587 > 30 bytes data, server => client 02:01:23.362597 '257 "/" is current directory\r\n' 02:01:23.362646 < 6 bytes data, client => server 02:01:23.362656 'EPSV\r\n' 02:01:23.364366 Received DATA (on stdin) 02:01:23.364379 > 38 bytes data, server => client 02:01:23.364389 '229 Entering Passive Mode (|||42427|)\n' 02:01:23.364492 < 8 bytes data, client => server 02:01:23.364506 'TYPE I\r\n' 02:01:23.364667 Received DATA (on stdin) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind138 ../src/curl -q --output log/5/curl138.out --include --trace-ascii log/5/trace138 --trace-config all --trace-time ftp://127.0.0.1:36485/blalbla/lululul/138 > log/5/stdout138 2> log/5/stderr138 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind137 ../src/curl -q --output log/10/curl137.out --include --trace-ascii log/10/trace137 --trace-config all --trace-time ftp://127.0.0.1:42661/blalbla/lululul/137 > log/10/stdout137 2> log/10/stderr137 02:01:23.364677 > 33 bytes data, server => client 02:01:23.364687 '200 I modify TYPE as you wanted\r\n' 02:01:23.364737 < 21 bytes data, client => server 02:01:23.364748 'SIZE verifiedserver\r\n' 02:01:23.364832 Received DATA (on stdin) 02:01:23.364842 > 8 bytes data, server => client 02:01:23.364851 '213 17\r\n' 02:01:23.364891 < 21 bytes data, client => server 02:01:23.364902 'RETR verifiedserver\r\n' 02:01:23.365144 Received DATA (on stdin) 02:01:23.365156 > 29 bytes data, server => client 02:01:23.365173 '150 Binary junk (17 bytes).\r\n' 02:01:23.365485 Received DATA (on stdin) 02:01:23.365497 > 28 bytes data, server => client 02:01:23.365507 '226 File transfer complete\r\n' 02:01:23.411851 < 6 bytes data, client => server 02:01:23.411874 'QUIT\r\n' 02:01:23.412057 Received DATA (on stdin) 02:01:23.412069 > 18 bytes data, server => client 02:01:23.412081 '221 bye bye baby\r\n' 02:01:23.412435 ====> Client disconnect 02:01:23.412566 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.364002 Running IPv4 version 02:01:23.364048 Listening on port 42427 02:01:23.364079 Wrote pid 82807 to log/8/server/ftp_sockdata.pid 02:01:23.364187 Received PING (on stdin) 02:01:23.364250 Received PORT (on stdin) 02:01:23.364522 ====> Client connect 02:01:23.365059 Received DATA (on stdin) 02:01:23.365071 > 17 bytes data, server => client 02:01:23.365081 'WE ROOLZ: 80441\r\n' 02:01:23.365106 Received DISC (on stdin) 02:01:23.365117 ====> Client forcibly disconnected 02:01:23.365300 Received QUIT (on stdin) 02:01:23.365310 quits 02:01:23.365349 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc134 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc134 === Start of file server.cmd Testnum 134 === End of file server.cmd === Start of file valgrind134 ==82892== ==82892== Process terminating with default action of signal 4 (SIGILL) ==82892== Illegal opcode at address 0x10B08D ==82892== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82892== by 0x10B08D: main (tool_main.c:232) === End of file valgrind134 test 0138...[FTP download without size in RETR string and no SIZE command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind138 ../src/curl -q --output log/5/curl138.out --include --trace-ascii log/5/trace138 --trace-config all --trace-time ftp://127.0.0.1:36485/blalbla/lululul/138 > log/5/stdout138 2> log/5/stderr138 138: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 138 === Start of file ftp_server.log 02:01:23.212031 ====> Client connect 02:01:23.212156 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.212405 < "USER anonymous" 02:01:23.212437 > "331 We are happy you popped in![CR][LF]" 02:01:23.212592 < "PASS ftp@example.com" 02:01:23.212616 > "230 Welcome you silly person[CR][LF]" 02:01:23.212770 < "PWD" 02:01:23.212797 > "257 "/" is current directory[CR][LF]" 02:01:23.212944 < "EPSV" 02:01:23.212967 ====> Passive DATA channel requested by client 02:01:23.212980 DATA sockfilt for passive data channel starting... 02:01:23.214387 DATA sockfilt for passive data channel started (pid 82882) 02:01:23.214472 DATA sockfilt for passive data channel listens on port 45407 02:01:23.214504 > "229 Entering Passive Mode (|||45407|)[LF]" 02:01:23.214519 Client has been notified that DATA conn will be accepted on port 45407 02:01:23.214729 Client connects to port 45407 02:01:23.214754 ====> Client established passive DATA connection on port 45407 02:01:23.214811 < "TYPE I" 02:01:23.214835 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.214974 < "SIZE verifiedserver" 02:01:23.215003 > "213 17[CR][LF]" 02:01:23.215157 < "RETR verifiedserver" 02:01:23.215187 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.215253 =====> Closing passive DATA connection... 02:01:23.215267 Server disconnects passive DATA connection 02:01:23.215477 Server disconnected passive DATA connection 02:01:23.215503 DATA sockfilt for passive data channel quits (pid 82882) 02:01:23.215667 DATA sockfilt for passive data channel quit (pid 82882) 02:01:23.215694 =====> Closed passive DATA connection 02:01:23.215716 > "226 File transfer complete[CR][LF]" 02:01:23.260090 < "QUIT" 02:01:23.260137 > "221 bye bye baby[CR][LF]" 02:01:23.260313 MAIN sockfilt said DISC 02:01:23.260343 ====> Client disconnected 02:01:23.260402 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:22.412086 ====> Client connect 02:01:22.412303 Received DATA (on stdin) 02:01:22.412316 > 160 bytes data, server => client 02:01:22.412329 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:22.412341 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:22.412352 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:22.412419 < 16 bytes data, client => server 02:01:22.412432 'USER anonymous\r\n' 02:01:22.412577 Received DATA (on stdin) 02:01:22.412589 > 33 bytes data, server => client 02:01:22.412600 '331 We are happy you popped in!\r\n' 02:01:22.412650 < 22 bytes data, client => server 02:01:22.412662 'PASS ftp@example.com\r\n' 02:01:22.412754 Received DATA (on stdin) 02:01:22.412766 > 30 bytes data, server => client 02:01:22.412778 '230 Welcome you silly person\r\n' 02:01:22.412832 < 5 bytes data, client => server 02:01:22.412843 'PWD\r\n' 02:01:22.412934 Received DATA (on stdin) 02:01:22.412945 > 30 bytes data, server => client 02:01:22.412956 '257 "/" is current directory\r\n' 02:01:22.413011 < 6 bytes data, client => server 02:01:22.413022 'EPSV\r\n' 02:01:22.414658 Received DATA (on stdin) 02:01:22.414671 > 38 bytes data, server => client 02:01:22.414683 '229 Entering Passive Mode (|||45407|)\n' 02:01:22.414788 < 8 bytes data, client => server 02:01:22.414803 'TYPE I\r\n' 02:01:22.414971 Received DATA (on stdin) 02:01:22.414982 > 33 bytes data, server => client 02:01:22.414993 '200 I modify TYPE as you wanted\r\n' 02:01:22.415040 < 21 bytes data, client => server 02:01:22.415051 'SIZE verifiedserver\r\n' 02:01:22.415142 Received DATA (on stdin) 02:01:22.415164 > 8 bytes data, server => client 02:01:22.415173 '213 17\r\n' 02:01:22.415219 < 21 bytes data, client => server 02:01:22.415230 'RETR verifiedserver\r\n' 02:01:22.415493 Received DATA (on stdin) 02:01:22.415505 > 29 bytes data, server => client 02:01:22.415516 '150 Binary junk (17 bytes).\r\n' 02:01:22.415855 Received DATA (on stdin) 02:01:22.415867 > 28 bytes data, server => client 02:01:22.415877 '226 File transfer complete\r\n' 02:01:22.458709 < 6 bytes data, client => server 02:01:22.458734 'QUIT\r\n' 02:01:22.460279 Received DATA (on stdin) 02:01:22.460294 > 18 bytes data, server => client 02:01:22.460306 '221 bye bye baby\r\n' 02:01:22.460405 ====> Client disconnect 02:01:22.460552 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.414272 Running IPv4 version 02:01:23.414319 Listening on port 45407 02:01:23.414360 Wrote pid 82882 to log/5/server/ftp_sockdata.pid 02:01:23.414474 Received PING (on stdin) 02:01:23.414540 Received PORT (on stdin) 02:01:23.414825 ====> Client connect 02:01:23.415406 Received DATA (on stdin) 02:01:23.415418 > 17 bytes data, server => client 02:01:23.415429 'WE ROOLZ: 80534\r\n' 02:01:23.415457 Received DISC (on stdin) 02:01:23.415470 ====> Client forcibly disconnected 02:01:23.415648 Received QUIT (on stdin) 02:01:23.415660 quits 02:01:23.415700 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind139 ../src/curl -q --output log/9/curl139.out --include --trace-ascii log/9/trace139 --trace-config all --trace-time ftp://127.0.0.1:35301/blalbla/139 -z "1 jan 1989" > log/9/stdout139 2> log/9/stderr139 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind135 ../src/curl -q --output log/12/curl135.out --include --trace-ascii log/12/trace135 --trace-config all --trace-time -r 4-16 ftp://127.0.0.1:40171/135 > log/12/stdout135 2> log/12/stderr135 REPLY SIZE 500 command not understood Testnum 138 === End of file server.cmd === Start of file valgrind138 ==82968== ==82968== Process terminating with default action of signal 4 (SIGILL) ==82968== Illegal opcode at address 0x10B08D ==82968== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82968== by 0x10B08D: main (tool_main.c:232) === End of file valgrind138 test 0137...[FTP download without size in RETR string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind137 ../src/curl -q --output log/10/curl137.out --include --trace-ascii log/10/trace137 --trace-config all --trace-time ftp://127.0.0.1:42661/blalbla/lululul/137 > log/10/stdout137 2> log/10/stderr137 137: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 137 === Start of file ftp_server.log 02:01:23.212550 ====> Client connect 02:01:23.212678 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.212918 < "USER anonymous" 02:01:23.212948 > "331 We are happy you popped in![CR][LF]" 02:01:23.213091 < "PASS ftp@example.com" 02:01:23.213113 > "230 Welcome you silly person[CR][LF]" 02:01:23.213243 < "PWD" 02:01:23.213269 > "257 "/" is current directory[CR][LF]" 02:01:23.213403 < "EPSV" 02:01:23.213423 ====> Passive DATA channel requested by client 02:01:23.213435 DATA sockfilt for passive data channel starting... 02:01:23.216392 DATA sockfilt for passive data channel started (pid 82885) 02:01:23.216491 DATA sockfilt for passive data channel listens on port 46071 02:01:23.216522 > "229 Entering Passive Mode (|||46071|)[LF]" 02:01:23.216537 Client has been notified that DATA conn will be accepted on port 46071 02:01:23.216746 Client connects to port 46071 02:01:23.216774 ====> Client established passive DATA connection on port 46071 02:01:23.216834 < "TYPE I" 02:01:23.216858 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.217007 < "SIZE verifiedserver" 02:01:23.217039 > "213 17[CR][LF]" 02:01:23.217180 < "RETR verifiedserver" 02:01:23.217209 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.217280 =====> Closing passive DATA connection... 02:01:23.217296 Server disconnects passive DATA connection 02:01:23.217411 Server disconnected passive DATA connection 02:01:23.217430 DATA sockfilt for passive data channel quits (pid 82885) 02:01:23.217592 DATA sockfilt for passive data channel quit (pid 82885) 02:01:23.217611 =====> Closed passive DATA connection 02:01:23.217634 > "226 File transfer complete[CR][LF]" 02:01:23.258891 < "QUIT" 02:01:23.258935 > "221 bye bye baby[CR][LF]" 02:01:23.259581 MAIN sockfilt said DISC 02:01:23.259615 ====> Client disconnected 02:01:23.259666 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.412611 ====> Client connect 02:01:23.412828 Received DATA (on stdin) 02:01:23.412842 > 160 bytes data, server => client 02:01:23.412854 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.412866 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.412876 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.412939 < 16 bytes data, client => server 02:01:23.412952 'USER anonymous\r\n' 02:01:23.413086 Received DATA (on stdin) 02:01:23.413097 > 33 bytes data, server => client 02:01:23.413107 '331 We are happy you popped in!\r\n' 02:01:23.413155 < 22 bytes data, client => server 02:01:23.413166 'PASS ftp@example.com\r\n' 02:01:23.413249 Received DATA (on stdin) 02:01:23.413259 > 30 bytes data, server => client 02:01:23.413270 '230 Welcome you silly person\r\n' 02:01:23.413312 < 5 bytes data, client => server 02:01:23.413323 'PWD\r\n' 02:01:23.413405 Received DATA (on stdin) 02:01:23.413415 > 30 bytes data, server => client 02:01:23.413425 '257 "/" is current directory\r\n' 02:01:23.413472 < 6 bytes data, client => server 02:01:23.413482 'EPSV\r\n' 02:01:23.416678 Received DATA (on stdin) 02:01:23.416692 > 38 bytes data, server => client 02:01:23.416703 '229 Entering Passive Mode (|||46071|)\n' 02:01:23.416811 < 8 bytes data, client => server 02:01:23.416826 'TYPE I\r\n' 02:01:23.416995 Received DATA (on stdin) 02:01:23.417007 > 33 bytes data, server => client 02:01:23.417018 '200 I modify TYPE as you wanted\r\n' 02:01:23.417069 < 21 bytes data, client => server 02:01:23.417081 'SIZE verifiedserver\r\n' 02:01:23.417176 Received DATA (on stdin) 02:01:23.417187 > 8 bytes data, server => client 02:01:23.417197 '213 17\r\n' 02:01:23.417243 < 21 bytes data, client => server 02:01:23.417254 'RETR verifiedserver\r\n' 02:01:23.417357 Received DATA (on stdin) 02:01:23.417376 > 29 bytes data, server => client 02:01:23.417388 '150 Binary junk (17 bytes).\r\n' 02:01:23.417772 Received DATA (on stdin) 02:01:23.417785 > 28 bytes data, server => client 02:01:23.417796 '226 File transfer complete\r\n' 02:01:23.458894 < 6 bytes data, client => server 02:01:23.458915 'QUIT\r\n' 02:01:23.459075 Received DATA (on stdin) 02:01:23.459086 > 18 bytes data, server => client 02:01:23.459096 '221 bye bye baby\r\n' 02:01:23.459669 ====> Client disconnect 02:01:23.459803 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.416402 Running IPv4 version 02:01:23.416441 Listening on port 46071 02:01:23.416470 Wrote pid 82885 to log/10/server/ftp_sockdata.pid 02:01:23.416483 Received PING (on stdin) 02:01:23.416553 Received PORT (on stdin) 02:01:23.416843 ====> Client connect 02:01:23.417435 Received DATA (on stdin) 02:01:23.417448 > 17 bytes data, server => client 02:01:23.417458 'WE ROOLZ: 80449\r\n' 02:01:23.417489 Received DISC (on stdin) 02:01:23.417502 ====> Client forcibly disconnected 02:01:23.417571 Received QUIT (on stdin) 02:01:23.417581 quits 02:01:23.417622 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE Testnum 137 === End of file server.cmd === Start of file valgrind137 ==82954== ==82954== Process terminating with default action of signal 4 (SIGILL) ==82954== Illegal opcode at address 0x10B08D ==82954== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82954== by 0x10B08D: main (tool_main.c:232) === End of file valgrind137 test 0139...[FTP download a newer file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind139 ../src/curl -q --output log/9/curl139.out --include --trace-ascii log/9/trace139 --trace-config all --trace-time ftp://127.0.0.1:35301/blalbla/139 -z "1 jan 1989" > log/9/stdout139 2> log/9/stderr139 139: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 139 === Start of file ftp_server.log 02:01:23.222772 ====> Client connect 02:01:23.222906 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.223362 < "USER anonymous" 02:01:23.223391 > "331 We are happy you popped in![CR][LF]" 02:01:23.223518 < "PASS ftp@example.com" 02:01:23.223536 > "230 Welcome you silly person[CR][LF]" 02:01:23.223645 < "PWD" 02:01:23.223667 > "257 "/" is current directory[CR][LF]" 02:01:23.223780 < "EPSV" 02:01:23.223797 ====> Passive DATA channel requested by client 02:01:23.223806 DATA sockfilt for passive data channel starting... 02:01:23.224874 DATA sockfilt for passive data channel started (pid 82891) 02:01:23.224951 DATA sockfilt for passive data channel listens on port 35655 02:01:23.224978 > "229 Entering Passive Mode (|||35655|)[LF]" 02:01:23.224991 Client has been notified that DATA conn will be accepted on port 35655 02:01:23.225176 Client connects to port 35655 02:01:23.225198 ====> Client established passive DATA connection on port 35655 02:01:23.225261 < "TYPE I" 02:01:23.225280 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.225401 < "SIZE verifiedserver" 02:01:23.225426 > "213 17[CR][LF]" 02:01:23.225563 < "RETR verifiedserver" 02:01:23.225589 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.225649 =====> Closing passive DATA connection... 02:01:23.225660 Server disconnects passive DATA connection 02:01:23.225817 Server disconnected passive DATA connection 02:01:23.225844 DATA sockfilt for passive data channel quits (pid 82891) 02:01:23.225992 DATA sockfilt for passive data channel quit (pid 82891) 02:01:23.226010 =====> Closed passive DATA connection 02:01:23.226029 > "226 File transfer complete[CR][LF]" 02:01:23.268814 < "QUIT" 02:01:23.268859 > "221 bye bye baby[CR][LF]" 02:01:23.269993 MAIN sockfilt said DISC 02:01:23.270024 ====> Client disconnected 02:01:23.270088 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.422820 ====> Client connect 02:01:23.423246 Received DATA (on stdin) 02:01:23.423263 > 160 bytes data, server => client 02:01:23.423276 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.423288 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.423299 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.423393 < 16 bytes data, client => server 02:01:23.423407 'USER anonymous\r\n' 02:01:23.423527 Received DATA (on stdin) 02:01:23.423538 > 33 bytes data, server => client 02:01:23.423546 '331 We are happy you popped in!\r\n' 02:01:23.423588 < 22 bytes data, client => server 02:01:23.423597 'PASS ftp@example.com\r\n' 02:01:23.423669 Received DATA (on stdin) 02:01:23.423678 > 30 bytes data, server => client 02:01:23.423686 '230 Welcome you silly person\r\n' 02:01:23.423721 < 5 bytes data, client => server 02:01:23.423730 'PWD\r\n' 02:01:23.423800 Received DATA (on stdin) 02:01:23.423808 > 30 bytes data, server => client 02:01:23.423816 '257 "/" is current directory\r\n' 02:01:23.423860 < 6 bytes data, client => server 02:01:23.423868 'EPSV\r\n' 02:01:23.425128 Received DATA (on stdin) 02:01:23.425138 > 38 bytes data, server => client 02:01:23.425147 '229 Entering Passive Mode (|||35655|)\n' 02:01:23.425250 < 8 bytes data, client => server 02:01:23.425262 'TYPE I\r\n' 02:01:23.425414 Received DATA (on stdin) 02:01:23.425423 > 33 bytes data, server => client 02:01:23.425438 '200 I modify TYPE as you wanted\r\n' 02:01:23.425476 < 21 bytes data, client => server 02:01:23.425485 'SIZE verifiedserver\r\n' 02:01:23.425560 Received DATA (on stdin) 02:01:23.425570 > 8 bytes data, server => client 02:01:23.425577 '213 17\r\n' 02:01:23.425638 < 21 bytes data, client => server 02:01:23.425647 'RETR verifiedserver\r\n' 02:01:23.425879 Received DATA (on stdin) 02:01:23.425890 > 29 bytes data, server => client 02:01:23.425900 '150 Binary junk (17 bytes).\r\n' 02:01:23.426163 Received DATA (on stdin) 02:01:23.426174 > 28 bytes data, server => client 02:01:23.426182 '226 File transfer complete\r\n' 02:01:23.468803 < 6 bytes data, client => server 02:01:23.468826 'QUIT\r\n' 02:01:23.469530 Received DATA (on stdin) 02:01:23.469550 > 18 bytes data, server => client 02:01:23.469563 '221 bye bye baby\r\n' 02:01:23.470084 ====> Client disconnect 02:01:23.470229 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.424882 Running IPv4 version 02:01:23.424923 Listening on port 35655 02:01:23.424952 Wrote pid 82891 to log/9/server/ftp_sockdata.pid 02:01:23.424966 Received PING (on stdin) 02:01:23.425024 Received PORT (on stdin) 02:01:23.425276 ====> Client connect 02:01:23.425795 Received DATA (on stdin) 02:01:23.425805 > 17 bytes data, server => client 02:01:23.425825 'WE ROOLZ: 80452\r\n' 02:01:23.425849 Received DISC (on stdin) 02:01:23.425859 ====> Client forcibly disconnected 02:01:23.425991 Received QUIT (on stdin) 02:01:23.426001 quits 02:01:23.426037 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 ==83002== ==83002== Process terminating with default action of signal 4 (SIGILL) ==83002== Illegal opcode at address 0x10B08D ==83002== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83002== by 0x10B08D: main (tool_main.c:232) === End of file valgrind139 test 0135...[FTP retrieve a byte-range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind135 ../src/curl -q --output log/12/curl135.out --include --trace-ascii log/12/trace135 --trace-config all --trace-time -r 4-16 ftp://127.0.0.1:40171/135 > log/12/stdout135 2> log/12/stderr135 135: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 135 === Start of file ftp_server.log 02:01:23.203451 ====> Client connect 02:01:23.203703 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.203999 < "USER anonymous" 02:01:23.204027 > "331 We are happy you popped in![CR][LF]" 02:01:23.204229 < "PASS ftp@example.com" 02:01:23.204252 > "230 Welcome you silly person[CR][LF]" 02:01:23.204387 < "PWD" 02:01:23.204414 > "257 "/" is current directory[CR][LF]" 02:01:23.204552 < "EPSV" 02:01:23.204572 ====> Passive DATA channel requested by client 02:01:23.204584 DATA sockfilt for passive data channel starting... 02:01:23.205873 DATA sockfilt for passive data channel started (pid 82868) 02:01:23.205963 DATA sockfilt for passive data channel listens on port 38263 02:01:23.205993 > "229 Entering Passive Mode (|||38263|)[LF]" 02:01:23.206008 Client has been notified that DATA conn will be accepted on port 38263 02:01:23.206214 Client connects to port 38263 02:01:23.206239 ====> Client established passive DATA connection on port 38263 02:01:23.206292 < "TYPE I" 02:01:23.206314 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.206452 < "SIZE verifiedserver" 02:01:23.206484 > "213 17[CR][LF]" 02:01:23.206613 < "RETR verifiedserver" 02:01:23.206639 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.206845 =====> Closing passive DATA connection... 02:01:23.206863 Server disconnects passive DATA connection 02:01:23.206977 Server disconnected passive DATA connection 02:01:23.207000 DATA sockfilt for passive data channel quits (pid 82868) 02:01:23.207157 DATA sockfilt for passive data channel quit (pid 82868) 02:01:23.207175 =====> Closed passive DATA connection 02:01:23.207199 > "226 File transfer complete[CR][LF]" 02:01:23.248681 < "QUIT" 02:01:23.248732 > "221 bye bye baby[CR][LF]" 02:01:23.249004 MAIN sockfilt said DISC 02:01:23.249033 ====> Client disconnected 02:01:23.249653 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.403497 ====> Client connect 02:01:23.403875 Received DATA (on stdin) 02:01:23.403892 > 160 bytes data, server => client 02:01:23.403904 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.403916 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.403927 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.404004 < 16 bytes data, client => server 02:01:23.404168 'USER anonymous\r\n' 02:01:23.404187 Received DATA (on stdin) 02:01:23.404197 > 33 bytes data, server => client 02:01:23.404208 '331 We are happy you popped in!\r\n' 02:01:23.404286 < 22 bytes data, client => server 02:01:23.404299 'PASS ftp@example.com\r\n' 02:01:23.404390 Received DATA (on stdin) 02:01:23.404400 > 30 bytes data, server => client 02:01:23.404410 '230 WelcomCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind136 ../src/curl -q --output log/6/curl136.out --include --trace-ascii log/6/trace136 --trace-config all --trace-time -u user: ftp://127.0.0.1:40433/136 > log/6/stdout136 2> log/6/stderr136 e you silly person\r\n' 02:01:23.404455 < 5 bytes data, client => server 02:01:23.404466 'PWD\r\n' 02:01:23.404550 Received DATA (on stdin) 02:01:23.404560 > 30 bytes data, server => client 02:01:23.404570 '257 "/" is current directory\r\n' 02:01:23.404621 < 6 bytes data, client => server 02:01:23.404631 'EPSV\r\n' 02:01:23.406149 Received DATA (on stdin) 02:01:23.406162 > 38 bytes data, server => client 02:01:23.406173 '229 Entering Passive Mode (|||38263|)\n' 02:01:23.406279 < 8 bytes data, client => server 02:01:23.406293 'TYPE I\r\n' 02:01:23.406451 Received DATA (on stdin) 02:01:23.406462 > 33 bytes data, server => client 02:01:23.406472 '200 I modify TYPE as you wanted\r\n' 02:01:23.406518 < 21 bytes data, client => server 02:01:23.406530 'SIZE verifiedserver\r\n' 02:01:23.406621 Received DATA (on stdin) 02:01:23.406631 > 8 bytes data, server => client 02:01:23.406641 '213 17\r\n' 02:01:23.406683 < 21 bytes data, client => server 02:01:23.406694 'RETR verifiedserver\r\n' 02:01:23.406896 Received DATA (on stdin) 02:01:23.406908 > 29 bytes data, server => client 02:01:23.406918 '150 Binary junk (17 bytes).\r\n' 02:01:23.407336 Received DATA (on stdin) 02:01:23.407349 > 28 bytes data, server => client 02:01:23.407359 '226 File transfer complete\r\n' 02:01:23.448638 < 6 bytes data, client => server 02:01:23.448665 'QUIT\r\n' 02:01:23.448876 Received DATA (on stdin) 02:01:23.448888 > 18 bytes data, server => client 02:01:23.448900 '221 bye bye baby\r\n' 02:01:23.449093 ====> Client disconnect 02:01:23.449221 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.405864 Running IPv4 version 02:01:23.405912 Listening on port 38263 02:01:23.405943 Wrote pid 82868 to log/12/server/ftp_sockdata.pid 02:01:23.405960 Received PING (on stdin) 02:01:23.406030 Received PORT (on stdin) 02:01:23.406310 ====> Client connect 02:01:23.406842 Received DATA (on stdin) 02:01:23.406855 > 17 bytes data, server => client 02:01:23.406865 'WE ROOLZ: 80450\r\n' 02:01:23.407002 Received DISC (on stdin) 02:01:23.407014 ====> Client forcibly disconnected 02:01:23.407143 Received QUIT (on stdin) 02:01:23.407154 quits 02:01:23.407193 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 ==82939== ==82939== Process terminating with default action of signal 4 (SIGILL) ==82939== Illegal opcode at address 0x10B08D ==82939== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82939== by 0x10B08D: main (tool_main.c:232) === End of file valgrind135 test 0136...[FTP with user and no password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind136 ../src/curl -q --output log/6/curl136.out --include --trace-ascii log/6/trace136 --trace-config all --trace-time -u user: ftp://127.0.0.1:40433/136 > log/6/stdout136 2> log/6/stderr136 136: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 136 === Start of file ftp_server.log 02:01:23.203922 ====> Client connect 02:01:23.204058 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.204327 < "USER anonymous" 02:01:23.204361 > "331 We are happy you popped in![CR][LF]" 02:01:23.204525 < "PASS ftp@example.com" 02:01:23.204549 > "230 Welcome you silly person[CR][LF]" 02:01:23.204704 < "PWD" 02:01:23.204733 > "257 "/" is current directory[CR][LF]" 02:01:23.207398 < "EPSV" 02:01:23.207422 ====> Passive DATA channel requested by client 02:01:23.207435 DATA sockfilt for passive data channel starting... 02:01:23.208830 DATA sockfilt for passive data channel started (pid 82873) 02:01:23.208922 DATA sockfilt for passive data channel listens on port 36083 02:01:23.208958 > "229 Entering Passive Mode (|||36083|)[LF]" 02:01:23.208974 Client has been notified that DATA conn will be accepted on port 36083 02:01:23.209200 Client connects to port 36083 02:01:23.209227 ====> Client established passive DATA connection on port 36083 02:01:23.209286 < "TYPE I" 02:01:23.209311 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.209461 < "SIZE verifiedserver" 02:01:23.209495 > "213 17[CR][LF]" 02:01:23.209639 < "RETR verifiedserver" 02:01:23.209667 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.209742 =====> Closing passive DATA connection... 02:01:23.209757 Server disconnects passive DATA connection 02:01:23.209988 Server disconnected passive DATA connection 02:01:23.210014 DATA sockfilt for passive data channel quits (pid 82873) 02:01:23.210184 DATA sockfilt for passive data channel quit (pid 82873) 02:01:23.210206 =====> Closed passive DATA connection 02:01:23.210230 > "226 File transfer complete[CR][LF]" 02:01:23.255503 < "QUIT" 02:01:23.255551 > "221 bye bye baby[CR][LF]" 02:01:23.256333 MAIN sockfilt said DISC 02:01:23.256363 ====> Client disconnected 02:01:23.256423 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.403930 ====> Client connect 02:01:23.404213 Received DATA (on stdin) 02:01:23.404229 > 160 bytes data, server => client 02:01:23.404242 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.404254 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.404266 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.404339 < 16 bytes data, client => server 02:01:23.404353 'USER anonymous\r\n' 02:01:23.404503 Received DATA (on stdin) 02:01:23.404515 > 33 bytes data, server => client 02:01:23.404527 '331 We are happy you popped in!\r\n' 02:01:23.404579 < 22 bytes data, client => server 02:01:23.404591 'PASS ftp@example.com\r\n' 02:01:23.404688 Received DATA (on stdin) 02:01:23.404699 > 30 bytes data, server => client 02:01:23.404711 '230 Welcome you silly person\r\n' 02:01:23.404759 < 5 bytes data, client => server 02:01:23.404771 'PWD\r\n' 02:01:23.404873 Received DATA (on stdin) 02:01:23.404884 > 30 bytes data, server => client 02:01:23.404895 '257 "/" is current directory\r\n' 02:01:23.407440 < 6 bytes data, client => server 02:01:23.407459 'EPSV\r\n' 02:01:23.409118 Received DATA (on stdin) 02:01:23.409131 > 38 bytes data, server => client 02:01:23.409143 '229 Entering Passive Mode (|||36083|)\n' 02:01:23.409262 < 8 bytes data, client => server 02:01:23.409279 'TYPE I\r\n' 02:01:23.409449 Received DATA (on stdin) 02:01:23.409461 > 33 bytes data, server => client 02:01:23.409471 '200 I modify TYPE as you wanted\r\n' 02:01:23.409521 < 21 bytes data, client => server 02:01:23.409533 'SIZE verifiedserver\r\n' 02:01:23.409634 Received DATA (on stdin) 02:01:23.409646 > 8 bytes data, server => client 02:01:23.409656 '213 17\r\n' 02:01:23.409702 < 21 bytes data, client => server 02:01:23.409714 'RETR verifiedserver\r\n' 02:01:23.409896 Received DATA (on stdin) 02:01:23.409907 > 29 bytes data, server => client 02:01:23.409918 '150 Binary junk (17 bytes).\r\n' 02:01:23.410369 Received DATA (on stdin) 02:01:23.410382 > 28 bytes data, server => client 02:01:23.410393 '226 File transfer complete\r\n' 02:01:23.455489 < 6 bytes data, client => server 02:01:23.455513 'QUIT\r\n' 02:01:23.455693 Received DATA (on stdin) 02:01:23.455706 > 18 bytes data, server => client 02:01:23.455718 '221 bye bye baby\r\n' 02:01:23.456421 ====> Client disconnect 02:01:23.456561 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.408712 Running IPv4 version 02:01:23.408762 Listening on port 36083 02:01:23.408799 Wrote pid 82873 to log/6/server/ftp_sockdata.pid 02:01:23.408915 Received PING (on stdin) 02:01:23.408985 Received PORT (on stdin) 02:01:23.409297 ====> Client connect 02:01:23.409961 Received DATA (on stdin) 02:01:23.4099CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind140 ../src/curl -q --output log/2/curl140.out --include --trace-ascii log/2/trace140 --trace-config all --trace-time ftp://127.0.0.1:36595/blalbla/140 -z "1 jan 2004" > log/2/stdout140 2> log/2/stderr140 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind141 ../src/curl -q --include --trace-ascii log/4/trace141 --trace-config all --trace-time ftp://127.0.0.1:34583/blalbla/141 -I > log/4/stdout141 2> log/4/stderr141 75 > 17 bytes data, server => client 02:01:23.409986 'WE ROOLZ: 80451\r\n' 02:01:23.410014 Received DISC (on stdin) 02:01:23.410026 ====> Client forcibly disconnected 02:01:23.410159 Received QUIT (on stdin) 02:01:23.410172 quits 02:01:23.410214 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 ==82946== ==82946== Process terminating with default action of signal 4 (SIGILL) ==82946== Illegal opcode at address 0x10B08D ==82946== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==82946== by 0x10B08D: main (tool_main.c:232) === End of file valgrind136 test 0140...[FTP download file with -z, expected to not transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind140 ../src/curl -q --output log/2/curl140.out --include --trace-ascii log/2/trace140 --trace-config all --trace-time ftp://127.0.0.1:36595/blalbla/140 -z "1 jan 2004" > log/2/stdout140 2> log/2/stderr140 140: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 140 === Start of file ftp_server.log 02:01:23.446976 ====> Client connect 02:01:23.447118 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.447376 < "USER anonymous" 02:01:23.447405 > "331 We are happy you popped in![CR][LF]" 02:01:23.447554 < "PASS ftp@example.com" 02:01:23.447576 > "230 Welcome you silly person[CR][LF]" 02:01:23.447711 < "PWD" 02:01:23.447738 > "257 "/" is current directory[CR][LF]" 02:01:23.447878 < "EPSV" 02:01:23.447901 ====> Passive DATA channel requested by client 02:01:23.447913 DATA sockfilt for passive data channel starting... 02:01:23.449329 DATA sockfilt for passive data channel started (pid 83221) 02:01:23.449412 DATA sockfilt for passive data channel listens on port 36265 02:01:23.449443 > "229 Entering Passive Mode (|||36265|)[LF]" 02:01:23.449458 Client has been notified that DATA conn will be accepted on port 36265 02:01:23.449671 Client connects to port 36265 02:01:23.449697 ====> Client established passive DATA connection on port 36265 02:01:23.449756 < "TYPE I" 02:01:23.449780 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.449919 < "SIZE verifiedserver" 02:01:23.449948 > "213 17[CR][LF]" 02:01:23.450081 < "RETR verifiedserver" 02:01:23.450106 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.450176 =====> Closing passive DATA connection... 02:01:23.450189 Server disconnects passive DATA connection 02:01:23.450402 Server disconnected passive DATA connection 02:01:23.450426 DATA sockfilt for passive data channel quits (pid 83221) 02:01:23.450588 DATA sockfilt for passive data channel quit (pid 83221) 02:01:23.450607 =====> Closed passive DATA connection 02:01:23.450629 > "226 File transfer complete[CR][LF]" 02:01:23.492804 < "QUIT" 02:01:23.492851 > "221 bye bye baby[CR][LF]" 02:01:23.493079 MAIN sockfilt said DISC 02:01:23.493110 ====> Client disconnected 02:01:23.493300 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.647023 ====> Client connect 02:01:23.647269 Received DATA (on stdin) 02:01:23.647283 > 160 bytes data, server => client 02:01:23.647296 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.647307 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.647317 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.647389 < 16 bytes data, client => server 02:01:23.647401 'USER anonymous\r\n' 02:01:23.647545 Received DATA (on stdin) 02:01:23.647557 > 33 bytes data, server => client 02:01:23.647567 '331 We are happy you popped in!\r\n' 02:01:23.647616 < 22 bytes data, client => server 02:01:23.647627 'PASS ftp@example.com\r\n' 02:01:23.647713 Received DATA (on stdin) 02:01:23.647723 > 30 bytes data, server => client 02:01:23.647734 '230 Welcome you silly person\r\n' 02:01:23.647778 < 5 bytes data, client => server 02:01:23.647788 'PWD\r\n' 02:01:23.647874 Received DATA (on stdin) 02:01:23.647884 > 30 bytes data, server => client 02:01:23.647895 '257 "/" is current directory\r\n' 02:01:23.647946 < 6 bytes data, client => server 02:01:23.647957 'EPSV\r\n' 02:01:23.649602 Received DATA (on stdin) 02:01:23.649615 > 38 bytes data, server => client 02:01:23.649626 '229 Entering Passive Mode (|||36265|)\n' 02:01:23.649738 < 8 bytes data, client => server 02:01:23.649752 'TYPE I\r\n' 02:01:23.649916 Received DATA (on stdin) 02:01:23.649928 > 33 bytes data, server => client 02:01:23.649938 '200 I modify TYPE as you wanted\r\n' 02:01:23.649985 < 21 bytes data, client => server 02:01:23.649997 'SIZE verifiedserver\r\n' 02:01:23.650084 Received DATA (on stdin) 02:01:23.650094 > 8 bytes data, server => client 02:01:23.650104 '213 17\r\n' 02:01:23.650147 < 21 bytes data, client => server 02:01:23.650158 'RETR verifiedserver\r\n' 02:01:23.650326 Received DATA (on stdin) 02:01:23.650337 > 29 bytes data, server => client 02:01:23.650348 '150 Binary junk (17 bytes).\r\n' 02:01:23.650767 Received DATA (on stdin) 02:01:23.650779 > 28 bytes data, server => client 02:01:23.650790 '226 File transfer complete\r\n' 02:01:23.692769 < 6 bytes data, client => server 02:01:23.692795 'QUIT\r\n' 02:01:23.692994 Received DATA (on stdin) 02:01:23.693006 > 18 bytes data, server => client 02:01:23.693017 '221 bye bye baby\r\n' 02:01:23.693169 ====> Client disconnect 02:01:23.693345 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.649225 Running IPv4 version 02:01:23.649276 Listening on port 36265 02:01:23.649306 Wrote pid 83221 to log/2/server/ftp_sockdata.pid 02:01:23.649418 Received PING (on stdin) 02:01:23.649481 Received PORT (on stdin) 02:01:23.649769 ====> Client connect 02:01:23.650390 Received DATA (on stdin) 02:01:23.650403 > 17 bytes data, server => client 02:01:23.650413 'WE ROOLZ: 80457\r\n' 02:01:23.650439 Received DISC (on stdin) 02:01:23.650450 ====> Client forcibly disconnected 02:01:23.650571 Received QUIT (on stdin) 02:01:23.650582 quits 02:01:23.650625 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 ==83242== ==83242== Process terminating with default action of signal 4 (SIGILL) ==83242== Illegal opcode at address 0x10B08D ==83242== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83242== by 0x10B08D: main (tool_main.c:232) === End of file valgrind140 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind142 ../src/curl -q --output log/1/curl142.out --include --trace-ascii log/1/trace142 --trace-config all --trace-time ftp://127.0.0.1:45039/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142 > log/1/stdout142 2> log/1/stderr142 test 0141...[FTP download info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind141 ../src/curl -q --include --trace-ascii log/4/trace141 --trace-config all --trace-time ftp://127.0.0.1:34583/blalbla/141 -I > log/4/stdout141 2> log/4/stderr141 141: stdout FAILED: --- log/4/check-expected 2024-12-15 02:01:24.244835651 +0000 +++ log/4/check-generated 2024-12-15 02:01:24.244835651 +0000 @@ -1,3 +0,0 @@ -Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF] -Content-Length: 42[CR][LF] -Accept-ranges: bytes[CR][LF] == Contents of files in the log/4/ dir after test 141 === Start of file check-expected Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF] Content-Length: 42[CR][LF] Accept-ranges: bytes[CR][LF] === End of file check-expected === Start of file ftp_server.log 02:01:23.454755 ====> Client connect 02:01:23.457213 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.457491 < "USER anonymous" 02:01:23.457520 > "331 We are happy you popped in![CR][LF]" 02:01:23.457669 < "PASS ftp@example.com" 02:01:23.457693 > "230 Welcome you silly person[CR][LF]" 02:01:23.457827 < "PWD" 02:01:23.457852 > "257 "/" is current directory[CR][LF]" 02:01:23.457992 < "EPSV" 02:01:23.458013 ====> Passive DATA channel requested by client 02:01:23.458025 DATA sockfilt for passive data channel starting... 02:01:23.459604 DATA sockfilt for passive data channel started (pid 83223) 02:01:23.459697 DATA sockfilt for passive data channel listens on port 41429 02:01:23.459737 > "229 Entering Passive Mode (|||41429|)[LF]" 02:01:23.459754 Client has been notified that DATA conn will be accepted on port 41429 02:01:23.459994 Client connects to port 41429 02:01:23.460020 ====> Client established passive DATA connection on port 41429 02:01:23.460082 < "TYPE I" 02:01:23.460107 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.460277 < "SIZE verifiedserver" 02:01:23.460313 > "213 17[CR][LF]" 02:01:23.460468 < "RETR verifiedserver" 02:01:23.460501 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.460573 =====> Closing passive DATA connection... 02:01:23.460588 Server disconnects passive DATA connection 02:01:23.460823 Server disconnected passive DATA connection 02:01:23.460853 DATA sockfilt for passive data channel quits (pid 83223) 02:01:23.461066 DATA sockfilt for passive data channel quit (pid 83223) 02:01:23.461092 =====> Closed passive DATA connection 02:01:23.461118 > "226 File transfer complete[CR][LF]" 02:01:23.507111 < "QUIT" 02:01:23.507159 > "221 bye bye baby[CR][LF]" 02:01:23.508456 MAIN sockfilt said DISC 02:01:23.508486 ====> Client disconnected 02:01:23.508548 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.654805 ====> Client connect 02:01:23.657370 Received DATA (on stdin) 02:01:23.657388 > 160 bytes data, server => client 02:01:23.657400 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.657411 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.657420 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.657499 < 16 bytes data, client => server 02:01:23.657511 'USER anonymous\r\n' 02:01:23.657659 Received DATA (on stdin) 02:01:23.657670 > 33 bytes data, server => client 02:01:23.657680 '331 We are happy you popped in!\r\n' 02:01:23.657728 < 22 bytes data, client => server 02:01:23.657739 'PASS ftp@example.com\r\n' 02:01:23.657829 Received DATA (on stdin) 02:01:23.657839 > 30 bytes data, server => client 02:01:23.657849 '230 Welcome you silly person\r\n' 02:01:23.657893 < 5 bytes data, client => server 02:01:23.657903 'PWD\r\n' 02:01:23.657987 Received DATA (on stdin) 02:01:23.657997 > 30 bytes data, server => client 02:01:23.658007 '257 "/" is current directory\r\n' 02:01:23.658058 < 6 bytes data, client => server 02:01:23.658068 'EPSV\r\n' 02:01:23.659898 Received DATA (on stdin) 02:01:23.659912 > 38 bytes data, server => client 02:01:23.659924 '229 Entering Passive Mode (|||41429|)\n' 02:01:23.660054 < 8 bytes data, client => server 02:01:23.660070 'TYPE I\r\n' 02:01:23.660245 Received DATA (on stdin) 02:01:23.660259 > 33 bytes data, server => client 02:01:23.660270 '200 I modify TYPE as you wanted\r\n' 02:01:23.660328 < 21 bytes data, client => server 02:01:23.660342 'SIZE verifiedserver\r\n' 02:01:23.660452 Received DATA (on stdin) 02:01:23.660463 > 8 bytes data, server => client 02:01:23.660474 '213 17\r\n' 02:01:23.660525 < 21 bytes data, client => server 02:01:23.660538 'RETR verifiedserver\r\n' 02:01:23.660827 Received DATA (on stdin) 02:01:23.660840 > 29 bytes data, server => client 02:01:23.660852 '150 Binary junk (17 bytes).\r\n' 02:01:23.661259 Received DATA (on stdin) 02:01:23.661272 > 28 bytes data, server => client 02:01:23.661288 '226 File transfer complete\r\n' 02:01:23.707090 < 6 bytes data, client => server 02:01:23.707117 'QUIT\r\n' 02:01:23.707303 Received DATA (on stdin) 02:01:23.707315 > 18 bytes data, server => client 02:01:23.707325 '221 bye bye baby\r\n' 02:01:23.708543 ====> Client disconnect 02:01:23.708686 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.659472 Running IPv4 version 02:01:23.659528 Listening on port 41429 02:01:23.659568 Wrote pid 83223 to log/4/server/ftp_sockdata.pid 02:01:23.659687 Received PING (on stdin) 02:01:23.659761 Received PORT (on stdin) 02:01:23.660089 ====> Client connect 02:01:23.660728 Received DATA (on stdin) 02:01:23.660741 > 17 bytes data, server => client 02:01:23.660753 'WE ROOLZ: 80536\r\n' 02:01:23.660786 Received DISC (on stdin) 02:01:23.660800 ====> Client forcibly disconnected 02:01:23.661000 Received QUIT (on stdin) 02:01:23.661013 quits 02:01:23.661092 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 ==83258== ==83258== Process terminating with default action of signal 4 (SIGILL) ==83258== Illegal opcode at address 0x10B08D ==83258== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83258== by 0x10B08D: main (tool_main.c:232) === End of file valgrind141 test 0142...[FTP URL with 150 dir levels] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind142 ../src/curl -q --output log/1/curl142.out --include --trace-ascii log/1/trace142 --trace-config all --trace-time ftp://127.0.0.1:45039/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142 > log/1/stdout142 2> log/1/stderr142 142: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 142 === Start of file CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind145 ../src/curl -q --output log/7/curl145.out --include --trace-ascii log/7/trace145 --trace-config all --trace-time ftp://127.0.0.1:41879/ -P - -l > log/7/stdout145 2> log/7/stderr145 ftp_server.log 02:01:23.481158 ====> Client connect 02:01:23.481305 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.481725 < "USER anonymous" 02:01:23.481759 > "331 We are happy you popped in![CR][LF]" 02:01:23.481919 < "PASS ftp@example.com" 02:01:23.481943 > "230 Welcome you silly person[CR][LF]" 02:01:23.482089 < "PWD" 02:01:23.482118 > "257 "/" is current directory[CR][LF]" 02:01:23.482274 < "EPSV" 02:01:23.482297 ====> Passive DATA channel requested by client 02:01:23.482310 DATA sockfilt for passive data channel starting... 02:01:23.483649 DATA sockfilt for passive data channel started (pid 83240) 02:01:23.483738 DATA sockfilt for passive data channel listens on port 40587 02:01:23.483772 > "229 Entering Passive Mode (|||40587|)[LF]" 02:01:23.483786 Client has been notified that DATA conn will be accepted on port 40587 02:01:23.484007 Client connects to port 40587 02:01:23.484035 ====> Client established passive DATA connection on port 40587 02:01:23.484094 < "TYPE I" 02:01:23.484118 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.484269 < "SIZE verifiedserver" 02:01:23.484303 > "213 17[CR][LF]" 02:01:23.484446 < "RETR verifiedserver" 02:01:23.484474 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.484547 =====> Closing passive DATA connection... 02:01:23.484561 Server disconnects passive DATA connection 02:01:23.484777 Server disconnected passive DATA connection 02:01:23.484802 DATA sockfilt for passive data channel quits (pid 83240) 02:01:23.484980 DATA sockfilt for passive data channel quit (pid 83240) 02:01:23.485001 =====> Closed passive DATA connection 02:01:23.485024 > "226 File transfer complete[CR][LF]" 02:01:23.529248 < "QUIT" 02:01:23.529300 > "221 bye bye baby[CR][LF]" 02:01:23.529579 MAIN sockfilt said DISC 02:01:23.529605 ====> Client disconnected 02:01:23.529666 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.681184 ====> Client connect 02:01:23.681589 Received DATA (on stdin) 02:01:23.681606 > 160 bytes data, server => client 02:01:23.681619 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.681632 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.681643 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.681717 < 16 bytes data, client => server 02:01:23.681730 'USER anonymous\r\n' 02:01:23.681901 Received DATA (on stdin) 02:01:23.681913 > 33 bytes data, server => client 02:01:23.681924 '331 We are happy you popped in!\r\n' 02:01:23.681976 < 22 bytes data, client => server 02:01:23.681989 'PASS ftp@example.com\r\n' 02:01:23.682082 Received DATA (on stdin) 02:01:23.682094 > 30 bytes data, server => client 02:01:23.682105 '230 Welcome you silly person\r\n' 02:01:23.682152 < 5 bytes data, client => server 02:01:23.682164 'PWD\r\n' 02:01:23.682256 Received DATA (on stdin) 02:01:23.682268 > 30 bytes data, server => client 02:01:23.682278 '257 "/" is current directory\r\n' 02:01:23.682333 < 6 bytes data, client => server 02:01:23.682349 'EPSV\r\n' 02:01:23.683931 Received DATA (on stdin) 02:01:23.683944 > 38 bytes data, server => client 02:01:23.683956 '229 Entering Passive Mode (|||40587|)\n' 02:01:23.684069 < 8 bytes data, client => server 02:01:23.684084 'TYPE I\r\n' 02:01:23.684256 Received DATA (on stdin) 02:01:23.684268 > 33 bytes data, server => client 02:01:23.684279 '200 I modify TYPE as you wanted\r\n' 02:01:23.684331 < 21 bytes data, client => server 02:01:23.684343 'SIZE verifiedserver\r\n' 02:01:23.684442 Received DATA (on stdin) 02:01:23.684453 > 8 bytes data, server => client 02:01:23.684463 '213 17\r\n' 02:01:23.684508 < 21 bytes data, client => server 02:01:23.684520 'RETR verifiedserver\r\n' 02:01:23.684790 Received DATA (on stdin) 02:01:23.684802 > 29 bytes data, server => client 02:01:23.684813 '150 Binary junk (17 bytes).\r\n' 02:01:23.685172 Received DATA (on stdin) 02:01:23.685186 > 28 bytes data, server => client 02:01:23.685198 '226 File transfer complete\r\n' 02:01:23.729209 < 6 bytes data, client => server 02:01:23.729235 'QUIT\r\n' 02:01:23.729447 Received DATA (on stdin) 02:01:23.729459 > 18 bytes data, server => client 02:01:23.729470 '221 bye bye baby\r\n' 02:01:23.729673 ====> Client disconnect 02:01:23.729805 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.683629 Running IPv4 version 02:01:23.683681 Listening on port 40587 02:01:23.683715 Wrote pid 83240 to log/1/server/ftp_sockdata.pid 02:01:23.683733 Received PING (on stdin) 02:01:23.683806 Received PORT (on stdin) 02:01:23.684102 ====> Client connect 02:01:23.684700 Received DATA (on stdin) 02:01:23.684712 > 17 bytes data, server => client 02:01:23.684724 'WE ROOLZ: 80463\r\n' 02:01:23.684752 Received DISC (on stdin) 02:01:23.684765 ====> Client forcibly disconnected 02:01:23.684948 Received QUIT (on stdin) 02:01:23.684960 quits 02:01:23.685005 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 ==83329== ==83329== Process terminating with default action of signal 4 (SIGILL) ==83329== Illegal opcode at address 0x10B08D ==83329== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83329== by 0x10B08D: main (tool_main.c:232) === End of file valgrind142 test 0145...[FTP NLST dir list with weird reply code, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind145 ../src/curl -q --output log/7/curl145.out --include --trace-ascii log/7/trace145 --trace-config all --trace-time ftp://127.0.0.1:41879/ -P - -l > log/7/stdout145 2> log/7/stderr145 145: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 145 === Start of file ftp_server.log 02:01:23.669090 ====> Client connect 02:01:23.669237 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.669512 < "USER anonymous" 02:01:23.669543 > "331 We are happy you popped in![CR][LF]" 02:01:23.669706 < "PASS ftp@example.com" 02:01:23.669730 > "230 Welcome you silly person[CR][LF]" 02:01:23.669880 < "PWD" 02:01:23.669909 > "257 "/" is current directory[CR][LF]" 02:01:23.670070 < "EPSV" 02:01:23.670092 ====> Passive DATA channel requested by client 02:01:23.670105 DATA sockfilt for passive data channel starting... 02:01:23.674303 DATA sockfilt for passive data channel started (pid 83429) 02:01:23.674412 DATA sockfilt for passive data channel listens on port 34699 02:01:23.674451 > "229 Entering Passive Mode (|||34699|)[LF]" 02:01:23.674467 Client has been notified that DATA conn will be accepted on port 34699 02:01:23.674725 Client connects to port 34699 02:01:23.674754 ====> Client established passive DATA connection on port 34699 02:01:23.674828 < "TYPE I" 02:01:23.674856 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.675009 < "SIZE verifiedserver" 02:01:23.675055 > "213 17[CR][LF]" 02:01:23.677127 < "RETR verifiedserver" 02:01:23.677161 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.677243 =====> Closing passive DATA connection... 02:01:23.677259 Server disconnects passive DATA connection 02:01:23.677503 Server disconnected passive DATA connection 02:01:23.677530 DATA sockfilt for passive data channel quits (pid 83429) 02:01:23.677781 DATA sockfilt for passive data channel quit (pid 83429) 02:01:23.677806 =====> Closed passive DATA connection 02:01:23.677831 > "226 File transfer complete[CR][LF]" 02:01:23.718689 < "QUIT" 02:01:23.718739 > "221 bye bye baby[CR][LF]" 02:01:23.721457 MAIN sockfilt said DISC 02:01:23.721494 ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind143 ../src/curl -q --output log/11/curl143.out --include --trace-ascii log/11/trace143 --trace-config all --trace-time "ftp://127.0.0.1:45687/%2ftmp/moo/143;type=a" > log/11/stdout143 2> log/11/stderr143 ==> Client disconnected 02:01:23.721557 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.869122 ====> Client connect 02:01:23.869385 Received DATA (on stdin) 02:01:23.869400 > 160 bytes data, server => client 02:01:23.869414 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.869425 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.869436 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.869512 < 16 bytes data, client => server 02:01:23.869524 'USER anonymous\r\n' 02:01:23.869688 Received DATA (on stdin) 02:01:23.869700 > 33 bytes data, server => client 02:01:23.869711 '331 We are happy you popped in!\r\n' 02:01:23.869763 < 22 bytes data, client => server 02:01:23.869775 'PASS ftp@example.com\r\n' 02:01:23.869869 Received DATA (on stdin) 02:01:23.869881 > 30 bytes data, server => client 02:01:23.869892 '230 Welcome you silly person\r\n' 02:01:23.869940 < 5 bytes data, client => server 02:01:23.869951 'PWD\r\n' 02:01:23.870047 Received DATA (on stdin) 02:01:23.870059 > 30 bytes data, server => client 02:01:23.870070 '257 "/" is current directory\r\n' 02:01:23.870128 < 6 bytes data, client => server 02:01:23.870141 'EPSV\r\n' 02:01:23.874617 Received DATA (on stdin) 02:01:23.874634 > 38 bytes data, server => client 02:01:23.874647 '229 Entering Passive Mode (|||34699|)\n' 02:01:23.874786 < 8 bytes data, client => server 02:01:23.874802 'TYPE I\r\n' 02:01:23.874995 Received DATA (on stdin) 02:01:23.875007 > 33 bytes data, server => client 02:01:23.875019 '200 I modify TYPE as you wanted\r\n' 02:01:23.875069 < 21 bytes data, client => server 02:01:23.875081 'SIZE verifiedserver\r\n' 02:01:23.875194 Received DATA (on stdin) 02:01:23.875205 > 8 bytes data, server => client 02:01:23.875215 '213 17\r\n' 02:01:23.877169 < 21 bytes data, client => server 02:01:23.877187 'RETR verifiedserver\r\n' 02:01:23.877398 Received DATA (on stdin) 02:01:23.877411 > 29 bytes data, server => client 02:01:23.877422 '150 Binary junk (17 bytes).\r\n' 02:01:23.877971 Received DATA (on stdin) 02:01:23.877985 > 28 bytes data, server => client 02:01:23.877996 '226 File transfer complete\r\n' 02:01:23.918658 < 6 bytes data, client => server 02:01:23.918683 'QUIT\r\n' 02:01:23.918881 Received DATA (on stdin) 02:01:23.918893 > 18 bytes data, server => client 02:01:23.918904 '221 bye bye baby\r\n' 02:01:23.921541 ====> Client disconnect 02:01:23.921695 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.874160 Running IPv4 version 02:01:23.874214 Listening on port 34699 02:01:23.874247 Wrote pid 83429 to log/7/server/ftp_sockdata.pid 02:01:23.874386 Received PING (on stdin) 02:01:23.874466 Received PORT (on stdin) 02:01:23.874821 ====> Client connect 02:01:23.877475 Received DATA (on stdin) 02:01:23.877490 > 17 bytes data, server => client 02:01:23.877500 'WE ROOLZ: 80479\r\n' 02:01:23.877530 Received DISC (on stdin) 02:01:23.877543 ====> Client forcibly disconnected 02:01:23.877717 Received QUIT (on stdin) 02:01:23.877733 quits 02:01:23.877781 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY NLST 550 Have a taste on this Testnum 145 === End of file server.cmd === Start of file valgrind145 ==83436== ==83436== Process terminating with default action of signal 4 (SIGILL) ==83436== Illegal opcode at address 0x10B08D ==83436== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83436== by 0x10B08D: main (tool_main.c:232) === End of file valgrind145 test 0143...[FTP URL with type=a] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind143 ../src/curl -q --output log/11/curl143.out --include --trace-ascii log/11/trace143 --trace-config all --trace-time "ftp://127.0.0.1:45687/%2ftmp/moo/143;type=a" > log/11/stdout143 2> log/11/stderr143 143: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 143 === Start of file ftp_server.log 02:01:23.672529 ====> Client connect 02:01:23.672658 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.676962 < "USER anonymous" 02:01:23.677011 > "331 We are happy you popped in![CR][LF]" 02:01:23.678776 < "PASS ftp@example.com" 02:01:23.678813 > "230 Welcome you silly person[CR][LF]" 02:01:23.678972 < "PWD" 02:01:23.679001 > "257 "/" is current directory[CR][LF]" 02:01:23.679153 < "EPSV" 02:01:23.679177 ====> Passive DATA channel requested by client 02:01:23.679190 DATA sockfilt for passive data channel starting... 02:01:23.682602 DATA sockfilt for passive data channel started (pid 83430) 02:01:23.682709 DATA sockfilt for passive data channel listens on port 40089 02:01:23.682750 > "229 Entering Passive Mode (|||40089|)[LF]" 02:01:23.682768 Client has been notified that DATA conn will be accepted on port 40089 02:01:23.683271 Client connects to port 40089 02:01:23.683301 ====> Client established passive DATA connection on port 40089 02:01:23.683375 < "TYPE I" 02:01:23.683406 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.688665 < "SIZE verifiedserver" 02:01:23.688733 > "213 17[CR][LF]" 02:01:23.689272 < "RETR verifiedserver" 02:01:23.689307 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.689395 =====> Closing passive DATA connection... 02:01:23.689411 Server disconnects passive DATA connection 02:01:23.689551 Server disconnected passive DATA connection 02:01:23.689573 DATA sockfilt for passive data channel quits (pid 83430) 02:01:23.689819 DATA sockfilt for passive data channel quit (pid 83430) 02:01:23.689843 =====> Closed passive DATA connection 02:01:23.689867 > "226 File transfer complete[CR][LF]" 02:01:23.732251 < "QUIT" 02:01:23.732297 > "221 bye bye baby[CR][LF]" 02:01:23.733093 MAIN sockfilt said DISC 02:01:23.733121 ====> Client disconnected 02:01:23.738420 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.872580 ====> Client connect 02:01:23.872805 Received DATA (on stdin) 02:01:23.872820 > 160 bytes data, server => client 02:01:23.872832 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.872844 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.872855 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.876929 < 16 bytes data, client => server 02:01:23.876951 'USER anonymous\r\n' 02:01:23.877155 Received DATA (on stdin) 02:01:23.877170 > 33 bytes data, server => client 02:01:23.877181 '331 We are happy you popped in!\r\n' 02:01:23.877236 < 22 bytes data, client => server 02:01:23.877250 'PASS ftp@example.com\r\n' 02:01:23.878954 Received DATA (on stdin) 02:01:23.878967 > 30 bytes data, server => client 02:01:23.878979 '230 Welcome you silly person\r\n' 02:01:23.879033 < 5 bytes data, client => server 02:01:23.879045 'PWD\r\n' 02:01:23.879140 Received DATA (on stdin) 02:01:23.879151 > 30 bytes data, server => client 02:01:23.879162 '257 "/" is current directory\r\n' 02:01:23.879218 < 6 bytes data, client => server 02:01:23.879229 'EPSV\r\n' 02:01:23.882915 Received DATA (on stdin) 02:01:23.883156 > 38 bytes data, server => client 02:01:23.883171 '229 Entering Passive Mode (|||40089|)\n' 02:01:23.883357 < 8 bytes data, client => server 02:01:23.883370 'TYPE I\r\n' 02:01:23.883547 Received DATA (on stdin) 02:01:23.883559 > 33 bytes data, server => client 02:01:23.883570 '200 I modify TYPE as you wanted\r\n' 02:01:23.883622 < 21 bytes data, client => server 02:01:23.883634 'SIZE verifiedserver\r\n' 02:01:23.888881 Received DATA (on stdin) 02:01:23.889199 > 8 bytes data, server => client 02:01:23.889212 '213 17\r\n' 02:01:23.889321 < 21 bytes data, client => server 02:01:23.889334 'RETR verifiedserCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind147 ../src/curl -q --output log/10/curl147.out --include --trace-ascii log/10/trace147 --trace-config all --trace-time ftp://127.0.0.1:42661/first/dir/here/147 --ftp-create-dirs > log/10/stdout147 2> log/10/stderr147 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind150 ../src/curl -q --output log/9/curl150.out --include --trace-ascii log/9/trace150 --trace-config all --trace-time http://127.0.0.1:38509/150 -u testuser:testpass --ntlm --fail > log/9/stdout150 2> log/9/stderr150 ver\r\n' 02:01:23.890007 Received DATA (on stdin) 02:01:23.890020 > 29 bytes data, server => client 02:01:23.890032 '150 Binary junk (17 bytes).\r\n' 02:01:23.890058 Received DATA (on stdin) 02:01:23.890069 > 28 bytes data, server => client 02:01:23.890080 '226 File transfer complete\r\n' 02:01:23.932228 < 6 bytes data, client => server 02:01:23.932257 'QUIT\r\n' 02:01:23.932438 Received DATA (on stdin) 02:01:23.932450 > 18 bytes data, server => client 02:01:23.932460 '221 bye bye baby\r\n' 02:01:23.933185 ====> Client disconnect 02:01:23.933312 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.882445 Running IPv4 version 02:01:23.882507 Listening on port 40089 02:01:23.882545 Wrote pid 83430 to log/11/server/ftp_sockdata.pid 02:01:23.882687 Received PING (on stdin) 02:01:23.882766 Received PORT (on stdin) 02:01:23.883330 ====> Client connect 02:01:23.889557 Received DATA (on stdin) 02:01:23.889574 > 17 bytes data, server => client 02:01:23.889586 'WE ROOLZ: 80480\r\n' 02:01:23.889621 Received DISC (on stdin) 02:01:23.889634 ====> Client forcibly disconnected 02:01:23.889718 Received QUIT (on stdin) 02:01:23.889729 quits 02:01:23.889791 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 ==83438== ==83438== Process terminating with default action of signal 4 (SIGILL) ==83438== Illegal opcode at address 0x10B08D ==83438== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83438== by 0x10B08D: main (tool_main.c:232) === End of file valgrind143 test 0147...[FTP with --ftp-create-dirs (failing CWD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind147 ../src/curl -q --output log/10/curl147.out --include --trace-ascii log/10/trace147 --trace-config all --trace-time ftp://127.0.0.1:42661/first/dir/here/147 --ftp-create-dirs > log/10/stdout147 2> log/10/stderr147 147: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 147 === Start of file ftp_server.log 02:01:24.058286 ====> Client connect 02:01:24.058627 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:24.059006 < "USER anonymous" 02:01:24.059047 > "331 We are happy you popped in![CR][LF]" 02:01:24.059253 < "PASS ftp@example.com" 02:01:24.059285 > "230 Welcome you silly person[CR][LF]" 02:01:24.059481 < "PWD" 02:01:24.059519 > "257 "/" is current directory[CR][LF]" 02:01:24.059700 < "EPSV" 02:01:24.059725 ====> Passive DATA channel requested by client 02:01:24.059738 DATA sockfilt for passive data channel starting... 02:01:24.075023 DATA sockfilt for passive data channel started (pid 83644) 02:01:24.075204 DATA sockfilt for passive data channel listens on port 37071 02:01:24.075250 > "229 Entering Passive Mode (|||37071|)[LF]" 02:01:24.075272 Client has been notified that DATA conn will be accepted on port 37071 02:01:24.075614 Client connects to port 37071 02:01:24.075652 ====> Client established passive DATA connection on port 37071 02:01:24.075749 < "TYPE I" 02:01:24.075789 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:24.075997 < "SIZE verifiedserver" 02:01:24.076046 > "213 17[CR][LF]" 02:01:24.076246 < "RETR verifiedserver" 02:01:24.076291 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:24.076383 =====> Closing passive DATA connection... 02:01:24.076402 Server disconnects passive DATA connection 02:01:24.076652 Server disconnected passive DATA connection 02:01:24.076681 DATA sockfilt for passive data channel quits (pid 83644) 02:01:24.081922 DATA sockfilt for passive data channel quit (pid 83644) 02:01:24.081955 =====> Closed passive DATA connection 02:01:24.081989 > "226 File transfer complete[CR][LF]" 02:01:24.119389 < "QUIT" 02:01:24.119443 > "221 bye bye baby[CR][LF]" 02:01:24.122117 MAIN sockfilt said DISC 02:01:24.122164 ====> Client disconnected 02:01:24.122231 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:24.256652 ====> Client connect 02:01:24.258772 Received DATA (on stdin) 02:01:24.258840 > 160 bytes data, server => client 02:01:24.258854 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:24.258865 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:24.258876 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:24.258981 < 16 bytes data, client => server 02:01:24.259000 'USER anonymous\r\n' 02:01:24.259195 Received DATA (on stdin) 02:01:24.259211 > 33 bytes data, server => client 02:01:24.259223 '331 We are happy you popped in!\r\n' 02:01:24.259286 < 22 bytes data, client => server 02:01:24.259304 'PASS ftp@example.com\r\n' 02:01:24.259430 Received DATA (on stdin) 02:01:24.259445 > 30 bytes data, server => client 02:01:24.259457 '230 Welcome you silly person\r\n' 02:01:24.259522 < 5 bytes data, client => server 02:01:24.259539 'PWD\r\n' 02:01:24.259663 Received DATA (on stdin) 02:01:24.259677 > 30 bytes data, server => client 02:01:24.259689 '257 "/" is current directory\r\n' 02:01:24.259755 < 6 bytes data, client => server 02:01:24.259769 'EPSV\r\n' 02:01:24.275438 Received DATA (on stdin) 02:01:24.275459 > 38 bytes data, server => client 02:01:24.275476 '229 Entering Passive Mode (|||37071|)\n' 02:01:24.275661 < 8 bytes data, client => server 02:01:24.275683 'TYPE I\r\n' 02:01:24.275936 Received DATA (on stdin) 02:01:24.275951 > 33 bytes data, server => client 02:01:24.275964 '200 I modify TYPE as you wanted\r\n' 02:01:24.276030 < 21 bytes data, client => server 02:01:24.276048 'SIZE verifiedserver\r\n' 02:01:24.276193 Received DATA (on stdin) 02:01:24.276207 > 8 bytes data, server => client 02:01:24.276219 '213 17\r\n' 02:01:24.276281 < 21 bytes data, client => server 02:01:24.276299 'RETR verifiedserver\r\n' 02:01:24.276542 Received DATA (on stdin) 02:01:24.276554 > 29 bytes data, server => client 02:01:24.276565 '150 Binary junk (17 bytes).\r\n' 02:01:24.282132 Received DATA (on stdin) 02:01:24.282147 > 28 bytes data, server => client 02:01:24.282158 '226 File transfer complete\r\n' 02:01:24.319361 < 6 bytes data, client => server 02:01:24.319387 'QUIT\r\n' 02:01:24.319600 Received DATA (on stdin) 02:01:24.319617 > 18 bytes data, server => client 02:01:24.319630 '221 bye bye baby\r\n' 02:01:24.322008 ====> Client disconnect 02:01:24.322370 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:24.269338 Running IPv4 version 02:01:24.269402 Listening on port 37071 02:01:24.269440 Wrote pid 83644 to log/10/server/ftp_sockdata.pid 02:01:24.275080 Received PING (on stdin) 02:01:24.275244 Received PORT (on stdin) 02:01:24.275704 ====> Client connect 02:01:24.276617 Received DATA (on stdin) 02:01:24.276632 > 17 bytes data, server => client 02:01:24.276643 'WE ROOLZ: 80449\r\n' 02:01:24.276672 Received DISC (on stdin) 02:01:24.276686 ====> Client forcibly disconnected 02:01:24.281837 Received QUIT (on stdin) 02:01:24.281864 quits 02:01:24.281921 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 550 I won't allow this on my server COUNT CWD 1 Testnum 147 === End of file server.cmd === Start of file valgrind147 ==83709== ==83709== Process terminating with default action of signal 4 (SIGILL) ==83709== Illegal opcode at address 0x10B08D ==83709== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83709== by 0x10B08D: main (tool_main.c:232) === End of file valgrind147 test 0150...[HTTP with NTLM authorization and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind144 ../src/curl -q --output log/3/curl144.out --include --trace-ascii log/3/trace144 --trace-config all --trace-time ftp://127.0.0.1:45983/ -P - -l > log/3/stdout144 2> log/3/stderr144 -log-file=log/9/valgrind150 ../src/curl -q --output log/9/curl150.out --include --trace-ascii log/9/trace150 --trace-config all --trace-time http://127.0.0.1:38509/150 -u testuser:testpass --ntlm --fail > log/9/stdout150 2> log/9/stderr150 150: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 150 === Start of file http_server.log 02:01:24.256664 ====> Client connect 02:01:24.256706 accept_connection 3 returned 4 02:01:24.256725 accept_connection 3 returned 0 02:01:24.256867 Read 93 bytes 02:01:24.256887 Process 93 bytes request 02:01:24.256902 Got request: GET /verifiedserver HTTP/1.1 02:01:24.256913 Are-we-friendly question received 02:01:24.256941 Wrote request (93 bytes) input to log/9/server.input 02:01:24.256961 Identifying ourselves as friends 02:01:24.257032 Response sent (56 bytes) and written to log/9/server.response 02:01:24.257046 special request received, no persistency 02:01:24.257057 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 150 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind150 ==83654== ==83654== Process terminating with default action of signal 4 (SIGILL) ==83654== Illegal opcode at address 0x10B08D ==83654== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83654== by 0x10B08D: main (tool_main.c:232) === End of file valgrind150 test 0144...[FTP NLST dir list without contents, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind144 ../src/curl -q --output log/3/curl144.out --include --trace-ascii log/3/trace144 --trace-config all --trace-time ftp://127.0.0.1:45983/ -P - -l > log/3/stdout144 2> log/3/stderr144 144: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 144 === Start of file ftp_server.log 02:01:23.692946 ====> Client connect 02:01:23.693074 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:23.693340 < "USER anonymous" 02:01:23.693514 > "331 We are happy you popped in![CR][LF]" 02:01:23.693691 < "PASS ftp@example.com" 02:01:23.693716 > "230 Welcome you silly person[CR][LF]" 02:01:23.693867 < "PWD" 02:01:23.693896 > "257 "/" is current directory[CR][LF]" 02:01:23.694058 < "EPSV" 02:01:23.694082 ====> Passive DATA channel requested by client 02:01:23.694095 DATA sockfilt for passive data channel starting... 02:01:23.721782 DATA sockfilt for passive data channel started (pid 83432) 02:01:23.721913 DATA sockfilt for passive data channel listens on port 39883 02:01:23.721955 > "229 Entering Passive Mode (|||39883|)[LF]" 02:01:23.721971 Client has been notified that DATA conn will be accepted on port 39883 02:01:23.722240 Client connects to port 39883 02:01:23.722267 ====> Client established passive DATA connection on port 39883 02:01:23.722339 < "TYPE I" 02:01:23.722366 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:23.722506 < "SIZE verifiedserver" 02:01:23.722537 > "213 17[CR][LF]" 02:01:23.722667 < "RETR verifiedserver" 02:01:23.722702 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:23.722782 =====> Closing passive DATA connection... 02:01:23.722798 Server disconnects passive DATA connection 02:01:23.723016 Server disconnected passive DATA connection 02:01:23.723042 DATA sockfilt for passive data channel quits (pid 83432) 02:01:23.723233 DATA sockfilt for passive data channel quit (pid 83432) 02:01:23.723255 =====> Closed passive DATA connection 02:01:23.723280 > "226 File transfer complete[CR][LF]" 02:01:23.766028 < "QUIT" 02:01:23.766079 > "221 bye bye baby[CR][LF]" 02:01:23.771375 MAIN sockfilt said DISC 02:01:23.771426 ====> Client disconnected 02:01:23.771492 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.892988 ====> Client connect 02:01:23.893223 Received DATA (on stdin) 02:01:23.893238 > 160 bytes data, server => client 02:01:23.893251 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.893265 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.893276 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.893349 < 16 bytes data, client => server 02:01:23.893363 'USER anonymous\r\n' 02:01:23.893660 Received DATA (on stdin) 02:01:23.893673 > 33 bytes data, server => client 02:01:23.893685 '331 We are happy you popped in!\r\n' 02:01:23.893740 < 22 bytes data, client => server 02:01:23.893755 'PASS ftp@example.com\r\n' 02:01:23.893856 Received DATA (on stdin) 02:01:23.893868 > 30 bytes data, server => client 02:01:23.893879 '230 Welcome you silly person\r\n' 02:01:23.893930 < 5 bytes data, client => server 02:01:23.893940 'PWD\r\n' 02:01:23.894036 Received DATA (on stdin) 02:01:23.894047 > 30 bytes data, server => client 02:01:23.894059 '257 "/" is current directory\r\n' 02:01:23.894118 < 6 bytes data, client => server 02:01:23.894130 'EPSV\r\n' 02:01:23.922118 Received DATA (on stdin) 02:01:23.922134 > 38 bytes data, server => client 02:01:23.922147 '229 Entering Passive Mode (|||39883|)\n' 02:01:23.922303 < 8 bytes data, client => server 02:01:23.922319 'TYPE I\r\n' 02:01:23.922502 Received DATA (on stdin) 02:01:23.922514 > 33 bytes data, server => client 02:01:23.922524 '200 I modify TYPE as you wanted\r\n' 02:01:23.922573 < 21 bytes data, client => server 02:01:23.922584 'SIZE verifiedserver\r\n' 02:01:23.922674 Received DATA (on stdin) 02:01:23.922684 > 8 bytes data, server => client 02:01:23.922693 '213 17\r\n' 02:01:23.922736 < 21 bytes data, client => server 02:01:23.922746 'RETR verifiedserver\r\n' 02:01:23.922936 Received DATA (on stdin) 02:01:23.922947 > 29 bytes data, server => client 02:01:23.922957 '150 Binary junk (17 bytes).\r\n' 02:01:23.923419 Received DATA (on stdin) 02:01:23.923431 > 28 bytes data, server => client 02:01:23.923442 '226 File transfer complete\r\n' 02:01:23.965986 < 6 bytes data, client => server 02:01:23.966014 'QUIT\r\n' 02:01:23.970506 Received DATA (on stdin) 02:01:23.970531 > 18 bytes data, server => client 02:01:23.970544 '221 bye bye baby\r\n' 02:01:23.971451 ====> Client disconnect 02:01:23.971632 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:23.915952 Running IPv4 version 02:01:23.916025 Listening on port 39883 02:01:23.916062 Wrote pid 83432 to log/3/server/ftp_sockdata.pid 02:01:23.921844 Received PING (on stdin) 02:01:23.921961 Received PORT (on stdin) 02:01:23.922336 ====> Client connect 02:01:23.923004 Received DATA (on stdin) 02:01:23.923017 > 17 bytes data, server => client 02:01:23.923027 'WE ROOLZ: 80465\r\n' 02:01:23.923055 Received DISC (on stdin) 02:01:23.923066 ====> Client forcibly disconnected 02:01:23.923188 Received QUIT (on stdin) 02:01:23.923200 quits 02:01:23.923245 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY NLST 450 No files found Testnum 144 === End of file server.cmd === Start of file valgrind144 ==83467== ==83467== Process terminating with default action of signal 4 (SIGILL) ==83467== Illegal opcode at addreCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind151 ../src/curl -q --output log/6/curl151.out --include --trace-ascii log/6/trace151 --trace-config all --trace-time http://127.0.0.1:39457/151 > log/6/stdout151 2> log/6/stderr151 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind146 ../src/curl -q --output log/8/curl146.out --include --trace-ascii log/8/trace146 --trace-config all --trace-time ftp://127.0.0.1:39101/first/dir/here/146 ftp://127.0.0.1:39101/146 > log/8/stdout146 2> log/8/stderr146 ss 0x10B08D ==83467== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83467== by 0x10B08D: main (tool_main.c:232) === End of file valgrind144 test 0151...[HTTP GET with an error code that might trick authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind151 ../src/curl -q --output log/6/curl151.out --include --trace-ascii log/6/trace151 --trace-config all --trace-time http://127.0.0.1:39457/151 > log/6/stdout151 2> log/6/stderr151 151: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 151 === Start of file http_server.log 02:01:24.363394 ====> Client connect 02:01:24.363439 accept_connection 3 returned 4 02:01:24.363456 accept_connection 3 returned 0 02:01:24.363471 Read 93 bytes 02:01:24.363482 Process 93 bytes request 02:01:24.363497 Got request: GET /verifiedserver HTTP/1.1 02:01:24.363507 Are-we-friendly question received 02:01:24.363557 Wrote request (93 bytes) input to log/6/server.input 02:01:24.363575 Identifying ourselves as friends 02:01:24.363646 Response sent (56 bytes) and written to log/6/server.response 02:01:24.363658 special request received, no persistency 02:01:24.363668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 151 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind151 ==83731== ==83731== Process terminating with default action of signal 4 (SIGILL) ==83731== Illegal opcode at address 0x10B08D ==83731== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83731== by 0x10B08D: main (tool_main.c:232) === End of file valgrind151 test 0146...[persistent FTP with different paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind146 ../src/curl -q --output log/8/curl146.out --include --trace-ascii log/8/trace146 --trace-config all --trace-time ftp://127.0.0.1:39101/first/dir/here/146 ftp://127.0.0.1:39101/146 > log/8/stdout146 2> log/8/stderr146 146: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 146 === Start of file ftp_server.log 02:01:24.017572 ====> Client connect 02:01:24.017732 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:24.018064 < "USER anonymous" 02:01:24.018110 > "331 We are happy you popped in![CR][LF]" 02:01:24.018327 < "PASS ftp@example.com" 02:01:24.018361 > "230 Welcome you silly person[CR][LF]" 02:01:24.018837 < "PWD" 02:01:24.018876 > "257 "/" is current directory[CR][LF]" 02:01:24.019041 < "EPSV" 02:01:24.019067 ====> Passive DATA channel requested by client 02:01:24.019081 DATA sockfilt for passive data channel starting... 02:01:24.026273 DATA sockfilt for passive data channel started (pid 83587) 02:01:24.026416 DATA sockfilt for passive data channel listens on port 46145 02:01:24.026461 > "229 Entering Passive Mode (|||46145|)[LF]" 02:01:24.026477 Client has been notified that DATA conn will be accepted on port 46145 02:01:24.028970 Client connects to port 46145 02:01:24.029010 ====> Client established passive DATA connection on port 46145 02:01:24.029102 < "TYPE I" 02:01:24.029141 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:24.029915 < "SIZE verifiedserver" 02:01:24.029962 > "213 17[CR][LF]" 02:01:24.034694 < "RETR verifiedserver" 02:01:24.034747 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:24.034835 =====> Closing passive DATA connection... 02:01:24.034853 Server disconnects passive DATA connection 02:01:24.035335 Server disconnected passive DATA connection 02:01:24.035493 DATA sockfilt for passive data channel quits (pid 83587) 02:01:24.038951 DATA sockfilt for passive data channel quit (pid 83587) 02:01:24.038982 =====> Closed passive DATA connection 02:01:24.039014 > "226 File transfer complete[CR][LF]" 02:01:24.075459 < "QUIT" 02:01:24.075511 > "221 bye bye baby[CR][LF]" 02:01:24.082738 MAIN sockfilt said DISC 02:01:24.082790 ====> Client disconnected 02:01:24.082851 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:24.217604 ====> Client connect 02:01:24.217897 Received DATA (on stdin) 02:01:24.217919 > 160 bytes data, server => client 02:01:24.217933 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:24.217946 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:24.217958 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:24.218051 < 16 bytes data, client => server 02:01:24.218070 'USER anonymous\r\n' 02:01:24.218257 Received DATA (on stdin) 02:01:24.218272 > 33 bytes data, server => client 02:01:24.218285 '331 We are happy you popped in!\r\n' 02:01:24.218348 < 22 bytes data, client => server 02:01:24.218366 'PASS ftp@example.com\r\n' 02:01:24.218524 Received DATA (on stdin) 02:01:24.218539 > 30 bytes data, server => client 02:01:24.218551 '230 Welcome you silly person\r\n' 02:01:24.218869 < 5 bytes data, client => server 02:01:24.218888 'PWD\r\n' 02:01:24.219016 Received DATA (on stdin) 02:01:24.219028 > 30 bytes data, server => client 02:01:24.219039 '257 "/" is current directory\r\n' 02:01:24.219100 < 6 bytes data, client => server 02:01:24.219110 'EPSV\r\n' 02:01:24.226624 Received DATA (on stdin) 02:01:24.226641 > 38 bytes data, server => client 02:01:24.226653 '229 Entering Passive Mode (|||46145|)\n' 02:01:24.229012 < 8 bytes data, client => server 02:01:24.229035 'TYPE I\r\n' 02:01:24.229285 Received DATA (on stdin) 02:01:24.229300 > 33 bytes data, server => client 02:01:24.229312 '200 I modify TYPE as you wanted\r\n' 02:01:24.229938 < 21 bytes data, client => server 02:01:24.229956 'SIZE verifiedserver\r\n' 02:01:24.233986 Received DATA (on stdin) 02:01:24.234009 > 8 bytes data, server => client 02:01:24.234020 '213 17\r\n' 02:01:24.234693 < 21 bytes data, client => server 02:01:24.234714 'RETR verifiedserver\r\n' 02:01:24.234994 Received DATA (on stdin) 02:01:24.235007 > 29 bytes data, server => client 02:01:24.235019 '150 Binary junk (17 bytes).\r\n' 02:01:24.239158 Received DATA (on stdin) 02:01:24.239172 > 28 bytes data, server => client 02:01:24.239183 '226 File transfer complete\r\n' 02:01:24.275447 < 6 bytes data, client => server 02:01:24.275474 'QUIT\r\n' 02:01:24.281841 Received DATA (on stdin) 02:01:24.281868 > 18 bytes data, server => client 02:01:24.281883 '221 bye bye baby\r\n' 02:01:24.282601 ====> Client disconnect 02:01:24.282998 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:24.220727 Running IPv4 version 02:01:24.220797 Listening on port 46145 02:01:24.220837 Wrote pid 83587 to log/8/server/ftp_sockdata.pid 02:01:24.226338 Received PING (on stdin) 02:01:24.226456 Received PORT (on stdin) 02:01:24.229060 ====> Client connect 02:01:24.235052 Received DATA (on stdin) 02:01:24.235068 > 17 bytes data, server => client 02:01:24.235078 'WE ROOLZ: 80441\r\n' 02:01:24.235105 Received DISC (on stdin) 02:01:24.235118 ====> Client forcibly disconnected 02:01:24.238CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind148 ../src/curl -q --output log/5/curl148.out --include --trace-ascii log/5/trace148 --trace-config all --trace-time ftp://127.0.0.1:36485/attempt/to/get/this/148 --ftp-create-dirs > log/5/stdout148 2> log/5/stderr148 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind149 ../src/curl -q --output log/12/curl149.out --include --trace-ascii log/12/trace149 --trace-config all --trace-time -T log/12/upload149 ftp://127.0.0.1:40171/dir1/149 -T log/12/upload149 ftp://127.0.0.1:40171/dir2/149 > log/12/stdout149 2> log/12/stderr149 500 Received QUIT (on stdin) 02:01:24.238522 quits 02:01:24.238573 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 ==83676== ==83676== Process terminating with default action of signal 4 (SIGILL) ==83676== Illegal opcode at address 0x10B08D ==83676== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83676== by 0x10B08D: main (tool_main.c:232) === End of file valgrind146 test 0148...[FTP with --ftp-create-dirs (failing MKD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind148 ../src/curl -q --output log/5/curl148.out --include --trace-ascii log/5/trace148 --trace-config all --trace-time ftp://127.0.0.1:36485/attempt/to/get/this/148 --ftp-create-dirs > log/5/stdout148 2> log/5/stderr148 148: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 148 === Start of file ftp_server.log 02:01:24.082983 ====> Client connect 02:01:24.083128 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:24.083398 < "USER anonymous" 02:01:24.083434 > "331 We are happy you popped in![CR][LF]" 02:01:24.084098 < "PASS ftp@example.com" 02:01:24.084128 > "230 Welcome you silly person[CR][LF]" 02:01:24.084288 < "PWD" 02:01:24.084320 > "257 "/" is current directory[CR][LF]" 02:01:24.084491 < "EPSV" 02:01:24.084517 ====> Passive DATA channel requested by client 02:01:24.084530 DATA sockfilt for passive data channel starting... 02:01:24.091900 DATA sockfilt for passive data channel started (pid 83657) 02:01:24.092036 DATA sockfilt for passive data channel listens on port 45233 02:01:24.092093 > "229 Entering Passive Mode (|||45233|)[LF]" 02:01:24.092116 Client has been notified that DATA conn will be accepted on port 45233 02:01:24.092931 Client connects to port 45233 02:01:24.092964 ====> Client established passive DATA connection on port 45233 02:01:24.093049 < "TYPE I" 02:01:24.093085 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:24.093271 < "SIZE verifiedserver" 02:01:24.093311 > "213 17[CR][LF]" 02:01:24.093491 < "RETR verifiedserver" 02:01:24.093528 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:24.093619 =====> Closing passive DATA connection... 02:01:24.093637 Server disconnects passive DATA connection 02:01:24.093830 Server disconnected passive DATA connection 02:01:24.093859 DATA sockfilt for passive data channel quits (pid 83657) 02:01:24.094145 DATA sockfilt for passive data channel quit (pid 83657) 02:01:24.094175 =====> Closed passive DATA connection 02:01:24.094203 > "226 File transfer complete[CR][LF]" 02:01:24.141988 < "QUIT" 02:01:24.142038 > "221 bye bye baby[CR][LF]" 02:01:24.142908 MAIN sockfilt said DISC 02:01:24.142949 ====> Client disconnected 02:01:24.143021 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:23.282310 ====> Client connect 02:01:23.283281 Received DATA (on stdin) 02:01:23.283297 > 160 bytes data, server => client 02:01:23.283310 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:23.283322 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:23.283332 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:23.283403 < 16 bytes data, client => server 02:01:23.283418 'USER anonymous\r\n' 02:01:23.284057 Received DATA (on stdin) 02:01:23.284076 > 33 bytes data, server => client 02:01:23.284088 '331 We are happy you popped in!\r\n' 02:01:23.284144 < 22 bytes data, client => server 02:01:23.284158 'PASS ftp@example.com\r\n' 02:01:23.284269 Received DATA (on stdin) 02:01:23.284281 > 30 bytes data, server => client 02:01:23.284292 '230 Welcome you silly person\r\n' 02:01:23.284344 < 5 bytes data, client => server 02:01:23.284357 'PWD\r\n' 02:01:23.284461 Received DATA (on stdin) 02:01:23.284473 > 30 bytes data, server => client 02:01:23.284483 '257 "/" is current directory\r\n' 02:01:23.284547 < 6 bytes data, client => server 02:01:23.284561 'EPSV\r\n' 02:01:23.292586 Received DATA (on stdin) 02:01:23.292606 > 38 bytes data, server => client 02:01:23.292619 '229 Entering Passive Mode (|||45233|)\n' 02:01:23.292782 < 8 bytes data, client => server 02:01:23.292801 'TYPE I\r\n' 02:01:23.293228 Received DATA (on stdin) 02:01:23.293244 > 33 bytes data, server => client 02:01:23.293256 '200 I modify TYPE as you wanted\r\n' 02:01:23.293318 < 21 bytes data, client => server 02:01:23.293333 'SIZE verifiedserver\r\n' 02:01:23.293454 Received DATA (on stdin) 02:01:23.293468 > 8 bytes data, server => client 02:01:23.293479 '213 17\r\n' 02:01:23.293540 < 21 bytes data, client => server 02:01:23.293554 'RETR verifiedserver\r\n' 02:01:23.293886 Received DATA (on stdin) 02:01:23.293902 > 29 bytes data, server => client 02:01:23.293914 '150 Binary junk (17 bytes).\r\n' 02:01:23.294345 Received DATA (on stdin) 02:01:23.294361 > 28 bytes data, server => client 02:01:23.294373 '226 File transfer complete\r\n' 02:01:23.341941 < 6 bytes data, client => server 02:01:23.341974 'QUIT\r\n' 02:01:23.342184 Received DATA (on stdin) 02:01:23.342199 > 18 bytes data, server => client 02:01:23.342210 '221 bye bye baby\r\n' 02:01:23.342990 ====> Client disconnect 02:01:23.343164 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:24.289798 Running IPv4 version 02:01:24.289857 Listening on port 45233 02:01:24.289899 Wrote pid 83657 to log/5/server/ftp_sockdata.pid 02:01:24.291965 Received PING (on stdin) 02:01:24.292076 Received PORT (on stdin) 02:01:24.293016 ====> Client connect 02:01:24.293780 Received DATA (on stdin) 02:01:24.293795 > 17 bytes data, server => client 02:01:24.293807 'WE ROOLZ: 80534\r\n' 02:01:24.293840 Received DISC (on stdin) 02:01:24.293856 ====> Client forcibly disconnected 02:01:24.294010 Received QUIT (on stdin) 02:01:24.294026 quits 02:01:24.294085 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 550 I won't allow this on my server REPLY MKD 550 We will have no such thing Testnum 148 === End of file server.cmd === Start of file valgrind148 ==83714== ==83714== Process terminating with default action of signal 4 (SIGILL) ==83714== Illegal opcode at address 0x10B08D ==83714== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83714== by 0x10B08D: main (tool_main.c:232) === End of file valgrind148 test 0149...[FTP with multiple uploads] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind149 ../src/curl -q --output log/12/curl149.out --include --trace-ascii log/12/trace149 --trace-config all --trace-time -T log/12/upload149 ftp://127.0.0.1:40171/dir1/149 -T log/12/upload149 ftp://127.0.0.1:40171/dir2/149 > log/12/stdout149 2> log/12/stderr149 149: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 149 === Start of file ftp_server.log 02:01:24.100708 ====> Client connect 02:01:24.100882 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:24.101207 < "USER anonymous" 02:01:24.101252 > "331 We are happy you popped in![CR][LF]" 02:01:24.101479 < "PASS ftp@example.com" 02:01:24.101516 > "230 Welcome you silly person[CR][LF]" 02:01:24.101720 < "PWD" 02:01:24.101763 > "257 "/" is current directory[CR][LF]" 02:01:24.101963 < "EPSV" 02:01:24.101991 ====> Passive DATA channel requested by client 02:01:24.102007 DATA sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind152 ../src/curl -q --output log/2/curl152.out --include --trace-ascii log/2/trace152 --trace-config all --trace-time http://127.0.0.1:38781/152 --fail > log/2/stdout152 2> log/2/stderr152 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind153 ../src/curl -q --include --trace-ascii log/4/trace153 --trace-config all --trace-time http://127.0.0.1:36813/1530001 -u testuser:testpass --digest http://127.0.0.1:36813/1530002 > log/4/stdout153 2> log/4/stderr153 ockfilt for passive data channel starting... 02:01:24.106038 DATA sockfilt for passive data channel started (pid 83673) 02:01:24.106165 DATA sockfilt for passive data channel listens on port 38943 02:01:24.106211 > "229 Entering Passive Mode (|||38943|)[LF]" 02:01:24.106231 Client has been notified that DATA conn will be accepted on port 38943 02:01:24.115107 Client connects to port 38943 02:01:24.115161 ====> Client established passive DATA connection on port 38943 02:01:24.115268 < "TYPE I" 02:01:24.115310 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:24.115543 < "SIZE verifiedserver" 02:01:24.115593 > "213 17[CR][LF]" 02:01:24.115782 < "RETR verifiedserver" 02:01:24.115820 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:24.115914 =====> Closing passive DATA connection... 02:01:24.115930 Server disconnects passive DATA connection 02:01:24.116095 Server disconnected passive DATA connection 02:01:24.116119 DATA sockfilt for passive data channel quits (pid 83673) 02:01:24.116350 DATA sockfilt for passive data channel quit (pid 83673) 02:01:24.116373 =====> Closed passive DATA connection 02:01:24.116399 > "226 File transfer complete[CR][LF]" 02:01:24.165486 < "QUIT" 02:01:24.165535 > "221 bye bye baby[CR][LF]" 02:01:24.168250 MAIN sockfilt said DISC 02:01:24.168287 ====> Client disconnected 02:01:24.168349 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:24.300744 ====> Client connect 02:01:24.301047 Received DATA (on stdin) 02:01:24.301068 > 160 bytes data, server => client 02:01:24.301081 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:24.301095 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:24.301106 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:24.301190 < 16 bytes data, client => server 02:01:24.301207 'USER anonymous\r\n' 02:01:24.301399 Received DATA (on stdin) 02:01:24.301416 > 33 bytes data, server => client 02:01:24.301428 '331 We are happy you popped in!\r\n' 02:01:24.301501 < 22 bytes data, client => server 02:01:24.301519 'PASS ftp@example.com\r\n' 02:01:24.301662 Received DATA (on stdin) 02:01:24.301676 > 30 bytes data, server => client 02:01:24.301688 '230 Welcome you silly person\r\n' 02:01:24.301747 < 5 bytes data, client => server 02:01:24.301765 'PWD\r\n' 02:01:24.301909 Received DATA (on stdin) 02:01:24.301923 > 30 bytes data, server => client 02:01:24.301935 '257 "/" is current directory\r\n' 02:01:24.302003 < 6 bytes data, client => server 02:01:24.302020 'EPSV\r\n' 02:01:24.306381 Received DATA (on stdin) 02:01:24.306398 > 38 bytes data, server => client 02:01:24.306411 '229 Entering Passive Mode (|||38943|)\n' 02:01:24.312004 < 8 bytes data, client => server 02:01:24.312029 'TYPE I\r\n' 02:01:24.315459 Received DATA (on stdin) 02:01:24.315476 > 33 bytes data, server => client 02:01:24.315488 '200 I modify TYPE as you wanted\r\n' 02:01:24.315568 < 21 bytes data, client => server 02:01:24.315583 'SIZE verifiedserver\r\n' 02:01:24.315736 Received DATA (on stdin) 02:01:24.315750 > 8 bytes data, server => client 02:01:24.315761 '213 17\r\n' 02:01:24.315827 < 21 bytes data, client => server 02:01:24.315839 'RETR verifiedserver\r\n' 02:01:24.316540 Received DATA (on stdin) 02:01:24.316557 > 29 bytes data, server => client 02:01:24.316569 '150 Binary junk (17 bytes).\r\n' 02:01:24.316595 Received DATA (on stdin) 02:01:24.316606 > 28 bytes data, server => client 02:01:24.316617 '226 File transfer complete\r\n' 02:01:24.365466 < 6 bytes data, client => server 02:01:24.365492 'QUIT\r\n' 02:01:24.365676 Received DATA (on stdin) 02:01:24.365688 > 18 bytes data, server => client 02:01:24.365699 '221 bye bye baby\r\n' 02:01:24.368333 ====> Client disconnect 02:01:24.369157 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:24.305859 Running IPv4 version 02:01:24.305923 Listening on port 38943 02:01:24.305960 Wrote pid 83673 to log/12/server/ftp_sockdata.pid 02:01:24.306112 Received PING (on stdin) 02:01:24.306210 Received PORT (on stdin) 02:01:24.315177 ====> Client connect 02:01:24.316078 Received DATA (on stdin) 02:01:24.316101 > 17 bytes data, server => client 02:01:24.316113 'WE ROOLZ: 80450\r\n' 02:01:24.316165 Received DISC (on stdin) 02:01:24.316179 ====> Client forcibly disconnected 02:01:24.316266 Received QUIT (on stdin) 02:01:24.316278 quits 02:01:24.316343 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 149 === End of file server.cmd === Start of file upload149 send away this contents === End of file upload149 === Start of file valgrind149 ==83732== ==83732== Process terminating with default action of signal 4 (SIGILL) ==83732== Illegal opcode at address 0x10B08D ==83732== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83732== by 0x10B08D: main (tool_main.c:232) === End of file valgrind149 test 0152...[HTTP GET with an error code that might trick authentication and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind152 ../src/curl -q --output log/2/curl152.out --include --trace-ascii log/2/trace152 --trace-config all --trace-time http://127.0.0.1:38781/152 --fail > log/2/stdout152 2> log/2/stderr152 152: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 152 === Start of file http_server.log 02:01:24.494853 ====> Client connect 02:01:24.494885 accept_connection 3 returned 4 02:01:24.494908 accept_connection 3 returned 0 02:01:24.494922 Read 93 bytes 02:01:24.494933 Process 93 bytes request 02:01:24.494947 Got request: GET /verifiedserver HTTP/1.1 02:01:24.494956 Are-we-friendly question received 02:01:24.494979 Wrote request (93 bytes) input to log/2/server.input 02:01:24.494995 Identifying ourselves as friends 02:01:24.495059 Response sent (56 bytes) and written to log/2/server.response 02:01:24.495070 special request received, no persistency 02:01:24.495079 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 152 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind152 ==83949== ==83949== Process terminating with default action of signal 4 (SIGILL) ==83949== Illegal opcode at address 0x10B08D ==83949== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==83949== by 0x10B08D: main (tool_main.c:232) === End of file valgrind152 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind154 ../src/curl -q --output log/1/curl154.out --include --trace-ascii log/1/trace154 --trace-config all --trace-time http://127.0.0.1:34215/154 -T log/1/put154 -u testuser:testpass --anyauth > log/1/stdout154 2> log/1/stderr154 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind155 ../src/curl -q --output log/7/curl155.out --include --trace-ascii log/7/trace155 --trace-config all --trace-time http://127.0.0.1:43753/155 -T log/7/put155 -u testuser:testpass --anyauth > log/7/stdout155 2> log/7/stderr155 test 0153...[HTTP with Digest authorization with stale=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind153 ../src/curl -q --include --trace-ascii log/4/trace153 --trace-config all --trace-time http://127.0.0.1:36813/1530001 -u testuser:testpass --digest http://127.0.0.1:36813/1530002 > log/4/stdout153 2> log/4/stderr153 153: stdout FAILED: --- log/4/check-expected 2024-12-15 02:01:25.874865090 +0000 +++ log/4/check-generated 2024-12-15 02:01:25.874865090 +0000 @@ -1,30 +0,0 @@ -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 30[CR][LF] -[CR][LF] -This IS the second real page![LF] == Contents of files in the log/4/ dir after test 153 === Start of file check-expected HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 30[CR][LF] [CR][LF] This IS the second real page![LF] === End of file check-expected === Start of file http_server.log 02:01:24.570317 ====> Client connect 02:01:24.570366 accept_connection 3 returned 4 02:01:24.570386 accept_connection 3 returned 0 02:01:24.570401 Read 93 bytes 02:01:24.570412 Process 93 bytes request 02:01:24.570428 Got request: GET /verifiedserver HTTP/1.1 02:01:24.570438 Are-we-friendly question received 02:01:24.570466 Wrote request (93 bytes) input to log/4/server.input 02:01:24.570486 Identifying ourselves as friends 02:01:24.570569 Response sent (56 bytes) and written to log/4/server.response 02:01:24.570709 special request received, no persistency 02:01:24.570723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 153 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind153 ==84034== ==84034== Process terminating with default action of signal 4 (SIGILL) ==84034== Illegal opcode at address 0x10B08D ==84034== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84034== by 0x10B08D: main (tool_main.c:232) === End of file valgrind153 test 0154...[HTTP PUT with --anyauth authorization (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind154 ../src/curl -q --output log/1/curl154.out --include --trace-ascii log/1/trace154 --trace-config all --trace-time http://127.0.0.1:34215/154 -T log/1/put154 -u testuser:testpass --anyauth > log/1/stdout154 2> log/1/stderr154 154: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 154 === Start of file http_server.log 02:01:25.008559 ====> Client connect 02:01:25.008602 accept_connection 3 returned 4 02:01:25.008625 accept_connection 3 returned 0 02:01:25.008643 Read 93 bytes 02:01:25.008655 Process 93 bytes request 02:01:25.008671 Got request: GET /verifiedserver HTTP/1.1 02:01:25.008682 Are-we-friendly question received 02:01:25.008712 Wrote request (93 bytes) input to log/1/server.input 02:01:25.008734 Identifying ourselves as friends 02:01:25.008823 Response sent (56 bytes) and written to log/1/server.response 02:01:25.008838 special request received, no persistency 02:01:25.008850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file put154 This is data we upload with PUT a second line line three four is the number of lines === End of file put154 === Start of file server.cmd Testnum 154 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind154 ==84127== ==84127== Process terminating with default action of signal 4 (SIGILL) ==84127== Illegal opcode at address 0x10B08D ==84127== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84127== by 0x10B08D: main (tool_main.c:232) === End of file valgrind154 test 0155...[HTTP PUT with --anyauth authorization (picking NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind155 ../src/curl -q --output log/7/curl155.out --include --trace-ascii log/7/trace155 --trace-config all --trace-time http://127.0.0.1:43753/155 -T log/7/put155 -u testuser:testpass --anyauth > log/7/stdout155 2> log/7/stderr155 155: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 155 === Start of file http_server.log 02:01:25.191885 ====> Client connect 02:01:25.191949 accept_connection 3 returned 4 02:01:25.191966 accept_coCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind157 ../src/curl -q --output log/10/curl157.out --include --trace-ascii log/10/trace157 --trace-config all --trace-time http://127.0.0.1:42929/157 -u testuser:testpass --anyauth > log/10/stdout157 2> log/10/stderr157 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind158 ../src/curl -q --output log/9/curl158.out --include --trace-ascii log/9/trace158 --trace-config all --trace-time http://127.0.0.1:38509/158 -F name=daniel > log/9/stdout158 2> log/9/stderr158 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind156 ../src/curl -q --output log/11/curl156.out --include --trace-ascii log/11/trace156 --trace-config all --trace-time http://127.0.0.1:44137/156 -T log/11/put156 -u testuser:testpass --anyauth > log/11/stdout156 2> log/11/stderr156 nnection 3 returned 0 02:01:25.191982 Read 93 bytes 02:01:25.191992 Process 93 bytes request 02:01:25.192007 Got request: GET /verifiedserver HTTP/1.1 02:01:25.192017 Are-we-friendly question received 02:01:25.192040 Wrote request (93 bytes) input to log/7/server.input 02:01:25.192057 Identifying ourselves as friends 02:01:25.192129 Response sent (56 bytes) and written to log/7/server.response 02:01:25.192140 special request received, no persistency 02:01:25.192149 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file put155 This is data we upload with PUT a second line line three four is the number of lines === End of file put155 === Start of file server.cmd Testnum 155 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind155 ==84196== ==84196== Process terminating with default action of signal 4 (SIGILL) ==84196== Illegal opcode at address 0x10B08D ==84196== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84196== by 0x10B08D: main (tool_main.c:232) === End of file valgrind155 test 0157...[HTTP GET with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind157 ../src/curl -q --output log/10/curl157.out --include --trace-ascii log/10/trace157 --trace-config all --trace-time http://127.0.0.1:42929/157 -u testuser:testpass --anyauth > log/10/stdout157 2> log/10/stderr157 157: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 157 === Start of file http_server.log 02:01:25.458308 ====> Client connect 02:01:25.458344 accept_connection 3 returned 4 02:01:25.458361 accept_connection 3 returned 0 02:01:25.458379 Read 93 bytes 02:01:25.458389 Process 93 bytes request 02:01:25.458404 Got request: GET /verifiedserver HTTP/1.1 02:01:25.458413 Are-we-friendly question received 02:01:25.458434 Wrote request (93 bytes) input to log/10/server.input 02:01:25.458451 Identifying ourselves as friends 02:01:25.458750 Response sent (56 bytes) and written to log/10/server.response 02:01:25.458772 special request received, no persistency 02:01:25.458783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 157 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind157 ==84293== ==84293== Process terminating with default action of signal 4 (SIGILL) ==84293== Illegal opcode at address 0x10B08D ==84293== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84293== by 0x10B08D: main (tool_main.c:232) === End of file valgrind157 test 0158...[HTTP multipart formpost with only a 100 reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind158 ../src/curl -q --output log/9/curl158.out --include --trace-ascii log/9/trace158 --trace-config all --trace-time http://127.0.0.1:38509/158 -F name=daniel > log/9/stdout158 2> log/9/stderr158 158: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 158 === Start of file http_server.log 02:01:25.552508 ====> Client connect 02:01:25.552543 accept_connection 3 returned 4 02:01:25.552561 accept_connection 3 returned 0 02:01:25.552576 Read 93 bytes 02:01:25.552587 Process 93 bytes request 02:01:25.552601 Got request: GET /verifiedserver HTTP/1.1 02:01:25.552610 Are-we-friendly question received 02:01:25.552634 Wrote request (93 bytes) input to log/9/server.input 02:01:25.552652 Identifying ourselves as friends 02:01:25.552727 Response sent (56 bytes) and written to log/9/server.response 02:01:25.552739 special request received, no persistency 02:01:25.552749 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 158 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind158 ==84376== ==84376== Process terminating with default action of signal 4 (SIGILL) ==84376== Illegal opcode at address 0x10B08D ==84376== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84376== by 0x10B08D: main (tool_main.c:232) === End of file valgrind158 test 0156...[HTTP PUT with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind156 ../src/curl -q --output log/11/curl156.out --include --trace-ascii log/11/trace156 --trace-config all --trace-time http://127.0.0.1:44137/156 -T log/11/put156 -u testuser:testpass --anyauth > log/11/stdout156 2> log/11/stderr156 156: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 156 === Start of file http_server.log 02:01:25.381886 ====> Client connect 02:01:25.381928 accept_connection 3 returned 4 02:01:25.381947 accept_connection 3 returned 0 02:01:25.381964 Read 93 bytes 02:01:25.381977 Process 93 bytes request 02:01:25.381993 Got request: GET /verifiedserver HTTP/1.1 02:01:25.382003 Are-we-friendly question received 02:01:25.382032 Wrote request (93 bytes) input to log/11/server.input 02:01:25.382053 Identifying ourselves as friends 02:01:25.382144 Response sent (56 bytes) and written to log/11/server.response 02:01:25.382160 special request received, no persistency 02:01:25.382171 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file put156 This is data we CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind164 ../src/curl -q --output log/12/curl164.out --include --trace-ascii log/12/trace164 --trace-config all --trace-time http://127.0.0.1:40653/want/164 -r 0-10,12-15 > log/12/stdout164 2> log/12/stderr164 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind163 ../src/curl -q --output log/5/curl163.out --include --trace-ascii log/5/trace163 --trace-config all --trace-time http://127.0.0.1:33361/we/want/163 -F "name= log/5/stdout163 2> log/5/stderr163 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind160 ../src/curl -q --include --trace-ascii log/3/trace160 --trace-config all --trace-time http://127.0.0.1:34527/want/160 http://127.0.0.1:34527/wantmore/1600001 > log/3/stdout160 2> log/3/stderr160 upload with PUT a second line line three four is the number of lines === End of file put156 === Start of file server.cmd Testnum 156 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind156 ==84253== ==84253== Process terminating with default action of signal 4 (SIGILL) ==84253== Illegal opcode at address 0x10B08D ==84253== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84253== by 0x10B08D: main (tool_main.c:232) === End of file valgrind156 test 0164...[HTTP range with multiple ranges] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind164 ../src/curl -q --output log/12/curl164.out --include --trace-ascii log/12/trace164 --trace-config all --trace-time http://127.0.0.1:40653/want/164 -r 0-10,12-15 > log/12/stdout164 2> log/12/stderr164 164: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 164 === Start of file http_server.log 02:01:25.736377 ====> Client connect 02:01:25.736403 accept_connection 3 returned 4 02:01:25.736418 accept_connection 3 returned 0 02:01:25.736430 Read 93 bytes 02:01:25.736440 Process 93 bytes request 02:01:25.736451 Got request: GET /verifiedserver HTTP/1.1 02:01:25.736460 Are-we-friendly question received 02:01:25.736479 Wrote request (93 bytes) input to log/12/server.input 02:01:25.736495 Identifying ourselves as friends 02:01:25.736552 Response sent (56 bytes) and written to log/12/server.response 02:01:25.736562 special request received, no persistency 02:01:25.736571 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 164 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind164 ==84576== ==84576== Process terminating with default action of signal 4 (SIGILL) ==84576== Illegal opcode at address 0x10B08D ==84576== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84576== by 0x10B08D: main (tool_main.c:232) === End of file valgrind164 test 0163...[HTTP multipart formpost with contents from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind163 ../src/curl -q --output log/5/curl163.out --include --trace-ascii log/5/trace163 --trace-config all --trace-time http://127.0.0.1:33361/we/want/163 -F "name= log/5/stdout163 2> log/5/stderr163 163: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 163 === Start of file field163 contents from a file newlinens? yes please [tab][CR] too === End of file field163 === Start of file http_server.log 02:01:25.735510 ====> Client connect 02:01:25.735542 accept_connection 3 returned 4 02:01:25.735558 accept_connection 3 returned 0 02:01:25.735737 Read 93 bytes 02:01:25.735753 Process 93 bytes request 02:01:25.735767 Got request: GET /verifiedserver HTTP/1.1 02:01:25.735777 Are-we-friendly question received 02:01:25.735803 Wrote request (93 bytes) input to log/5/server.input 02:01:25.735821 Identifying ourselves as friends 02:01:25.735978 Response sent (56 bytes) and written to log/5/server.response 02:01:25.735992 special request received, no persistency 02:01:25.736002 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 163 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind163 ==84583== ==84583== Process terminating with default action of signal 4 (SIGILL) ==84583== Illegal opcode at address 0x10B08D ==84583== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84583== by 0x10B08D: main (tool_main.c:232) === End of file valgrind163 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind161 ../src/curl -q --output log/6/curl161.out --include --trace-ascii log/6/trace161 --trace-config all --trace-time ftp://127.0.0.1:40433/161 > log/6/stdout161 2> log/6/stderr161 test 0160...[HTTP with delayed close, conn reuse, connection reset and retry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind160 ../src/curl -q --include --trace-ascii log/3/trace160 --trace-config all --trace-time http://127.0.0.1:34527/want/160 http://127.0.0.1:34527/wantmore/1600001 > log/3/stdout160 2> log/3/stderr160 160: stdout FAILED: --- log/3/check-expected 2024-12-15 02:01:26.764881160 +0000 +++ log/3/check-generated 2024-12-15 02:01:26.764881160 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -surprise[LF] -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Connection: close[CR][LF] -[CR][LF] -surprise2[LF] == Contents of files in the log/3/ dir after test 160 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 9[CR][LF] [CR][LF] surprise[LF] HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Connection: close[CR][LF] [CR][LF] surprise2[LF] === End of file check-expected === Start of file http_server.log 02:01:25.581866 ====> Client connect 02:01:25.581908 accept_connection 3 returned 4 02:01:25.581928 accept_connection 3 returned 0 02:01:25.581945 Read 93 bytes 02:01:25.581958 Process 93 bytes request 02:01:25.581974 Got request: GET /verifiedserver HTTP/1.1 02:01:25.581985 Are-we-friendly question received 02:01:25.582018 Wrote request (93 bytes) input to log/3/server.input 02:01:25.582039 Identifying ourselves as friends 02:01:25.582128 Response sent (56 bytes) and written to log/3/server.response 02:01:25.582147 special request received, no persistency 02:01:25.582158 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 160 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind160 ==84407== ==84407== Process terminating with default action of signal 4 (SIGILL) ==84407== Illegal opcode at address 0x10B08D ==84407== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84407== by 0x10B08D: main (tool_main.c:232) === End of file valgrind160 test 0161...[FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind161 ../src/curl -q --output log/6/curl161.out --include --trace-ascii log/6/trace161 --trace-config all --trace-time ftp://127.0.0.1:40433/161 > log/6/stdout161 2> log/6/stderr161 161: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 161 === Start of file ftp_server.log 02:01:25.413718 ====> Client connect 02:01:25.413994 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:25.414455 < "USER anonymous" 02:01:25.414497 > "331 We are happy you popped in![CR][LF]" 02:01:25.414672 < "PASS ftp@example.com" 02:01:25.414698 > "230 Welcome you silly person[CR][LF]" 02:01:25.414862 < "PWD" 02:01:25.414891 > "257 "/" is current directory[CR][LF]" 02:01:25.415182 < "EPSV" 02:01:25.415206 ====> Passive DATA channel requested by client 02:01:25.415218 DATA sockfilt for passive data channel starting... 02:01:25.429820 DATA sockfilt for passive data channel started (pid 84409) 02:01:25.429982 DATA sockfilt for passive data channel listens on port 42873 02:01:25.430034 > "229 Entering Passive Mode (|||42873|)[LF]" 02:01:25.430052 Client has been notified that DATA conn will be accepted on port 42873 02:01:25.438552 Client connects to port 42873 02:01:25.438619 ====> Client established passive DATA connection on port 42873 02:01:25.438726 < "TYPE I" 02:01:25.438762 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:25.448838 < "SIZE verifiedserver" 02:01:25.448899 > "213 17[CR][LF]" 02:01:25.449103 < "RETR verifiedserver" 02:01:25.449145 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:25.449234 =====> Closing passive DATA connection... 02:01:25.449250 Server disconnects passive DATA connection 02:01:25.449524 Server disconnected passive DATA connection 02:01:25.449555 DATA sockfilt for passive data channel quits (pid 84409) 02:01:25.452204 DATA sockfilt for passive data channel quit (pid 84409) 02:01:25.452231 =====> Closed passive DATA connection 02:01:25.452261 > "226 File transfer complete[CR][LF]" 02:01:25.498675 < "QUIT" 02:01:25.498737 > "221 bye bye baby[CR][LF]" 02:01:25.499692 MAIN sockfilt said DISC 02:01:25.499735 ====> Client disconnected 02:01:25.499816 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:25.613759 ====> Client connect 02:01:25.614149 Received DATA (on stdin) 02:01:25.614333 > 160 bytes data, server => client 02:01:25.614349 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:25.614361 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:25.614371 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:25.614449 < 16 bytes data, client => server 02:01:25.614462 'USER anonymous\r\n' 02:01:25.614639 Received DATA (on stdin) 02:01:25.614651 > 33 bytes data, server => client 02:01:25.614663 '331 We are happy you popped in!\r\n' 02:01:25.614715 < 22 bytes data, client => server 02:01:25.614727 'PASS ftp@example.com\r\n' 02:01:25.614836 Received DATA (on stdin) 02:01:25.614847 > 30 bytes data, server => client 02:01:25.614858 '230 Welcome you silly person\r\n' 02:01:25.614906 < 5 bytes data, client => server 02:01:25.614929 'PWD\r\n' 02:01:25.615029 Received DATA (on stdin) 02:01:25.615040 > 30 bytes data, server => client 02:01:25.615050 '257 "/" is current directory\r\n' 02:01:25.615110 < 6 bytes data, client => server 02:01:25.615122 'EPSV\r\n' 02:01:25.633782 Received DATA (on stdin) 02:01:25.633808 > 38 bytes data, server => client 02:01:25.633822 '229 Entering Passive Mode (|||42873|)\n' 02:01:25.635379 < 8 bytes data, client => server 02:01:25.635404 'TYPE I\r\n' 02:01:25.639244 Received DATA (on stdin) 02:01:25.639264 > 33 bytes data, server => client 02:01:25.639276 '200 I modify TYPE as you wanted\r\n' 02:01:25.648818 < 21 bytes data, client => server 02:01:25.648844 'SIZE verifiedserver\r\n' 02:01:25.649044 Received DATA (on stdin) 02:01:25.649059 > 8 bytes data, server => client 02:01:25.649070 '213 17\r\n' 02:01:25.649137 < 21 bytes data, client => server 02:01:25.649151 'RETR verifiedserver\r\n' 02:01:25.649391 Received DATA (on stdin) 02:01:25.649405 > 29 bytes data, server => client 02:01:25.649416 '150 Binary junk (17 bytes).\r\n' 02:01:25.652405 Received DATA (on stdin) 02:01:25.652420 > 28 bytes data, server => client 02:01:25.652437 '226 File transfer complete\r\n' 02:01:25.698606 < 6 bytes data, client => server 02:01:25.698640 'QUIT\r\n' 02:01:25.698888 Received DATA (on stdin) 02:01:25.698907 > 18 bytes data, server => client 02:01:25.698919 '221 bye bye baby\r\n' 02:01:25.699772 ====> Client disconnect 02:01:25.699971 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:25.629521 Running IPv4 version 02:01:25.629590 Listening on port 42873 02:01:25.62962CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind162 ../src/curl -q --output log/8/curl162.out --include --trace-ascii log/8/trace162 --trace-config all --trace-time http://127.0.0.1:43803/162 --proxy http://127.0.0.1:43803 --proxy-user foo:bar --proxy-ntlm --fail > log/8/stdout162 2> log/8/stderr162 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind165 ../src/curl -q --output log/2/curl165.out --include --trace-ascii log/2/trace165 --trace-config all --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:38781 http://www.große.de/page/165 > log/2/stdout165 2> log/2/stderr165 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind167 ../src/curl -q --output log/1/curl167.out --include --trace-ascii log/1/trace167 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:34215 --proxy-user foo:bar --digest --user digest:alot > log/1/stdout167 2> log/1/stderr167 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind166 ../src/curl -q --output log/4/curl166.out --include --trace-ascii log/4/trace166 --trace-config all --trace-time http://127.0.0.1:36813/we/want/166 -F "name=@log/4/fie ld 166" > log/4/stdout166 2> log/4/stderr166 6 Wrote pid 84409 to log/6/server/ftp_sockdata.pid 02:01:25.629643 Received PING (on stdin) 02:01:25.630014 Received PORT (on stdin) 02:01:25.638034 ====> Client connect 02:01:25.649478 Received DATA (on stdin) 02:01:25.649497 > 17 bytes data, server => client 02:01:25.649509 'WE ROOLZ: 80451\r\n' 02:01:25.649540 Received DISC (on stdin) 02:01:25.649554 ====> Client forcibly disconnected 02:01:25.651904 Received QUIT (on stdin) 02:01:25.652131 quits 02:01:25.652189 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 ==84524== ==84524== Process terminating with default action of signal 4 (SIGILL) ==84524== Illegal opcode at address 0x10B08D ==84524== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84524== by 0x10B08D: main (tool_main.c:232) === End of file valgrind161 test 0162...[HTTP GET asking for --proxy-ntlm when some other authentication is required] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind162 ../src/curl -q --output log/8/curl162.out --include --trace-ascii log/8/trace162 --trace-config all --trace-time http://127.0.0.1:43803/162 --proxy http://127.0.0.1:43803 --proxy-user foo:bar --proxy-ntlm --fail > log/8/stdout162 2> log/8/stderr162 162: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 162 === Start of file http_server.log 02:01:25.728599 ====> Client connect 02:01:25.728660 accept_connection 3 returned 4 02:01:25.728681 accept_connection 3 returned 0 02:01:25.728696 Read 93 bytes 02:01:25.728708 Process 93 bytes request 02:01:25.728723 Got request: GET /verifiedserver HTTP/1.1 02:01:25.728733 Are-we-friendly question received 02:01:25.728756 Wrote request (93 bytes) input to log/8/server.input 02:01:25.728773 Identifying ourselves as friends 02:01:25.728849 Response sent (56 bytes) and written to log/8/server.response 02:01:25.728860 special request received, no persistency 02:01:25.728869 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 162 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind162 ==84572== ==84572== Process terminating with default action of signal 4 (SIGILL) ==84572== Illegal opcode at address 0x10B08D ==84572== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84572== by 0x10B08D: main (tool_main.c:232) === End of file valgrind162 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0165...[HTTP over proxy with IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind165 ../src/curl -q --output log/2/curl165.out --include --trace-ascii log/2/trace165 --trace-config all --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:38781 http://www.große.de/page/165 > log/2/stdout165 2> log/2/stderr165 165: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 165 === Start of file http_server.log 02:01:25.915604 ====> Client connect 02:01:25.915642 accept_connection 3 returned 4 02:01:25.915665 accept_connection 3 returned 0 02:01:25.915680 Read 93 bytes 02:01:25.915691 Process 93 bytes request 02:01:25.915707 Got request: GET /verifiedserver HTTP/1.1 02:01:25.915718 Are-we-friendly question received 02:01:25.915746 Wrote request (93 bytes) input to log/2/server.input 02:01:25.915767 Identifying ourselves as friends 02:01:25.915846 Response sent (56 bytes) and written to log/2/server.response 02:01:25.915861 special request received, no persistency 02:01:25.915872 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 165 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind165 ==84745== ==84745== Process terminating with default action of signal 4 (SIGILL) ==84745== Illegal opcode at address 0x10B08D ==84745== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84745== by 0x10B08D: main (tool_main.c:232) === End of file valgrind165 test 0167...[HTTP with proxy-requiring-Basic to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind167 ../src/curl -q --output log/1/curl167.out --include --trace-ascii log/1/trace167 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:34215 --proxy-user foo:bar --digest --user digest:alot > log/1/stdout167 2> log/1/stderr167 167: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 167 === Start of file http_server.log 02:01:26.195251 ====> Client connect 02:01:26.195295 accept_connection 3 returned 4 02:01:26.195314 accept_connection 3 returned 0 02:01:26.195328 Read 93 bytes 02:01:26.195339 Process 93 bytes request 02:01:26.195354 Got request: GET /verifiedserver HTTP/1.1 02:01:26.195364 Are-we-friendly question received 02:01:26.195390 Wrote request (93 bytes) input to log/1/server.input 02:01:26.195407 Identifying ourselves as friends 02:01:26.195493 Response sent (56 bytes) and written to log/1/server.response 02:01:26.195505 special request received, no persistency 02:01:26.195515 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 167 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind167 ==84874== ==84874== Process terminating with default action of signal 4 (SIGILL) ==84874== Illegal opcode at address 0x10B08D ==84874== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84874== by 0x10B08D: main (tool_main.c:232) === End of file valgrind167 test 0166...[HTTP formpost a file with spaces in name] ../libtool --mode=execute /usr/bin/valgrind CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind170 ../src/curl -q --output log/9/curl170.out --include --trace-ascii log/9/trace170 --trace-config all --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:38509 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/9/stdout170 2> log/9/stderr170 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind168 ../src/curl -q --output log/7/curl168.out --include --trace-ascii log/7/trace168 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:43753 --proxy-user foo:bar --proxy-digest --digest --user digest:alot > log/7/stdout168 2> log/7/stderr168 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind171 ../src/curl -q --output log/11/curl171.out --include --trace-ascii log/11/trace171 --trace-config all --trace-time -c log/11/jar171 -x 127.0.0.1:44137 http://z.x.com/171 > log/11/stdout171 2> log/11/stderr171 --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind166 ../src/curl -q --output log/4/curl166.out --include --trace-ascii log/4/trace166 --trace-config all --trace-time http://127.0.0.1:36813/we/want/166 -F "name=@log/4/fie ld 166" > log/4/stdout166 2> log/4/stderr166 166: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 166 === Start of file fie ld 166 data inside the file === End of file fie ld 166 === Start of file http_server.log 02:01:26.204809 ====> Client connect 02:01:26.204843 accept_connection 3 returned 4 02:01:26.204860 accept_connection 3 returned 0 02:01:26.204873 Read 93 bytes 02:01:26.204884 Process 93 bytes request 02:01:26.204898 Got request: GET /verifiedserver HTTP/1.1 02:01:26.204908 Are-we-friendly question received 02:01:26.204929 Wrote request (93 bytes) input to log/4/server.input 02:01:26.204946 Identifying ourselves as friends 02:01:26.205042 Response sent (56 bytes) and written to log/4/server.response 02:01:26.205055 special request received, no persistency 02:01:26.205064 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 166 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind166 ==84875== ==84875== Process terminating with default action of signal 4 (SIGILL) ==84875== Illegal opcode at address 0x10B08D ==84875== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84875== by 0x10B08D: main (tool_main.c:232) === End of file valgrind166 test 0170...[HTTP POST with --proxy-ntlm and no SSL with no response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind170 ../src/curl -q --output log/9/curl170.out --include --trace-ascii log/9/trace170 --trace-config all --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:38509 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/9/stdout170 2> log/9/stderr170 170: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 170 === Start of file http_server.log 02:01:26.711842 ====> Client connect 02:01:26.711875 accept_connection 3 returned 4 02:01:26.711894 accept_connection 3 returned 0 02:01:26.711907 Read 93 bytes 02:01:26.711918 Process 93 bytes request 02:01:26.711933 Got request: GET /verifiedserver HTTP/1.1 02:01:26.711942 Are-we-friendly question received 02:01:26.711968 Wrote request (93 bytes) input to log/9/server.input 02:01:26.711985 Identifying ourselves as friends 02:01:26.712049 Response sent (56 bytes) and written to log/9/server.response 02:01:26.712060 special request received, no persistency 02:01:26.712070 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 170 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind170 ==85058== ==85058== Process terminating with default action of signal 4 (SIGILL) ==85058== Illegal opcode at address 0x10B08D ==85058== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85058== by 0x10B08D: main (tool_main.c:232) === End of file valgrind170 test 0168...[HTTP with proxy-requiring-Digest to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind168 ../src/curl -q --output log/7/curl168.out --include --trace-ascii log/7/trace168 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:43753 --proxy-user foo:bar --proxy-digest --digest --user digest:alot > log/7/stdout168 2> log/7/stderr168 168: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 168 === Start of file http_server.log 02:01:26.539349 ====> Client connect 02:01:26.539382 accept_connection 3 returned 4 02:01:26.539399 accept_connection 3 returned 0 02:01:26.539413 Read 93 bytes 02:01:26.539424 Process 93 bytes request 02:01:26.539438 Got request: GET /verifiedserver HTTP/1.1 02:01:26.539448 Are-we-friendly question received 02:01:26.539471 Wrote request (93 bytes) input to log/7/server.input 02:01:26.539488 Identifying ourselves as friends 02:01:26.539555 Response sent (56 bytes) and written to log/7/server.response 02:01:26.539566 special request received, no persistency 02:01:26.539575 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 168 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind168 ==84989== ==84989== Process terminating with default action of signal 4 (SIGILL) ==84989== Illegal opcode at address 0x10B08D ==84989== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==84989== by 0x10B08D: main (tool_main.c:232) === End of file valgrind168 test 0171...[HTTP, get cookie with dot prefixed full domain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind171 ../src/curl -q --output log/11/curl171.out --include --trace-ascii log/11/trace171 --trace-config all --trace-time -c log/11/jar171 -x 127.0.0.1:44137 http://z.x.com/171 > log/11/stdout171 2> log/11/stderr171 171: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 171 === Start of file http_server.log 02:01:26.888578 ====> Client connect 02:01:26.888621 accept_connection 3 returned 4 02:01:26.888639 accept_connection 3 returned 0 02:01:26.891996 Read 93 bytes 02:01:26.892018 Process 93 bytes request 02:01:26.892034 Got request: GET /verifiedserver HTTP/1.1 02:01:26.892045 Are-we-friendly question received 02:01:26.892079 Wrote request (93 bytes) input to log/11/server.input 02:01:26.892100 IdentifyiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind174 ../src/curl -q --output log/3/curl174.out --include --trace-ascii log/3/trace174 --trace-config all --trace-time http://127.0.0.1:34527/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/3/stdout174 2> log/3/stderr174 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind169 ../src/curl -q --output log/10/curl169.out --include --trace-ascii log/10/trace169 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:42929 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot > log/10/stdout169 2> log/10/stderr169 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind175 ../src/curl -q --output log/6/curl175.out --include --trace-ascii log/6/trace175 --trace-config all --trace-time http://127.0.0.1:39457/175 -u auser:apasswd --digest -d "junkelijunk" > log/6/stdout175 2> log/6/stderr175 ng ourselves as friends 02:01:26.892173 Response sent (56 bytes) and written to log/11/server.response 02:01:26.892186 special request received, no persistency 02:01:26.892196 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 171 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind171 ==85179== ==85179== Process terminating with default action of signal 4 (SIGILL) ==85179== Illegal opcode at address 0x10B08D ==85179== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85179== by 0x10B08D: main (tool_main.c:232) === End of file valgrind171 test 0174...[HTTP POST --anyauth to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind174 ../src/curl -q --output log/3/curl174.out --include --trace-ascii log/3/trace174 --trace-config all --trace-time http://127.0.0.1:34527/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/3/stdout174 2> log/3/stderr174 174: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 174 === Start of file http_server.log 02:01:27.043353 ====> Client connect 02:01:27.043389 accept_connection 3 returned 4 02:01:27.043406 accept_connection 3 returned 0 02:01:27.043421 Read 93 bytes 02:01:27.043431 Process 93 bytes request 02:01:27.043445 Got request: GET /verifiedserver HTTP/1.1 02:01:27.043453 Are-we-friendly question received 02:01:27.043477 Wrote request (93 bytes) input to log/3/server.input 02:01:27.043494 Identifying ourselves as friends 02:01:27.043574 Response sent (56 bytes) and written to log/3/server.response 02:01:27.043589 special request received, no persistency 02:01:27.043599 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind174 ==85285== ==85285== Process terminating with default action of signal 4 (SIGILL) ==85285== Illegal opcode at address 0x10B08D ==85285== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85285== by 0x10B08D: main (tool_main.c:232) === End of file valgrind174 test 0169...[HTTP with proxy-requiring-NTLM to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind169 ../src/curl -q --output log/10/curl169.out --include --trace-ascii log/10/trace169 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:42929 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot > log/10/stdout169 2> log/10/stderr169 169: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 169 === Start of file http_server.log 02:01:26.714420 ====> Client connect 02:01:26.714446 accept_connection 3 returned 4 02:01:26.714461 accept_connection 3 returned 0 02:01:26.714474 Read 93 bytes 02:01:26.714483 Process 93 bytes request 02:01:26.714495 Got request: GET /verifiedserver HTTP/1.1 02:01:26.714504 Are-we-friendly question received 02:01:26.714523 Wrote request (93 bytes) input to log/10/server.input 02:01:26.714540 Identifying ourselves as friends 02:01:26.714604 Response sent (56 bytes) and written to log/10/server.response 02:01:26.714615 special request received, no persistency 02:01:26.714624 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 169 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind169 ==85053== ==85053== Process terminating with default action of signal 4 (SIGILL) ==85053== Illegal opcode at address 0x10B08D ==85053== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85053== by 0x10B08D: main (tool_main.c:232) === End of file valgrind169 test 0175...[HTTP POST --digest to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind175 ../src/curl -q --output log/6/curl175.out --include --trace-ascii log/6/trace175 --trace-config all --trace-time http://127.0.0.1:39457/175 -u auser:apasswd --digest -d "junkelijunk" > log/6/stdout175 2> log/6/stderr175 175: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 175 === Start of file http_server.log 02:01:27.087268 ====> Client connect 02:01:27.087306 accept_connection 3 returned 4 02:01:27.087324 accept_connection 3 returned 0 02:01:27.087339 Read 93 bytes 02:01:27.087350 Process 93 bytes request 02:01:27.087365 Got request: GET /verifiedserver HTTP/1.1 02:01:27.087376 Are-we-friendly question received 02:01:27.087402 Wrote request (93 bytes) input to log/6/server.input 02:01:27.087422 Identifying ourselves as friends 02:01:27.087499 Response sent (56 bytes) and written to log/6/server.response 02:01:27.087513 special request received, no persistency 02:01:27.087524 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 175 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind175 ==85349== ==85349== Process terminating with default action of signal 4 (SIGILL) ==85349== Illegal opcode at address 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind172 ../src/curl -q --output log/12/curl172.out --include --trace-ascii log/12/trace172 --trace-config all --trace-time http://127.0.0.1:40653/we/want/172 -b log/12/jar172.txt -b "tool=curl; name=fool" > log/12/stdout172 2> log/12/stderr172 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind173 ../src/curl -q --output log/5/curl173.out --include --trace-ascii log/5/trace173 --trace-config all --trace-time http://127.0.0.1:33361/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/5/stdout173 2> log/5/stderr173 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind177 ../src/curl -q --output log/2/curl177.out --include --trace-ascii log/2/trace177 --trace-config all --trace-time http://127.0.0.1:38781/177 -u auser:apasswd --digest -d "junkelijunk" > log/2/stdout177 2> log/2/stderr177 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind176 ../src/curl -q --output log/8/curl176.out --include --trace-ascii log/8/trace176 --trace-config all --trace-time http://127.0.0.1:43803/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/8/stdout176 2> log/8/stderr176 x10B08D ==85349== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85349== by 0x10B08D: main (tool_main.c:232) === End of file valgrind175 test 0172...[HTTP with cookies file and custom added cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind172 ../src/curl -q --output log/12/curl172.out --include --trace-ascii log/12/trace172 --trace-config all --trace-time http://127.0.0.1:40653/we/want/172 -b log/12/jar172.txt -b "tool=curl; name=fool" > log/12/stdout172 2> log/12/stderr172 172: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 172 === Start of file http_server.log 02:01:27.067284 ====> Client connect 02:01:27.067320 accept_connection 3 returned 4 02:01:27.067337 accept_connection 3 returned 0 02:01:27.067351 Read 93 bytes 02:01:27.067361 Process 93 bytes request 02:01:27.067376 Got request: GET /verifiedserver HTTP/1.1 02:01:27.067385 Are-we-friendly question received 02:01:27.067406 Wrote request (93 bytes) input to log/12/server.input 02:01:27.067423 Identifying ourselves as friends 02:01:27.067495 Response sent (56 bytes) and written to log/12/server.response 02:01:27.067507 special request received, no persistency 02:01:27.067515 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file jar172.txt # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. .127.0.0.1 TRUE /silly/ FALSE 0 ismatch this .127.0.0.1 TRUE / FALSE 0 partmatch present 127.0.0.1 FALSE /we/want/ FALSE 22139150993 nodomain value === End of file jar172.txt === Start of file server.cmd Testnum 172 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind172 ==85322== ==85322== Process terminating with default action of signal 4 (SIGILL) ==85322== Illegal opcode at address 0x10B08D ==85322== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85322== by 0x10B08D: main (tool_main.c:232) === End of file valgrind172 test 0173...[HTTP RFC1867-formpost a file from stdin with "faked" filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind173 ../src/curl -q --output log/5/curl173.out --include --trace-ascii log/5/trace173 --trace-config all --trace-time http://127.0.0.1:33361/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/5/stdout173 2> log/5/stderr173 173: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 173 === Start of file http_server.log 02:01:27.048563 ====> Client connect 02:01:27.048600 accept_connection 3 returned 4 02:01:27.048621 accept_connection 3 returned 0 02:01:27.048636 Read 93 bytes 02:01:27.048648 Process 93 bytes request 02:01:27.048663 Got request: GET /verifiedserver HTTP/1.1 02:01:27.048673 Are-we-friendly question received 02:01:27.048697 Wrote request (93 bytes) input to log/5/server.input 02:01:27.048717 Identifying ourselves as friends 02:01:27.048792 Response sent (56 bytes) and written to log/5/server.response 02:01:27.048807 special request received, no persistency 02:01:27.048817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 173 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file stdin-for-173 line1 line2 line3 line4 line5 line6 line7 line8 === End of file stdin-for-173 === Start of file valgrind173 ==85286== ==85286== Process terminating with default action of signal 4 (SIGILL) ==85286== Illegal opcode at address 0x10B08D ==85286== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85286== by 0x10B08D: main (tool_main.c:232) === End of file valgrind173 test 0177...[HTTP POST --digest to server doing a 302-location response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind177 ../src/curl -q --output log/2/curl177.out --include --trace-ascii log/2/trace177 --trace-config all --trace-time http://127.0.0.1:38781/177 -u auser:apasswd --digest -d "junkelijunk" > log/2/stdout177 2> log/2/stderr177 177: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 177 === Start of file http_server.log 02:01:27.293265 ====> Client connect 02:01:27.293405 accept_connection 3 returned 4 02:01:27.293425 accept_connection 3 returned 0 02:01:27.298786 Read 93 bytes 02:01:27.298807 Process 93 bytes request 02:01:27.298822 Got request: GET /verifiedserver HTTP/1.1 02:01:27.298831 Are-we-friendly question received 02:01:27.298862 Wrote request (93 bytes) input to log/2/server.input 02:01:27.298881 Identifying ourselves as friends 02:01:27.298943 Response sent (56 bytes) and written to log/2/server.response 02:01:27.298953 special request received, no persistency 02:01:27.298963 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 177 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind177 ==85554== ==85554== Process terminating with default action of signal 4 (SIGILL) ==85554== Illegal opcode at address 0x10B08D ==85554== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85554== by 0x10B08D: main (tool_main.c:232) === End of file valgrind177 test 0176...[HTTP POST --ntlm to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind176 ../src/curl -q --output log/8/curl176.out --include --trace-ascii log/8/trace176 --trace-config all --trace-time http://127.0.0.1:43803/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/8/stdout176 2> log/8/stderr1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind178 ../src/curl -q --output log/1/curl178.out --include --trace-ascii log/1/trace178 --trace-config all --trace-time http://127.0.0.1:34215/178 > log/1/stdout178 2> log/1/stderr178 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind179 ../src/curl -q --output log/4/curl179.out --include --trace-ascii log/4/trace179 --trace-config all --trace-time http://supertrooper.fake/c/179 -b log/4/injar179 -x 127.0.0.1:36813 > log/4/stdout179 2> log/4/stderr179 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind181 ../src/curl -q --output log/7/curl181.out --include --trace-ascii log/7/trace181 --trace-config all --trace-time http://127.0.0.1:43753/we/want/181 --data-binary @log/7/test181.txt --http1.0 > log/7/stdout181 2> log/7/stderr181 76 176: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 176 === Start of file http_server.log 02:01:27.098159 ====> Client connect 02:01:27.098192 accept_connection 3 returned 4 02:01:27.098209 accept_connection 3 returned 0 02:01:27.098351 Read 93 bytes 02:01:27.098367 Process 93 bytes request 02:01:27.098382 Got request: GET /verifiedserver HTTP/1.1 02:01:27.098391 Are-we-friendly question received 02:01:27.098426 Wrote request (93 bytes) input to log/8/server.input 02:01:27.098444 Identifying ourselves as friends 02:01:27.098519 Response sent (56 bytes) and written to log/8/server.response 02:01:27.098531 special request received, no persistency 02:01:27.098540 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 176 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind176 ==85363== ==85363== Process terminating with default action of signal 4 (SIGILL) ==85363== Illegal opcode at address 0x10B08D ==85363== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85363== by 0x10B08D: main (tool_main.c:232) === End of file valgrind176 test 0178...[HTTP response with negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind178 ../src/curl -q --output log/1/curl178.out --include --trace-ascii log/1/trace178 --trace-config all --trace-time http://127.0.0.1:34215/178 > log/1/stdout178 2> log/1/stderr178 178: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 178 === Start of file http_server.log 02:01:27.558554 ====> Client connect 02:01:27.558591 accept_connection 3 returned 4 02:01:27.558611 accept_connection 3 returned 0 02:01:27.558626 Read 93 bytes 02:01:27.558637 Process 93 bytes request 02:01:27.558652 Got request: GET /verifiedserver HTTP/1.1 02:01:27.558661 Are-we-friendly question received 02:01:27.558686 Wrote request (93 bytes) input to log/1/server.input 02:01:27.558704 Identifying ourselves as friends 02:01:27.558782 Response sent (56 bytes) and written to log/1/server.response 02:01:27.558794 special request received, no persistency 02:01:27.558804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 178 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind178 ==85656== ==85656== Process terminating with default action of signal 4 (SIGILL) ==85656== Illegal opcode at address 0x10B08D ==85656== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85656== by 0x10B08D: main (tool_main.c:232) === End of file valgrind178 test 0179...[HTTP using proxy and cookies with path checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind179 ../src/curl -q --output log/4/curl179.out --include --trace-ascii log/4/trace179 --trace-config all --trace-time http://supertrooper.fake/c/179 -b log/4/injar179 -x 127.0.0.1:36813 > log/4/stdout179 2> log/4/stderr179 179: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 179 === Start of file http_server.log 02:01:27.818760 ====> Client connect 02:01:27.818809 accept_connection 3 returned 4 02:01:27.818829 accept_connection 3 returned 0 02:01:27.818844 Read 93 bytes 02:01:27.818856 Process 93 bytes request 02:01:27.818874 Got request: GET /verifiedserver HTTP/1.1 02:01:27.818885 Are-we-friendly question received 02:01:27.818911 Wrote request (93 bytes) input to log/4/server.input 02:01:27.818933 Identifying ourselves as friends 02:01:27.819017 Response sent (56 bytes) and written to log/4/server.response 02:01:27.819033 special request received, no persistency 02:01:27.819044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file injar179 supertrooper.fake FALSE /a FALSE 22139150993 mooo indeed supertrooper.fake FALSE /b FALSE 0 moo1 indeed supertrooper.fake FALSE /c FALSE 22139150993 moo2 indeed === End of file injar179 === Start of file server.cmd Testnum 179 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind179 ==85723== ==85723== Process terminating with default action of signal 4 (SIGILL) ==85723== Illegal opcode at address 0x10B08D ==85723== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85723== by 0x10B08D: main (tool_main.c:232) === End of file valgrind179 test 0181...[HTTP 1.0 POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind181 ../src/curl -q --output log/7/curl181.out --include --trace-ascii log/7/trace181 --trace-config all --trace-time http://127.0.0.1:43753/we/want/181 --data-binary @log/7/test181.txt --http1.0 > log/7/stdout181 2> log/7/stderr181 181: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 181 === Start of file http_server.log 02:01:28.045233 ====> Client connect 02:01:28.045273 accept_connection 3 returned 4 02:01:28.045290 accept_connection 3 returned 0 02:01:28.045304 Read 93 bytes 02:01:28.045314 Process 93 bytes request 02:01:28.045327 Got request: GET /verifiedserver HTTP/1.1 02:01:28.045337 Are-we-friendly question received 02:01:28.045360 Wrote request (93 bytes) input to log/7/server.input 02:01:28.045377 Identifying ourselves as friends 02:01:28.045451 Response sent (56 bytes) and written to log/7/server.response 02:01:28.045462 special request received, no persistency 02:01:28.045471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 >CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind180 ../src/curl -q --output log/9/curl180.out --include --trace-ascii log/9/trace180 --trace-config all --trace-time http://127.0.0.1:38509/we/want/180 -T log/9/test180.txt --http1.0 > log/9/stdout180 2> log/9/stderr180 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind182 ../src/curl -q --output log/11/curl182.out --include --trace-ascii log/11/trace182 --trace-config all --trace-time ftp://127.0.0.1:45687/182 > log/11/stdout182 2> log/11/stderr182 User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 181 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file test181.txt Weird file to upload for testing the POST feature === End of file test181.txt === Start of file valgrind181 ==85814== ==85814== Process terminating with default action of signal 4 (SIGILL) ==85814== Illegal opcode at address 0x10B08D ==85814== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85814== by 0x10B08D: main (tool_main.c:232) === End of file valgrind181 test 0180...[HTTP 1.0 PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind180 ../src/curl -q --output log/9/curl180.out --include --trace-ascii log/9/trace180 --trace-config all --trace-time http://127.0.0.1:38509/we/want/180 -T log/9/test180.txt --http1.0 > log/9/stdout180 2> log/9/stderr180 180: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 180 === Start of file http_server.log 02:01:27.998788 ====> Client connect 02:01:27.998832 accept_connection 3 returned 4 02:01:27.998851 accept_connection 3 returned 0 02:01:27.998865 Read 93 bytes 02:01:27.998876 Process 93 bytes request 02:01:27.998891 Got request: GET /verifiedserver HTTP/1.1 02:01:27.998901 Are-we-friendly question received 02:01:27.998924 Wrote request (93 bytes) input to log/9/server.input 02:01:27.998942 Identifying ourselves as friends 02:01:27.999017 Response sent (56 bytes) and written to log/9/server.response 02:01:27.999029 special request received, no persistency 02:01:27.999039 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 180 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file test180.txt Weird file to upload for testing the PUT feature === End of file test180.txt === Start of file valgrind180 ==85782== ==85782== Process terminating with default action of signal 4 (SIGILL) ==85782== Illegal opcode at address 0x10B08D ==85782== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85782== by 0x10B08D: main (tool_main.c:232) === End of file valgrind180 test 0182...[FTP download an empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind182 ../src/curl -q --output log/11/curl182.out --include --trace-ascii log/11/trace182 --trace-config all --trace-time ftp://127.0.0.1:45687/182 > log/11/stdout182 2> log/11/stderr182 182: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 182 === Start of file ftp_server.log 02:01:27.954461 ====> Client connect 02:01:27.954630 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:27.956371 < "USER anonymous" 02:01:27.956419 > "331 We are happy you popped in![CR][LF]" 02:01:27.956646 < "PASS ftp@example.com" 02:01:27.956684 > "230 Welcome you silly person[CR][LF]" 02:01:27.956883 < "PWD" 02:01:27.956928 > "257 "/" is current directory[CR][LF]" 02:01:27.957122 < "EPSV" 02:01:27.957152 ====> Passive DATA channel requested by client 02:01:27.957168 DATA sockfilt for passive data channel starting... 02:01:27.966574 DATA sockfilt for passive data channel started (pid 85876) 02:01:27.966731 DATA sockfilt for passive data channel listens on port 44585 02:01:27.966790 > "229 Entering Passive Mode (|||44585|)[LF]" 02:01:27.966813 Client has been notified that DATA conn will be accepted on port 44585 02:01:27.967957 Client connects to port 44585 02:01:27.967993 ====> Client established passive DATA connection on port 44585 02:01:27.968140 < "TYPE I" 02:01:27.968182 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:27.968391 < "SIZE verifiedserver" 02:01:27.968435 > "213 17[CR][LF]" 02:01:27.968623 < "RETR verifiedserver" 02:01:27.968668 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:27.968765 =====> Closing passive DATA connection... 02:01:27.968785 Server disconnects passive DATA connection 02:01:27.969781 Server disconnected passive DATA connection 02:01:27.969812 DATA sockfilt for passive data channel quits (pid 85876) 02:01:27.970132 DATA sockfilt for passive data channel quit (pid 85876) 02:01:27.970161 =====> Closed passive DATA connection 02:01:27.970195 > "226 File transfer complete[CR][LF]" 02:01:28.018109 < "QUIT" 02:01:28.018157 > "221 bye bye baby[CR][LF]" 02:01:28.018927 MAIN sockfilt said DISC 02:01:28.018966 ====> Client disconnected 02:01:28.019020 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:28.151773 ====> Client connect 02:01:28.154793 Received DATA (on stdin) 02:01:28.154819 > 160 bytes data, server => client 02:01:28.154833 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:28.154845 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:28.154857 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:28.156344 < 16 bytes data, client => server 02:01:28.156367 'USER anonymous\r\n' 02:01:28.156568 Received DATA (on stdin) 02:01:28.156584 > 33 bytes data, server => client 02:01:28.156596 '331 We are happy you popped in!\r\n' 02:01:28.156665 < 22 bytes data, client => server 02:01:28.156683 'PASS ftp@example.com\r\n' 02:01:28.156830 Received DATA (on stdin) 02:01:28.156845 > 30 bytes data, server => client 02:01:28.156857 '230 Welcome you silly person\r\n' 02:01:28.156919 < 5 bytes data, client => server 02:01:28.156935 'PWD\r\n' 02:01:28.157072 Received DATA (on stdin) 02:01:28.157086 > 30 bytes data, server => client 02:01:28.157098 '257 "/" is current directory\r\n' 02:01:28.157166 < 6 bytes data, client => server 02:01:28.157181 'EPSV\r\n' 02:01:28.166970 Received DATA (on stdin) 02:01:28.166990 > 38 bytes data, server => client 02:01:28.167004 '229 Entering Passive Mode (|||44585|)\n' 02:01:28.168155 < 8 bytes data, client => server 02:01:28.168172 'TYPE I\r\n' 02:01:28.168328 Received DATA (on stdin) 02:01:28.168344 > 33 bytes data, server => client 02:01:28.168355 '200 I modify TYPE as you wanted\r\n' 02:01:28.168423 < 21 bytes data, client => server 02:01:28.168440 'SIZE verifiedserver\r\n' 02:01:28.168579 Received DATA (on stdin) 02:01:28.168593 > 8 bytes data, server => client 02:01:28.168604 '213 17\r\n' 02:01:28.168665 < 21 bytes data, client => server 02:01:28.168681 'RETR verifiedserver\r\n' 02:01:28.169714 Received DATA (on stdin) 02:01:28.169735 > 29 bytes data, server => client 02:01:28.169747 '150 Binary junk (17 bytes).\r\n' 02:01:28.170342 Received DATA (on stdin) 02:01:28.170358 > 28 bytes data, server => client 02:01:28.170370 '226 File transfer comCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind184 ../src/curl -q --output log/10/curl184.out --include --trace-ascii log/10/trace184 --trace-config all --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:42929 > log/10/stdout184 2> log/10/stderr184 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind185 ../src/curl -q --output log/6/curl185.out --include --trace-ascii log/6/trace185 --trace-config all --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:39457 > log/6/stdout185 2> log/6/stderr185 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind183 ../src/curl -q --output log/3/curl183.out --include --trace-ascii log/3/trace183 --trace-config all --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:34527 > log/3/stdout183 2> log/3/stderr183 plete\r\n' 02:01:28.218077 < 6 bytes data, client => server 02:01:28.218112 'QUIT\r\n' 02:01:28.218301 Received DATA (on stdin) 02:01:28.218315 > 18 bytes data, server => client 02:01:28.218326 '221 bye bye baby\r\n' 02:01:28.219009 ====> Client disconnect 02:01:28.219158 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:27.164663 Running IPv4 version 02:01:27.164739 Listening on port 44585 02:01:27.164776 Wrote pid 85876 to log/11/server/ftp_sockdata.pid 02:01:27.165843 Received PING (on stdin) 02:01:27.166763 Received PORT (on stdin) 02:01:27.168036 ====> Client connect 02:01:27.169783 Received DATA (on stdin) 02:01:27.169801 > 17 bytes data, server => client 02:01:27.169813 'WE ROOLZ: 80480\r\n' 02:01:27.169846 Received DISC (on stdin) 02:01:27.169863 ====> Client forcibly disconnected 02:01:27.170045 Received QUIT (on stdin) 02:01:27.170064 quits 02:01:27.170126 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 ==85930== ==85930== Process terminating with default action of signal 4 (SIGILL) ==85930== Illegal opcode at address 0x10B08D ==85930== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85930== by 0x10B08D: main (tool_main.c:232) === End of file valgrind182 test 0184...[HTTP replace Host: when following Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind184 ../src/curl -q --output log/10/curl184.out --include --trace-ascii log/10/trace184 --trace-config all --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:42929 > log/10/stdout184 2> log/10/stderr184 184: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 184 === Start of file http_server.log 02:01:28.275546 ====> Client connect 02:01:28.275577 accept_connection 3 returned 4 02:01:28.275593 accept_connection 3 returned 0 02:01:28.275608 Read 93 bytes 02:01:28.275618 Process 93 bytes request 02:01:28.275632 Got request: GET /verifiedserver HTTP/1.1 02:01:28.275642 Are-we-friendly question received 02:01:28.275684 Wrote request (93 bytes) input to log/10/server.input 02:01:28.275701 Identifying ourselves as friends 02:01:28.275765 Response sent (56 bytes) and written to log/10/server.response 02:01:28.275776 special request received, no persistency 02:01:28.275785 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 184 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind184 ==85973== ==85973== Process terminating with default action of signal 4 (SIGILL) ==85973== Illegal opcode at address 0x10B08D ==85973== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85973== by 0x10B08D: main (tool_main.c:232) === End of file valgrind184 test 0185...[HTTP replace Host: when following Location: on the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind185 ../src/curl -q --output log/6/curl185.out --include --trace-ascii log/6/trace185 --trace-config all --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:39457 > log/6/stdout185 2> log/6/stderr185 185: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 185 === Start of file http_server.log 02:01:28.354468 ====> Client connect 02:01:28.354503 accept_connection 3 returned 4 02:01:28.354520 accept_connection 3 returned 0 02:01:28.354534 Read 93 bytes 02:01:28.354545 Process 93 bytes request 02:01:28.354561 Got request: GET /verifiedserver HTTP/1.1 02:01:28.354572 Are-we-friendly question received 02:01:28.354596 Wrote request (93 bytes) input to log/6/server.input 02:01:28.354613 Identifying ourselves as friends 02:01:28.354681 Response sent (56 bytes) and written to log/6/server.response 02:01:28.354693 special request received, no persistency 02:01:28.354703 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 185 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind185 ==86050== ==86050== Process terminating with default action of signal 4 (SIGILL) ==86050== Illegal opcode at address 0x10B08D ==86050== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86050== by 0x10B08D: main (tool_main.c:232) === End of file valgrind185 test 0183...[HTTP GET two URLs over a single proxy with persistent connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind183 ../src/curl -q --output log/3/curl183.out --include --trace-ascii log/3/trace183 --trace-config all --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:34527 > log/3/stdout183 2> log/3/stderr183 183: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 183 === Start of file http_server.log 02:01:28.251342 ====> Client connect 02:01:28.251375 accept_connection 3 returned 4 02:01:28.251392 accept_connection 3 returned 0 02:01:28.251721 Read 93 bytes 02:01:28.251740 Process 93 bytes request 02:01:28.251756 Got request: GET /verifiedserver HTTP/1.1 02:01:28.251766 Are-we-friendly question received 02:01:28.251796 Wrote request (93 bytes) input to log/3/server.input 02:01:28.251816 Identifying ourselves as friends 02:01:28.251903 Response sent (56 bytes) and written to log/3/server.response 02:01:28.251914 special request received, no persistency 02:01:28.251924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 183 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind189 ../src/curl -q --output log/8/curl189.out --include --trace-ascii log/8/trace189 --trace-config all --trace-time http://127.0.0.1:43803/189 -C 50 -L > log/8/stdout189 2> log/8/stderr189 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind187 ../src/curl -q --output log/5/curl187.out --include --trace-ascii log/5/trace187 --trace-config all --trace-time http://127.0.0.1:33361?oh=what-weird=test/187 -L > log/5/stdout187 2> log/5/stderr187 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind186 ../src/curl -q --output log/12/curl186.out --include --trace-ascii log/12/trace186 --trace-config all --trace-time http://127.0.0.1:40653/we/want/186 -F "name=daniel;type=moo/foo" -F "html= hello;type=text/html;charset=verymoo" > log/12/stdout186 2> log/12/stderr186 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind188 ../src/curl -q --output log/2/curl188.out --include --trace-ascii log/2/trace188 --trace-config all --trace-time http://127.0.0.1:38781/188 -C 50 -L > log/2/stdout188 2> log/2/stderr188 Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind183 ==85963== ==85963== Process terminating with default action of signal 4 (SIGILL) ==85963== Illegal opcode at address 0x10B08D ==85963== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==85963== by 0x10B08D: main (tool_main.c:232) === End of file valgrind183 test 0189...[HTTP GET with resume and redirect (to a page that doesn't resume)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind189 ../src/curl -q --output log/8/curl189.out --include --trace-ascii log/8/trace189 --trace-config all --trace-time http://127.0.0.1:43803/189 -C 50 -L > log/8/stdout189 2> log/8/stderr189 189: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 189 === Start of file http_server.log 02:01:28.716916 ====> Client connect 02:01:28.716950 accept_connection 3 returned 4 02:01:28.716968 accept_connection 3 returned 0 02:01:28.716982 Read 93 bytes 02:01:28.716993 Process 93 bytes request 02:01:28.717012 Got request: GET /verifiedserver HTTP/1.1 02:01:28.717022 Are-we-friendly question received 02:01:28.717046 Wrote request (93 bytes) input to log/8/server.input 02:01:28.717063 Identifying ourselves as friends 02:01:28.717129 Response sent (56 bytes) and written to log/8/server.response 02:01:28.717139 special request received, no persistency 02:01:28.717148 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 189 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind189 ==86355== ==86355== Process terminating with default action of signal 4 (SIGILL) ==86355== Illegal opcode at address 0x10B08D ==86355== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86355== by 0x10B08D: main (tool_main.c:232) === End of file valgrind189 test 0187...[HTTP redirect with bad host name separation and slash in parameters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind187 ../src/curl -q --output log/5/curl187.out --include --trace-ascii log/5/trace187 --trace-config all --trace-time http://127.0.0.1:33361?oh=what-weird=test/187 -L > log/5/stdout187 2> log/5/stderr187 187: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 187 === Start of file http_server.log 02:01:28.495233 ====> Client connect 02:01:28.495271 accept_connection 3 returned 4 02:01:28.495290 accept_connection 3 returned 0 02:01:28.495305 Read 93 bytes 02:01:28.495317 Process 93 bytes request 02:01:28.495332 Got request: GET /verifiedserver HTTP/1.1 02:01:28.495342 Are-we-friendly question received 02:01:28.495366 Wrote request (93 bytes) input to log/5/server.input 02:01:28.495382 Identifying ourselves as friends 02:01:28.495451 Response sent (56 bytes) and written to log/5/server.response 02:01:28.495461 special request received, no persistency 02:01:28.495469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 187 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind187 ==86213== ==86213== Process terminating with default action of signal 4 (SIGILL) ==86213== Illegal opcode at address 0x10B08D ==86213== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86213== by 0x10B08D: main (tool_main.c:232) === End of file valgrind187 test 0186...[HTTP RFC1867-type formposting with types on text fields] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind186 ../src/curl -q --output log/12/curl186.out --include --trace-ascii log/12/trace186 --trace-config all --trace-time http://127.0.0.1:40653/we/want/186 -F "name=daniel;type=moo/foo" -F "html= hello;type=text/html;charset=verymoo" > log/12/stdout186 2> log/12/stderr186 186: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 186 === Start of file http_server.log 02:01:28.435450 ====> Client connect 02:01:28.435485 accept_connection 3 returned 4 02:01:28.435502 accept_connection 3 returned 0 02:01:28.435516 Read 93 bytes 02:01:28.435527 Process 93 bytes request 02:01:28.435546 Got request: GET /verifiedserver HTTP/1.1 02:01:28.435555 Are-we-friendly question received 02:01:28.435578 Wrote request (93 bytes) input to log/12/server.input 02:01:28.435595 Identifying ourselves as friends 02:01:28.435670 Response sent (56 bytes) and written to log/12/server.response 02:01:28.435682 special request received, no persistency 02:01:28.435692 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 186 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind186 ==86128== ==86128== Process terminating with default action of signal 4 (SIGILL) ==86128== Illegal opcode at address 0x10B08D ==86128== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86128== by 0x10B08D: main (tool_main.c:232) === End of file valgrind186 test 0188...[HTTP GET with resume and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind188 ../src/curl -q --output log/2/curl188.out --include --trace-ascii log/2/trace188 --trace-config all --trace-time http://127.0.0.1:38781/188 -C 50 -L > log/2/stdout188 2> log/2/stderr188 188: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 188 === Start of file http_server.log 02:01:28.582101 ====> Client connect 02:01:28.582162 accept_connection 3 returned 4 02:01:28.582186 accept_connection 3 returneCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind190 ../src/curl -q --output log/1/curl190.out --include --trace-ascii log/1/trace190 --trace-config all --trace-time ftp://127.0.0.1:45039/path/to/file/190 -m 10 > log/1/stdout190 2> log/1/stderr190 * kill pid for ftp-ctrl => 80477 RUN: Process with pid 80463 signalled to die RUN: Process with pid 80463 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind194 ../src/curl -q --output log/11/curl194.out --include --trace-ascii log/11/trace194 --trace-config all --trace-time http://127.0.0.1:44137/want/194 -C 87 --fail > log/11/stdout194 2> log/11/stderr194 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind191 ../src/curl -q --output log/4/curl191.out --include --trace-ascii log/4/trace191 --trace-config all --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:34583/191" > log/4/stdout191 2> log/4/stderr191 d 0 02:01:28.582203 Read 93 bytes 02:01:28.582216 Process 93 bytes request 02:01:28.582233 Got request: GET /verifiedserver HTTP/1.1 02:01:28.582245 Are-we-friendly question received 02:01:28.582276 Wrote request (93 bytes) input to log/2/server.input 02:01:28.582298 Identifying ourselves as friends 02:01:28.582388 Response sent (56 bytes) and written to log/2/server.response 02:01:28.582404 special request received, no persistency 02:01:28.582415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 188 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind188 ==86258== ==86258== Process terminating with default action of signal 4 (SIGILL) ==86258== Illegal opcode at address 0x10B08D ==86258== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86258== by 0x10B08D: main (tool_main.c:232) === End of file valgrind188 test 0190...[FTP download with strict timeout and slow CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind190 ../src/curl -q --output log/1/curl190.out --include --trace-ascii log/1/trace190 --trace-config all --trace-time ftp://127.0.0.1:45039/path/to/file/190 -m 10 > log/1/stdout190 2> log/1/stderr190 190: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 190 === Start of file ftp_server.log 02:01:28.865166 ====> Client connect 02:01:28.865329 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:28.874382 < "USER anonymous" 02:01:28.874435 > "331 We are happy you popped in![CR][LF]" 02:01:28.878532 < "PASS ftp@example.com" 02:01:28.878580 > "230 Welcome you silly person[CR][LF]" 02:01:28.878792 < "PWD" 02:01:28.878835 > "257 "/" is current directory[CR][LF]" 02:01:28.892701 < "EPSV" 02:01:28.892747 ====> Passive DATA channel requested by client 02:01:28.892763 DATA sockfilt for passive data channel starting... 02:01:28.901781 DATA sockfilt for passive data channel started (pid 86446) 02:01:28.901916 DATA sockfilt for passive data channel listens on port 36645 02:01:28.901962 > "229 Entering Passive Mode (|||36645|)[LF]" 02:01:28.901978 Client has been notified that DATA conn will be accepted on port 36645 02:01:28.905390 Client connects to port 36645 02:01:28.905435 ====> Client established passive DATA connection on port 36645 02:01:28.905537 < "TYPE I" 02:01:28.905576 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:28.910446 < "SIZE verifiedserver" 02:01:28.910496 > "213 17[CR][LF]" 02:01:28.910648 < "RETR verifiedserver" 02:01:28.910680 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:28.910764 =====> Closing passive DATA connection... 02:01:28.910778 Server disconnects passive DATA connection 02:01:28.911007 Server disconnected passive DATA connection 02:01:28.911032 DATA sockfilt for passive data channel quits (pid 86446) 02:01:28.911269 DATA sockfilt for passive data channel quit (pid 86446) 02:01:28.911287 =====> Closed passive DATA connection 02:01:28.911314 > "226 File transfer complete[CR][LF]" 02:01:28.958554 < "QUIT" 02:01:28.958638 > "221 bye bye baby[CR][LF]" 02:01:28.959899 MAIN sockfilt said DISC 02:01:28.959938 ====> Client disconnected 02:01:28.960000 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:29.065177 ====> Client connect 02:01:29.065485 Received DATA (on stdin) 02:01:29.065505 > 160 bytes data, server => client 02:01:29.065518 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:29.065531 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:29.065543 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:29.071863 < 16 bytes data, client => server 02:01:29.071889 'USER anonymous\r\n' 02:01:29.074581 Received DATA (on stdin) 02:01:29.074596 > 33 bytes data, server => client 02:01:29.074607 '331 We are happy you popped in!\r\n' 02:01:29.078524 < 22 bytes data, client => server 02:01:29.078548 'PASS ftp@example.com\r\n' 02:01:29.078725 Received DATA (on stdin) 02:01:29.078738 > 30 bytes data, server => client 02:01:29.078749 '230 Welcome you silly person\r\n' 02:01:29.078820 < 5 bytes data, client => server 02:01:29.078836 'PWD\r\n' 02:01:29.078982 Received DATA (on stdin) 02:01:29.078998 > 30 bytes data, server => client 02:01:29.079010 '257 "/" is current directory\r\n' 02:01:29.091867 < 6 bytes data, client => server 02:01:29.091899 'EPSV\r\n' 02:01:29.105169 Received DATA (on stdin) 02:01:29.105195 > 38 bytes data, server => client 02:01:29.105209 '229 Entering Passive Mode (|||36645|)\n' 02:01:29.105427 < 8 bytes data, client => server 02:01:29.105450 'TYPE I\r\n' 02:01:29.110357 Received DATA (on stdin) 02:01:29.110383 > 33 bytes data, server => client 02:01:29.110395 '200 I modify TYPE as you wanted\r\n' 02:01:29.110469 < 21 bytes data, client => server 02:01:29.110481 'SIZE verifiedserver\r\n' 02:01:29.110637 Received DATA (on stdin) 02:01:29.110648 > 8 bytes data, server => client 02:01:29.110658 '213 17\r\n' 02:01:29.110708 < 21 bytes data, client => server 02:01:29.110719 'RETR verifiedserver\r\n' 02:01:29.111014 Received DATA (on stdin) 02:01:29.111026 > 29 bytes data, server => client 02:01:29.111037 '150 Binary junk (17 bytes).\r\n' 02:01:29.111454 Received DATA (on stdin) 02:01:29.111467 > 28 bytes data, server => client 02:01:29.111477 '226 File transfer complete\r\n' 02:01:29.158514 < 6 bytes data, client => server 02:01:29.158547 'QUIT\r\n' 02:01:29.158723 Received DATA (on stdin) 02:01:29.158737 > 18 bytes data, server => client 02:01:29.158782 '221 bye bye baby\r\n' 02:01:29.159592 ====> Client disconnect 02:01:29.160139 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:28.096297 Running IPv4 version 02:01:28.096376 Listening on port 36645 02:01:28.096414 Wrote pid 86446 to log/1/server/ftp_sockdata.pid 02:01:28.101841 Received PING (on stdin) 02:01:28.101959 Received PORT (on stdin) 02:01:28.105475 ====> Client connect 02:01:28.110919 Received DATA (on stdin) 02:01:28.110934 > 17 bytes data, server => client 02:01:28.110945 'WE ROOLZ: 80463\r\n' 02:01:28.110977 Received DISC (on stdin) 02:01:28.110989 ====> Client forcibly disconnected 02:01:28.111180 Received QUIT (on stdin) 02:01:28.111191 quits 02:01:28.111252 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY CWD 60 Testnum 190 === End of file server.cmd === Start of file valgrind190 ==86472== ==86472== Process terminating with default action of signal 4 (SIGILL) ==86472== Illegal opcode at address 0x10B08D ==86472== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86472== by 0x10B08D: main (tool_main.c:232) === End of file valgrind190 test 0191...[FTP URL with ?-letters in username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind191 ../src/curl -q --output log/4/curl191.out --include --trace-ascii log/4/trace191 --trace-config all --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:34583/191" > log/4/stdout191 2> log/4/stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind192 ../src/curl -q --include --trace-ascii log/7/trace192 --trace-config all --trace-time http://127.0.0.1:43753/192 -w "%{num_connects}\n" > log/7/stdout192 2> log/7/stderr192 err191 191: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 191 === Start of file ftp_server.log 02:01:29.082588 ====> Client connect 02:01:29.082750 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:29.083008 < "USER anonymous" 02:01:29.083038 > "331 We are happy you popped in![CR][LF]" 02:01:29.083193 < "PASS ftp@example.com" 02:01:29.083217 > "230 Welcome you silly person[CR][LF]" 02:01:29.083352 < "PWD" 02:01:29.083380 > "257 "/" is current directory[CR][LF]" 02:01:29.083521 < "EPSV" 02:01:29.083542 ====> Passive DATA channel requested by client 02:01:29.083555 DATA sockfilt for passive data channel starting... 02:01:29.089307 DATA sockfilt for passive data channel started (pid 86483) 02:01:29.089405 DATA sockfilt for passive data channel listens on port 36405 02:01:29.089440 > "229 Entering Passive Mode (|||36405|)[LF]" 02:01:29.089455 Client has been notified that DATA conn will be accepted on port 36405 02:01:29.089698 Client connects to port 36405 02:01:29.089727 ====> Client established passive DATA connection on port 36405 02:01:29.089794 < "TYPE I" 02:01:29.089820 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:29.089965 < "SIZE verifiedserver" 02:01:29.089999 > "213 17[CR][LF]" 02:01:29.090150 < "RETR verifiedserver" 02:01:29.090187 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:29.090270 =====> Closing passive DATA connection... 02:01:29.090290 Server disconnects passive DATA connection 02:01:29.090525 Server disconnected passive DATA connection 02:01:29.090555 DATA sockfilt for passive data channel quits (pid 86483) 02:01:29.090755 DATA sockfilt for passive data channel quit (pid 86483) 02:01:29.090777 =====> Closed passive DATA connection 02:01:29.090803 > "226 File transfer complete[CR][LF]" 02:01:29.138680 < "QUIT" 02:01:29.138735 > "221 bye bye baby[CR][LF]" 02:01:29.141452 MAIN sockfilt said DISC 02:01:29.141495 ====> Client disconnected 02:01:29.141564 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:29.281842 ====> Client connect 02:01:29.282897 Received DATA (on stdin) 02:01:29.282913 > 160 bytes data, server => client 02:01:29.282926 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:29.282937 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:29.282949 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:29.283020 < 16 bytes data, client => server 02:01:29.283031 'USER anonymous\r\n' 02:01:29.283178 Received DATA (on stdin) 02:01:29.283189 > 33 bytes data, server => client 02:01:29.283201 '331 We are happy you popped in!\r\n' 02:01:29.283253 < 22 bytes data, client => server 02:01:29.283264 'PASS ftp@example.com\r\n' 02:01:29.283354 Received DATA (on stdin) 02:01:29.283364 > 30 bytes data, server => client 02:01:29.283375 '230 Welcome you silly person\r\n' 02:01:29.283419 < 5 bytes data, client => server 02:01:29.283430 'PWD\r\n' 02:01:29.283517 Received DATA (on stdin) 02:01:29.283528 > 30 bytes data, server => client 02:01:29.283539 '257 "/" is current directory\r\n' 02:01:29.283590 < 6 bytes data, client => server 02:01:29.283600 'EPSV\r\n' 02:01:29.289599 Received DATA (on stdin) 02:01:29.289613 > 38 bytes data, server => client 02:01:29.289625 '229 Entering Passive Mode (|||36405|)\n' 02:01:29.289788 < 8 bytes data, client => server 02:01:29.289799 'TYPE I\r\n' 02:01:29.289957 Received DATA (on stdin) 02:01:29.289968 > 33 bytes data, server => client 02:01:29.289979 '200 I modify TYPE as you wanted\r\n' 02:01:29.290028 < 21 bytes data, client => server 02:01:29.290039 'SIZE verifiedserver\r\n' 02:01:29.290137 Received DATA (on stdin) 02:01:29.290148 > 8 bytes data, server => client 02:01:29.290158 '213 17\r\n' 02:01:29.290202 < 21 bytes data, client => server 02:01:29.290218 'RETR verifiedserver\r\n' 02:01:29.290529 Received DATA (on stdin) 02:01:29.290542 > 29 bytes data, server => client 02:01:29.290553 '150 Binary junk (17 bytes).\r\n' 02:01:29.290942 Received DATA (on stdin) 02:01:29.290954 > 28 bytes data, server => client 02:01:29.290966 '226 File transfer complete\r\n' 02:01:29.338631 < 6 bytes data, client => server 02:01:29.338662 'QUIT\r\n' 02:01:29.338883 Received DATA (on stdin) 02:01:29.338897 > 18 bytes data, server => client 02:01:29.338908 '221 bye bye baby\r\n' 02:01:29.341335 ====> Client disconnect 02:01:29.341728 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:29.289163 Running IPv4 version 02:01:29.289222 Listening on port 36405 02:01:29.289262 Wrote pid 86483 to log/4/server/ftp_sockdata.pid 02:01:29.289392 Received PING (on stdin) 02:01:29.289466 Received PORT (on stdin) 02:01:29.289762 ====> Client connect 02:01:29.290432 Received DATA (on stdin) 02:01:29.290446 > 17 bytes data, server => client 02:01:29.290457 'WE ROOLZ: 80536\r\n' 02:01:29.290489 Received DISC (on stdin) 02:01:29.290503 ====> Client forcibly disconnected 02:01:29.290705 Received QUIT (on stdin) 02:01:29.290718 quits 02:01:29.290772 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 ==86556== ==86556== Process terminating with default action of signal 4 (SIGILL) ==86556== Illegal opcode at address 0x10B08D ==86556== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86556== by 0x10B08D: main (tool_main.c:232) === End of file valgrind191 test 0194...[HTTP resume transfer with the whole file already downloaded and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind194 ../src/curl -q --output log/11/curl194.out --include --trace-ascii log/11/trace194 --trace-config all --trace-time http://127.0.0.1:44137/want/194 -C 87 --fail > log/11/stdout194 2> log/11/stderr194 194: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 194 === Start of file http_server.log 02:01:29.452595 ====> Client connect 02:01:29.452707 accept_connection 3 returned 4 02:01:29.452729 accept_connection 3 returned 0 02:01:29.452745 Read 93 bytes 02:01:29.452756 Process 93 bytes request 02:01:29.452771 Got request: GET /verifiedserver HTTP/1.1 02:01:29.452781 Are-we-friendly question received 02:01:29.452810 Wrote request (93 bytes) input to log/11/server.input 02:01:29.452828 Identifying ourselves as friends 02:01:29.452902 Response sent (56 bytes) and written to log/11/server.response 02:01:29.452915 special request received, no persistency 02:01:29.452925 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 194 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind194 ==86608== ==86608== Process terminating with default action of signal 4 (SIGILL) ==86608== Illegal opcode at address 0x10B08D ==86608== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86608== by 0x10B08D: main (tool_main.c:232) === End of file valgrind194 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind197 ../src/curl -q --include --trace-ascii log/3/trace197 --trace-config all --trace-time http://127.0.0.1:34527/197 --retry 1000 > log/3/stdout197 2> log/3/stderr197 test 0192...[HTTP GET -w num_connects with one simple connect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind192 ../src/curl -q --include --trace-ascii log/7/trace192 --trace-config all --trace-time http://127.0.0.1:43753/192 -w "%{num_connects}\n" > log/7/stdout192 2> log/7/stderr192 192: stdout FAILED: --- log/7/check-expected 2024-12-15 02:01:30.598283687 +0000 +++ log/7/check-generated 2024-12-15 02:01:30.598283687 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -[LF] -monster[LF] -1[LF] == Contents of files in the log/7/ dir after test 192 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] [LF] monster[LF] 1[LF] === End of file check-expected === Start of file http_server.log 02:01:29.278205 ====> Client connect 02:01:29.278240 accept_connection 3 returned 4 02:01:29.278257 accept_connection 3 returned 0 02:01:29.278271 Read 93 bytes 02:01:29.278282 Process 93 bytes request 02:01:29.278296 Got request: GET /verifiedserver HTTP/1.1 02:01:29.278306 Are-we-friendly question received 02:01:29.278337 Wrote request (93 bytes) input to log/7/server.input 02:01:29.278353 Identifying ourselves as friends 02:01:29.278425 Response sent (56 bytes) and written to log/7/server.response 02:01:29.278436 special request received, no persistency 02:01:29.278445 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 192 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind192 ==86488== ==86488== Process terminating with default action of signal 4 (SIGILL) ==86488== Illegal opcode at address 0x10B08D ==86488== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86488== by 0x10B08D: main (tool_main.c:232) === End of file valgrind192 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind195 ../src/curl -q --output log/10/curl195.out --include --trace-ascii log/10/trace195 --trace-config all --trace-time ftp://127.0.0.1:42661/195 > log/10/stdout195 2> log/10/stderr195 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind198 ../src/curl -q --output log/8/curl198.out --include --trace-ascii log/8/trace198 --trace-config all --trace-time http://127.0.0.1:43803/198 --retry 1000 > log/8/stdout198 2> log/8/stderr198 test 0197...[HTTP GET --retry on 503 error with output to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind197 ../src/curl -q --include --trace-ascii log/3/trace197 --trace-config all --trace-time http://127.0.0.1:34527/197 --retry 1000 > log/3/stdout197 2> log/3/stderr197 197: stdout FAILED: --- log/3/check-expected 2024-12-15 02:01:30.721619246 +0000 +++ log/3/check-generated 2024-12-15 02:01:30.721619246 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 503 BAD swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 21[LF] -[LF] -server not available[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Connection: close[LF] -[LF] -ok[LF] == Contents of files in the log/3/ dir after test 197 === Start of file check-expected HTTP/1.1 503 BAD swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 21[LF] [LF] server not available[LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Connection: close[LF] [LF] ok[LF] === End of file check-expected === Start of file http_server.log 02:01:29.714505 ====> Client connect 02:01:29.714541 accept_connection 3 returned 4 02:01:29.714560 accept_connection 3 returned 0 02:01:29.714701 Read 93 bytes 02:01:29.714720 Process 93 bytes request 02:01:29.714736 Got request: GET /verifiedserver HTTP/1.1 02:01:29.714746 Are-we-friendly question received 02:01:29.714774 Wrote request (93 bytes) input to log/3/server.input 02:01:29.714796 Identifying ourselves as friends 02:01:29.714874 Response sent (56 bytes) and written to log/3/server.response 02:01:29.714889 special request received, no persistency 02:01:29.714900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 197 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind197 ==86817== ==86817== Process terminating with default action of signal 4 (SIGILL) ==86817== Illegal opcode at address 0x10B08D ==86817== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86817== by 0x10B08D: main (tool_main.c:232) === End of file valgrind197 test 0195...[FTP response 530 after PASS, temporarily not allowed access] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind195 ../src/curl -q --output log/10/curl195.out --include --trace-ascii log/10/trace195 --trace-config all --trace-time ftp://127.0.0.1:42661/195 > log/10/stdout195 2> log/10/stderr195 195: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 195 === Start of file ftp_server.log 02:01:29.504648 ====> Client connect 02:01:29.504812 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:29.505117 < "USER anonymous" 02:01:29.505162 > "331 We are happy you popped in![CR][LF]" 02:01:29.507146 < "PASS ftp@example.com" 02:01:29.507185 > "230 Welcome you silly person[CR][LF]" 02:01:29.507364 < "PWD" 02:01:29.507400 > "257 "/" is current directory[CR][LF]" 02:01:29.507580 < "EPSV" 02:01:29.507606 ====> Passive DATA channel requested by client 02:01:29.507619 DATA sockfilt for passive data channel starting... 02:01:29.518800 DATA sockfilt for passive data channel started (pid 86803) 02:01:29.518917 DATA sockfilt for passive data channel listens on port 41853 02:01:29.518959 > "229 Entering Passive Mode (|||41853|)[LF]" 02:01:29.518973 Client has been notified that DATA conn will be accepted on port 41853 02:01:29.519237 Client connects to port 41853 02:01:29.519268 ====> Client established passive DATA connection on port 41853 02:01:29.519345 < "TYPE I" 02:01:29.519374 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:29.519528 < "SIZE verifiedserver" 02:01:29.519562 > "213 17[CR][LF]" 02:01:29.519694 < "RETR verifiedserver" 02:01:29.519721 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:29.519795 =====> Closing passive DATA connection... 02:01:29.519808 Server disconnects passive DATA connection 02:01:29.520020 Server disconnected passive DATA connection 02:01:29.520043 DATA sockfilt for passive data channel quits (pid 86803) 02:01:29.521460 DATA sockfilt for passive data channel quit (pid 86803) 02:01:29.521486 =====> Closed passive DATA connection 02:01:29.521512 > "226 File transfer complete[CR][LF]" 02:01:29.572009 < "QUIT" 02:01:29.572064 > "221 bye bye baby[CR][LF]" 02:01:29.573367 MAIN sockfilt said DISC 02:01:29.573407 ====> Client disconnected 02:01:29.573479 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:29.704670 ====> Client connect 02:01:29.704968 Received DATA (on stdin) 02:01:29.704985 > 160 bytes data, server => client 02:01:29.705001 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:29.705014 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:29.705025 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:29.705101 < 16 bytes data, client => server 02:01:29.705115 'USER anonymous\r\n' 02:01:29.705307 Received DATA (on stdin) 02:01:29.705321 > 33 bytes data, server => client 02:01:29.705332 '331 We are happy you popped in!\r\n' 02:01:29.705390 < 22 bytes data, client => server 02:01:29.705406 'PASS ftp@example.com\r\n' 02:01:29.707327 Received DATA (on stdin) 02:01:29.707340 > 30 bytes data, server => client 02:01:29.707353 '230 Welcome you silly person\r\n' 02:01:29.707410 < 5 bytes data, client => server 02:01:29.707420 'PWD\r\n' 02:01:29.707541 Received DATA (on stdin) 02:01:29.707553 > 30 bytes data, server => client 02:01:29.707564 '257 "/" is current directory\r\n' 02:01:29.707626 < 6 bytes data, client => server 02:01:29.707640 'EPSV\r\n' 02:01:29.719118 Received DATA (on stdin) 02:01:29.719135 > 38 bytes data, server => client 02:01:29.719146 '229 Entering Passive Mode (|||41853|)\n' 02:01:29.719295 < 8 bytes data, client => server 02:01:29.719311 'TYPE I\r\n' 02:01:29.719513 Received DATA (on stdin) 02:01:29.719524 > 33 bytes data, server => client 02:01:29.719535 '200 I modify TYPE as you wanted\r\n' 02:01:29.719588 < 21 bytes data, client => server 02:01:29.719598 'SIZE verifiedserver\r\n' 02:01:29.719699 Received DATA (on stdin) 02:01:29.719708 > 8 bytes data, server => client 02:01:29.719717 '213 17\r\n' 02:01:29.719761 < 21 bytes data, client => server 02:01:29.719771 'RETR verifiedserver\r\n' 02:01:29.719945 Received DATA (on stdin) 02:01:29.719955 > 29 bytes data, server => client 02:01:29.719964 '150 Binary junk (17 bytes).\r\n' 02:01:29.721652 Received DATA (on stdin) 02:01:29.721664 > 28 bytes data, server => client 02:01:29.721674 '226 File transfer complete\r\n' 02:01:29.771957 < 6 bytes data, client => server 02:01:29.771992 'QUIT\r\n' 02:01:29.772209 Received DATA (on stdin) 02:01:29.772223 > 18 bytes data, server => client 02:01:29.772234 '221 bye bye baby\r\n' 02:01:29.773447 ====> Client disconnect 02:01:29.773621 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:29.715343 Running IPv4 version 02:01:29.715401 Listening on port 41853 02:01:29.715445 Wrote pidCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind193 ../src/curl -q --include --trace-ascii log/9/trace193 --trace-config all --trace-time http://127.0.0.1:38509/193 -w "%{num_connects}\n" -L > log/9/stdout193 2> log/9/stderr193 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind200 ../src/curl -q --output log/12/curl200.out --trace-ascii log/12/trace200 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/12/test200.txt > log/12/stdout200 2> log/12/stderr200 86803 to log/10/server/ftp_sockdata.pid 02:01:29.718869 Received PING (on stdin) 02:01:29.718964 Received PORT (on stdin) 02:01:29.719330 ====> Client connect 02:01:29.720008 Received DATA (on stdin) 02:01:29.720021 > 17 bytes data, server => client 02:01:29.720031 'WE ROOLZ: 80449\r\n' 02:01:29.720057 Received DISC (on stdin) 02:01:29.720068 ====> Client forcibly disconnected 02:01:29.720187 Received QUIT (on stdin) 02:01:29.720197 quits 02:01:29.720243 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 530 temporarily not available Testnum 195 === End of file server.cmd === Start of file valgrind195 ==86894== ==86894== Process terminating with default action of signal 4 (SIGILL) ==86894== Illegal opcode at address 0x10B08D ==86894== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86894== by 0x10B08D: main (tool_main.c:232) === End of file valgrind195 test 0198...[HTTP GET --retry on 503 error with output to file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind198 ../src/curl -q --output log/8/curl198.out --include --trace-ascii log/8/trace198 --trace-config all --trace-time http://127.0.0.1:43803/198 --retry 1000 > log/8/stdout198 2> log/8/stderr198 198: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 198 === Start of file http_server.log 02:01:29.721186 ====> Client connect 02:01:29.721220 accept_connection 3 returned 4 02:01:29.721238 accept_connection 3 returned 0 02:01:29.721365 Read 93 bytes 02:01:29.721382 Process 93 bytes request 02:01:29.721396 Got request: GET /verifiedserver HTTP/1.1 02:01:29.721406 Are-we-friendly question received 02:01:29.721434 Wrote request (93 bytes) input to log/8/server.input 02:01:29.721454 Identifying ourselves as friends 02:01:29.721528 Response sent (56 bytes) and written to log/8/server.response 02:01:29.721540 special request received, no persistency 02:01:29.721549 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 198 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind198 ==86830== ==86830== Process terminating with default action of signal 4 (SIGILL) ==86830== Illegal opcode at address 0x10B08D ==86830== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86830== by 0x10B08D: main (tool_main.c:232) === End of file valgrind198 test 0193...[HTTP GET -w num_connects with redirected fetch (2 connects)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind193 ../src/curl -q --include --trace-ascii log/9/trace193 --trace-config all --trace-time http://127.0.0.1:38509/193 -w "%{num_connects}\n" -L > log/9/stdout193 2> log/9/stderr193 193: stdout FAILED: --- log/9/check-expected 2024-12-15 02:01:30.818287656 +0000 +++ log/9/check-generated 2024-12-15 02:01:30.818287656 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -Location: ./193[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -[LF] -monster[LF] -2[LF] == Contents of files in the log/9/ dir after test 193 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] Location: ./193[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] [LF] monster[LF] 2[LF] === End of file check-expected === Start of file http_server.log 02:01:29.433764 ====> Client connect 02:01:29.433803 accept_connection 3 returned 4 02:01:29.433822 accept_connection 3 returned 0 02:01:29.433837 Read 93 bytes 02:01:29.433847 Process 93 bytes request 02:01:29.433862 Got request: GET /verifiedserver HTTP/1.1 02:01:29.433871 Are-we-friendly question received 02:01:29.433895 Wrote request (93 bytes) input to log/9/server.input 02:01:29.433913 Identifying ourselves as friends 02:01:29.433996 Response sent (56 bytes) and written to log/9/server.response 02:01:29.434012 special request received, no persistency 02:01:29.434023 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 193 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind193 ==86618== ==86618== Process terminating with default action of signal 4 (SIGILL) ==86618== Illegal opcode at address 0x10B08D ==86618== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86618== by 0x10B08D: main (tool_main.c:232) === End of file valgrind193 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind199 ../src/curl -q --output log/5/curl199.out --include --trace-ascii log/5/trace199 --trace-config all --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:33361/{199,199}" -G > log/5/stdout199 2> log/5/stderr199 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind196 ../src/curl -q --include --trace-ascii log/6/trace196 --trace-config all --trace-time ftp://127.0.0.1:40433/196 --retry 1 -w '%{num_retries}\n' > log/6/stdout196 2> log/6/stderr196 test 0200...[basic file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind200 ../src/curl -q --output log/12/curl200.out --trace-ascii log/12/trace200 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/12/test200.txt > log/12/stdout200 2> log/12/stderr200 200: data FAILED: --- log/12/check-expected 2024-12-15 02:01:30.838288017 +0000 +++ log/12/check-generated 2024-12-15 02:01:30.838288017 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/12/ dir after test 200 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file server.cmd Testnum 200 === End of file server.cmd === Start of file test200.txt foo bar bar foo moo === End of file test200.txt === Start of file valgrind200 ==86938== ==86938== Process terminating with default action of signal 4 (SIGILL) ==86938== Illegal opcode at address 0x10B08D ==86938== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86938== by 0x10B08D: main (tool_main.c:232) === End of file valgrind200 test 0199...[HTTP with -d, -G and {}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind199 ../src/curl -q --output log/5/curl199.out --include --trace-ascii log/5/trace199 --trace-config all --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:33361/{199,199}" -G > log/5/stdout199 2> log/5/stderr199 199: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 199 === Start of file http_server.log 02:01:29.796435 ====> Client connect 02:01:29.796469 accept_connection 3 returned 4 02:01:29.796487 accept_connection 3 returned 0 02:01:29.796501 Read 93 bytes 02:01:29.796512 Process 93 bytes request 02:01:29.796526 Got request: GET /verifiedserver HTTP/1.1 02:01:29.796537 Are-we-friendly question received 02:01:29.796560 Wrote request (93 bytes) input to log/5/server.input 02:01:29.796579 Identifying ourselves as friends 02:01:29.796651 Response sent (56 bytes) and written to log/5/server.response 02:01:29.796664 special request received, no persistency 02:01:29.796675 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 199 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind199 ==86885== ==86885== Process terminating with default action of signal 4 (SIGILL) ==86885== Illegal opcode at address 0x10B08D ==86885== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86885== by 0x10B08D: main (tool_main.c:232) === End of file valgrind199 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind201 ../src/curl -q --output log/2/curl201.out --include --trace-ascii log/2/trace201 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/2/non-existent-file.txt > log/2/stdout201 2> log/2/stderr201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind202 ../src/curl -q --trace-ascii log/1/trace202 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/1/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/1/test202.txt > log/1/stdout202 2> log/1/stderr202 test 0196...[FTP transient error, retry request once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind196 ../src/curl -q --include --trace-ascii log/6/trace196 --trace-config all --trace-time ftp://127.0.0.1:40433/196 --retry 1 -w '%{num_retries}\n' > log/6/stdout196 2> log/6/stderr196 196: stdout FAILED: --- log/6/check-expected 2024-12-15 02:01:31.004957691 +0000 +++ log/6/check-generated 2024-12-15 02:01:31.004957691 +0000 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/6/ dir after test 196 === Start of file check-expected 1[LF] === End of file check-expected === Start of file ftp_server.log 02:01:29.459422 ====> Client connect 02:01:29.459594 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:29.459915 < "USER anonymous" 02:01:29.459962 > "331 We are happy you popped in![CR][LF]" 02:01:29.461282 < "PASS ftp@example.com" 02:01:29.461322 > "230 Welcome you silly person[CR][LF]" 02:01:29.462054 < "PWD" 02:01:29.462099 > "257 "/" is current directory[CR][LF]" 02:01:29.462830 < "EPSV" 02:01:29.462861 ====> Passive DATA channel requested by client 02:01:29.462878 DATA sockfilt for passive data channel starting... 02:01:29.485285 DATA sockfilt for passive data channel started (pid 86766) 02:01:29.485429 DATA sockfilt for passive data channel listens on port 35405 02:01:29.485489 > "229 Entering Passive Mode (|||35405|)[LF]" 02:01:29.485508 Client has been notified that DATA conn will be accepted on port 35405 02:01:29.485807 Client connects to port 35405 02:01:29.485843 ====> Client established passive DATA connection on port 35405 02:01:29.485936 < "TYPE I" 02:01:29.485982 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:29.486191 < "SIZE verifiedserver" 02:01:29.486239 > "213 17[CR][LF]" 02:01:29.487104 < "RETR verifiedserver" 02:01:29.487141 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:29.487230 =====> Closing passive DATA connection... 02:01:29.487247 Server disconnects passive DATA connection 02:01:29.487508 Server disconnected passive DATA connection 02:01:29.487536 DATA sockfilt for passive data channel quits (pid 86766) 02:01:29.487739 DATA sockfilt for passive data channel quit (pid 86766) 02:01:29.487974 =====> Closed passive DATA connection 02:01:29.488010 > "226 File transfer complete[CR][LF]" 02:01:29.528754 < "QUIT" 02:01:29.528802 > "221 bye bye baby[CR][LF]" 02:01:29.532634 MAIN sockfilt said DISC 02:01:29.532692 ====> Client disconnected 02:01:29.532768 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:29.659442 ====> Client connect 02:01:29.659756 Received DATA (on stdin) 02:01:29.659775 > 160 bytes data, server => client 02:01:29.659788 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:29.659800 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:29.659811 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:29.659899 < 16 bytes data, client => server 02:01:29.659914 'USER anonymous\r\n' 02:01:29.661212 Received DATA (on stdin) 02:01:29.661231 > 33 bytes data, server => client 02:01:29.661243 '331 We are happy you popped in!\r\n' 02:01:29.661304 < 22 bytes data, client => server 02:01:29.661318 'PASS ftp@example.com\r\n' 02:01:29.661976 Received DATA (on stdin) 02:01:29.661998 > 30 bytes data, server => client 02:01:29.662013 '230 Welcome you silly person\r\n' 02:01:29.662079 < 5 bytes data, client => server 02:01:29.662097 'PWD\r\n' 02:01:29.662246 Received DATA (on stdin) 02:01:29.662260 > 30 bytes data, server => client 02:01:29.662272 '257 "/" is current directory\r\n' 02:01:29.662854 < 6 bytes data, client => server 02:01:29.662874 'EPSV\r\n' 02:01:29.685652 Received DATA (on stdin) 02:01:29.685670 > 38 bytes data, server => client 02:01:29.685682 '229 Entering Passive Mode (|||35405|)\n' 02:01:29.685856 < 8 bytes data, client => server 02:01:29.685875 'TYPE I\r\n' 02:01:29.686129 Received DATA (on stdin) 02:01:29.686145 > 33 bytes data, server => client 02:01:29.686157 '200 I modify TYPE as you wanted\r\n' 02:01:29.686224 < 21 bytes data, client => server 02:01:29.686240 'SIZE verifiedserver\r\n' 02:01:29.687036 Received DATA (on stdin) 02:01:29.687057 > 8 bytes data, server => client 02:01:29.687068 '213 17\r\n' 02:01:29.687131 < 21 bytes data, client => server 02:01:29.687145 'RETR verifiedserver\r\n' 02:01:29.687389 Received DATA (on stdin) 02:01:29.687403 > 29 bytes data, server => client 02:01:29.687414 '150 Binary junk (17 bytes).\r\n' 02:01:29.688153 Received DATA (on stdin) 02:01:29.688167 > 28 bytes data, server => client 02:01:29.688178 '226 File transfer complete\r\n' 02:01:29.728737 < 6 bytes data, client => server 02:01:29.728762 'QUIT\r\n' 02:01:29.728948 Received DATA (on stdin) 02:01:29.728962 > 18 bytes data, server => client 02:01:29.728972 '221 bye bye baby\r\n' 02:01:29.729788 ====> Client disconnect 02:01:29.732921 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:29.682813 Running IPv4 version 02:01:29.682885 Listening on port 35405 02:01:29.682918 Wrote pid 86766 to log/6/server/ftp_sockdata.pid 02:01:29.685350 Received PING (on stdin) 02:01:29.685467 Received PORT (on stdin) 02:01:29.685897 ====> Client connect 02:01:29.687469 Received DATA (on stdin) 02:01:29.687486 > 17 bytes data, server => client 02:01:29.687497 'WE ROOLZ: 80451\r\n' 02:01:29.687529 Received DISC (on stdin) 02:01:29.687543 ====> Client forcibly disconnected 02:01:29.687684 Received QUIT (on stdin) 02:01:29.687697 quits 02:01:29.687746 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 430 temporarily not available Testnum 196 === End of file server.cmd === Start of file valgrind196 ==86832== ==86832== Process terminating with default action of signal 4 (SIGILL) ==86832== Illegal opcode at address 0x10B08D ==86832== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86832== by 0x10B08D: main (tool_main.c:232) === End of file valgrind196 test 0201...[missing file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind201 ../src/curl -q --output log/2/curl201.out --include --trace-ascii log/2/trace201 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/2/non-existent-file.txt > log/2/stdout201 2> log/2/stderr201 curl returned 132, when expecting 37 201: exit FAILED == Contents of files in the log/2/ dir after test 201 === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 ==86988== ==86988== Process terminating with default action of signal 4 (SIGILL) ==86988== Illegal opcode at address 0x10B08D ==86988== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==86988== by 0x10B08D: main (tool_main.c:232) === End of file valgrind201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind204 ../src/curl -q --output log/4/curl204.out --trace-ascii log/4/trace204 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/4/result204.txt -T log/4/upload204.txt > log/4/stdout204 2> log/4/stderr204 test 0202...[two file:// URLs to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind202 ../src/curl -q --trace-ascii log/1/trace202 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/1/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/1/test202.txt > log/1/stdout202 2> log/1/stderr202 202: stdout FAILED: --- log/1/check-expected 2024-12-15 02:01:31.318296678 +0000 +++ log/1/check-generated 2024-12-15 02:01:31.318296678 +0000 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/1/ dir after test 202 === Start of file check-expected contents in a single file[LF] contents in a single file[LF] === End of file check-expected === Start of file server.cmd Testnum 202 === End of file server.cmd === Start of file test202.txt contents in a single file === End of file test202.txt === Start of file valgrind202 ==87181== ==87181== Process terminating with default action of signal 4 (SIGILL) ==87181== Illegal opcode at address 0x10B08D ==87181== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87181== by 0x10B08D: main (tool_main.c:232) === End of file valgrind202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind203 ../src/curl -q --output log/11/curl203.out --trace-ascii log/11/trace203 --trace-config all --trace-time file:/startdir/src/build-curl/tests/log/11/test203.txt > log/11/stdout203 2> log/11/stderr203 test 0204...["upload" with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind204 ../src/curl -q --output log/4/curl204.out --trace-ascii log/4/trace204 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/4/result204.txt -T log/4/upload204.txt > log/4/stdout204 2> log/4/stderr204 204: output (log/4/result204.txt) FAILED: --- log/4/check-expected 2024-12-15 02:01:31.664969600 +0000 +++ log/4/check-generated 2024-12-15 02:01:31.664969600 +0000 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/4/ dir after test 204 === Start of file check-expected data[LF] in[LF] file[LF] to[LF] write[LF] === End of file check-expected === Start of file server.cmd Testnum 204 === End of file server.cmd === Start of file upload204.txt data in file to write === End of file upload204.txt === Start of file valgrind204 ==87228== ==87228== Process terminating with default action of signal 4 (SIGILL) ==87228== Illegal opcode at address 0x10B08D ==87228== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87228== by 0x10B08D: main (tool_main.c:232) === End of file valgrind204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind205 ../src/curl -q --output log/7/curl205.out --trace-ascii log/7/trace205 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/7/nonexisting/result205.txt -T log/7/upload205.txt > log/7/stdout205 2> log/7/stderr205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind207 ../src/curl -q --output log/10/curl207.out --include --trace-ascii log/10/trace207 --trace-config all --trace-time http://127.0.0.1:42929/207 > log/10/stdout207 2> log/10/stderr207 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind211 ../src/curl -q --output log/9/curl211.out --include --trace-ascii log/9/trace211 --trace-config all --trace-time ftp://127.0.0.1:35301/a/path/211 ftp://127.0.0.1:35301/a/path/211 > log/9/stdout211 2> log/9/stderr211 setenv MSYS2_ARG_CONV_EXCL = file: test 0203...[file:/path URL with a single slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind203 ../src/curl -q --output log/11/curl203.out --trace-ascii log/11/trace203 --trace-config all --trace-time file:/startdir/src/build-curl/tests/log/11/test203.txt > log/11/stdout203 2> log/11/stderr203 203: data FAILED: --- log/11/check-expected 2024-12-15 02:01:31.708303715 +0000 +++ log/11/check-generated 2024-12-15 02:01:31.708303715 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/11/ dir after test 203 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file server.cmd Testnum 203 === End of file server.cmd === Start of file test203.txt foo bar bar foo moo === End of file test203.txt === Start of file valgrind203 ==87230== ==87230== Process terminating with default action of signal 4 (SIGILL) ==87230== Illegal opcode at address 0x10B08D ==87230== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87230== by 0x10B08D: main (tool_main.c:232) === End of file valgrind203 test 0205...["upload" nonexisting with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind205 ../src/curl -q --output log/7/curl205.out --trace-ascii log/7/trace205 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/7/nonexisting/result205.txt -T log/7/upload205.txt > log/7/stdout205 2> log/7/stderr205 curl returned 132, when expecting 23 205: exit FAILED == Contents of files in the log/7/ dir after test 205 === Start of file server.cmd Testnum 205 === End of file server.cmd === Start of file upload205.txt data in file to write === End of file upload205.txt === Start of file valgrind205 ==87275== ==87275== Process terminating with default action of signal 4 (SIGILL) ==87275== Illegal opcode at address 0x10B08D ==87275== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87275== by 0x10B08D: main (tool_main.c:232) === End of file valgrind205 test 0207...[HTTP GET with chunked Transfer-Encoding closed prematurely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind207 ../src/curl -q --output log/10/curl207.out --include --trace-ascii log/10/trace207 --trace-config all --trace-time http://127.0.0.1:42929/207 > log/10/stdout207 2> log/10/stderr207 207: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 207 === Start of file http_server.log 02:01:31.058008 ====> Client connect 02:01:31.058040 accept_connection 3 returned 4 02:01:31.058057 accept_connection 3 returned 0 02:01:31.058071 Read 93 bytes 02:01:31.058081 Process 93 bytes request 02:01:31.058095 Got request: GET /verifiedserver HTTP/1.1 02:01:31.058104 Are-we-friendly question received 02:01:31.058126 Wrote request (93 bytes) input to log/10/server.input 02:01:31.058143 Identifying ourselves as friends 02:01:31.058220 Response sent (56 bytes) and written to log/10/server.response 02:01:31.058233 special request received, no persistency 02:01:31.058242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 207 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind207 ==87448== ==87448== Process terminating with default action of signal 4 (SIGILL) ==87448== Illegal opcode at address 0x10B08D ==87448== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87448== by 0x10B08D: main (tool_main.c:232) === End of file valgrind207 test 0211...[Get two FTP files with no remote EPSV support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind211 ../src/curl -q --output log/9/curl211.out --include --trace-ascii log/9/trace211 --trace-config all --trace-time ftp://127.0.0.1:35301/a/path/211 ftp://127.0.0.1:35301/a/path/211 > log/9/stdout211 2> log/9/stderr211 211: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 211 === Start of file ftp_server.log 02:01:30.998462 ====> Client connect 02:01:30.998613 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:31.004382 < "USER anonymous" 02:01:31.004434 > "331 We are happy you popped in![CR][LF]" 02:01:31.005651 < "PASS ftp@example.com" 02:01:31.005686 > "230 Welcome you silly person[CR][LF]" 02:01:31.005835 < "PWD" 02:01:31.005866 > "257 "/" is current directory[CR][LF]" 02:01:31.006014 < "EPSV" 02:01:31.006035 ====> Passive DATA channel requested by client 02:01:31.006047 DATA sockfilt for passive data channel starting... 02:01:31.013156 DATA sockfilt for passive data channel started (pid 87534) 02:01:31.013299 DATA sockfilt for passive data channel listens on port 34357 02:01:31.013344 > "229 Entering Passive Mode (|||34357|)[LF]" 02:01:31.013361 Client has been notified that DATA conn will be accepted on port 34357 02:01:31.017082 Client connects to port 34357 02:01:31.017128 ====> Client established passive DATA connection on port 34357 02:01:31.017226 < "TYPE I" 02:01:31.017268 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:31.017681 < "SIZE verifiedserver" 02:01:31.017718 > "213 17[CR][LF]" 02:01:31.017869 < "RETR verifiedserver" 02:01:31.017900 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:31.017977 =====> Closing passive DATA connection... 02:01:31.017991 Server disconnects passive DATA connection 02:01:31.018496 Server disconnected passive DATA connection 02:01:31.018525 DATA sockfilt for passive data channel quits (pid 87534) 02:01:31.018901 DATA sockfilt for passive data channel quit (pid 87534) 02:01:31.018926 =====> Closed passive DATA connection 02:01:31.018957 > "226 File transfer complete[CR][LF]" 02:01:31.059130 < "QUIT" 02:01:31.059182 > "221 bye bye baby[CR][LF]" 02:01:31.060056 MAIN sockfilt said DISC 02:01:31.060093 ====> Client disconnected 02:01:31.060166 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:31.198292 ====> Client connect 02:01:31.198762 Received DATA (on stdin) 02:01:31.198778 > 160 bytes data, server => client 02:01:31.198790 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:31.198802 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:31.198813 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:31.198888 < 16 bytes data, client => server 02:01:31.198906 'USER anonymous\r\n' 02:01:31.205194 Received DATA (on stdin) 02:01:31.205217 > 33 bytes data, server => client 02:01:31.205229 '331 We are happy you popped in!\r\n' 02:01:31.205677 < 22 bytes data, client => server 02:01:31.205695 'PASS ftp@example.com\r\n' 02:01:31.205826 Received DATA (on stdin) 02:01:31.205837 > CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind209 ../src/curl -q --output log/12/curl209.out --include --trace-ascii log/12/trace209 --trace-config all --trace-time http://test.remote.example.com.209:40653/path/2090002 --proxy http://127.0.0.1:40653 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/12/stdout209 2> log/12/stderr209 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind206 ../src/curl -q --output log/3/curl206.out --include --trace-ascii log/3/trace206 --trace-config all --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://127.0.0.1:34527 --proxy-user silly:person --proxy-digest --proxytunnel > log/3/stdout206 2> log/3/stderr206 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind210 ../src/curl -q --output log/5/curl210.out --trace-ascii log/5/trace210 --trace-config all --trace-time ftp://127.0.0.1:36485/a/path/210 ftp://127.0.0.1:36485/a/path/210 > log/5/stdout210 2> log/5/stderr210 30 bytes data, server => client 02:01:31.205848 '230 Welcome you silly person\r\n' 02:01:31.205895 < 5 bytes data, client => server 02:01:31.205907 'PWD\r\n' 02:01:31.206003 Received DATA (on stdin) 02:01:31.206014 > 30 bytes data, server => client 02:01:31.206024 '257 "/" is current directory\r\n' 02:01:31.206080 < 6 bytes data, client => server 02:01:31.206091 'EPSV\r\n' 02:01:31.213510 Received DATA (on stdin) 02:01:31.213528 > 38 bytes data, server => client 02:01:31.213540 '229 Entering Passive Mode (|||34357|)\n' 02:01:31.215352 < 8 bytes data, client => server 02:01:31.215375 'TYPE I\r\n' 02:01:31.217414 Received DATA (on stdin) 02:01:31.217431 > 33 bytes data, server => client 02:01:31.217442 '200 I modify TYPE as you wanted\r\n' 02:01:31.217728 < 21 bytes data, client => server 02:01:31.217746 'SIZE verifiedserver\r\n' 02:01:31.217858 Received DATA (on stdin) 02:01:31.217870 > 8 bytes data, server => client 02:01:31.217880 '213 17\r\n' 02:01:31.217931 < 21 bytes data, client => server 02:01:31.217943 'RETR verifiedserver\r\n' 02:01:31.218131 Received DATA (on stdin) 02:01:31.218143 > 29 bytes data, server => client 02:01:31.218153 '150 Binary junk (17 bytes).\r\n' 02:01:31.219766 Received DATA (on stdin) 02:01:31.219785 > 28 bytes data, server => client 02:01:31.219796 '226 File transfer complete\r\n' 02:01:31.259049 < 6 bytes data, client => server 02:01:31.259086 'QUIT\r\n' 02:01:31.259325 Received DATA (on stdin) 02:01:31.259337 > 18 bytes data, server => client 02:01:31.259348 '221 bye bye baby\r\n' 02:01:31.260142 ====> Client disconnect 02:01:31.260313 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:31.213008 Running IPv4 version 02:01:31.213178 Listening on port 34357 02:01:31.213214 Wrote pid 87534 to log/9/server/ftp_sockdata.pid 02:01:31.213230 Received PING (on stdin) 02:01:31.213335 Received PORT (on stdin) 02:01:31.217162 ====> Client connect 02:01:31.218500 Received DATA (on stdin) 02:01:31.218521 > 17 bytes data, server => client 02:01:31.218533 'WE ROOLZ: 80452\r\n' 02:01:31.218569 Received DISC (on stdin) 02:01:31.218583 ====> Client forcibly disconnected 02:01:31.218835 Received QUIT (on stdin) 02:01:31.218852 quits 02:01:31.218908 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 211 === End of file server.cmd === Start of file valgrind211 ==87619== ==87619== Process terminating with default action of signal 4 (SIGILL) ==87619== Illegal opcode at address 0x10B08D ==87619== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87619== by 0x10B08D: main (tool_main.c:232) === End of file valgrind211 test 0209...[HTTP proxy CONNECT auth NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind209 ../src/curl -q --output log/12/curl209.out --include --trace-ascii log/12/trace209 --trace-config all --trace-time http://test.remote.example.com.209:40653/path/2090002 --proxy http://127.0.0.1:40653 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/12/stdout209 2> log/12/stderr209 209: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 209 === Start of file http_server.log 02:01:31.196598 ====> Client connect 02:01:31.196639 accept_connection 3 returned 4 02:01:31.196659 accept_connection 3 returned 0 02:01:31.196677 Read 93 bytes 02:01:31.196689 Process 93 bytes request 02:01:31.196705 Got request: GET /verifiedserver HTTP/1.1 02:01:31.196716 Are-we-friendly question received 02:01:31.196743 Wrote request (93 bytes) input to log/12/server.input 02:01:31.196764 Identifying ourselves as friends 02:01:31.196851 Response sent (56 bytes) and written to log/12/server.response 02:01:31.196866 special request received, no persistency 02:01:31.196877 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 209 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind209 ==87562== ==87562== Process terminating with default action of signal 4 (SIGILL) ==87562== Illegal opcode at address 0x10B08D ==87562== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87562== by 0x10B08D: main (tool_main.c:232) === End of file valgrind209 test 0206...[HTTP proxy CONNECT auth Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind206 ../src/curl -q --output log/3/curl206.out --include --trace-ascii log/3/trace206 --trace-config all --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://127.0.0.1:34527 --proxy-user silly:person --proxy-digest --proxytunnel > log/3/stdout206 2> log/3/stderr206 206: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 206 === Start of file http_server.log 02:01:31.042351 ====> Client connect 02:01:31.042386 accept_connection 3 returned 4 02:01:31.042402 accept_connection 3 returned 0 02:01:31.042955 Read 93 bytes 02:01:31.042973 Process 93 bytes request 02:01:31.042988 Got request: GET /verifiedserver HTTP/1.1 02:01:31.042997 Are-we-friendly question received 02:01:31.043028 Wrote request (93 bytes) input to log/3/server.input 02:01:31.043045 Identifying ourselves as friends 02:01:31.043108 Response sent (56 bytes) and written to log/3/server.response 02:01:31.043118 special request received, no persistency 02:01:31.043127 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd connection-monitor auth_required Testnum 206 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind206 ==87439== ==87439== Process terminating with default action of signal 4 (SIGILL) ==87439== Illegal opcode at address 0x10B08D ==87439== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87439== by 0x10B08D: main (tool_main.c:232) === End of file valgrind206 test 0210...[Get two FTP files from the same remote dir: no second CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind210 ../src/curl -q --output log/5/curl210.out --trace-ascii log/5/trace210 --trace-config all --trace-time ftp://127.0.0.1:36485/a/path/210 ftp://127.0.0.1:36485/a/path/210 > log/5/stdout210 2> log/5/stderr210 210: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of filesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind212 ../src/curl -q --output log/6/curl212.out --include --trace-ascii log/6/trace212 --trace-config all --trace-time ftp://127.0.0.1:40433/a/path/212 ftp://127.0.0.1:40433/a/path/212 -P - > log/6/stdout212 2> log/6/stderr212 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind208 ../src/curl -q --output log/8/curl208.out --include --trace-ascii log/8/trace208 --trace-config all --trace-time -x http://127.0.0.1:43803 ftp://daniel:mysecret@host.com/we/want/208 -T log/8/test208.txt > log/8/stdout208 2> log/8/stderr208 in the log/5/ dir after test 210 === Start of file ftp_server.log 02:01:31.032725 ====> Client connect 02:01:31.032907 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:31.034787 < "USER anonymous" 02:01:31.034832 > "331 We are happy you popped in![CR][LF]" 02:01:31.039543 < "PASS ftp@example.com" 02:01:31.039590 > "230 Welcome you silly person[CR][LF]" 02:01:31.045203 < "PWD" 02:01:31.045334 > "257 "/" is current directory[CR][LF]" 02:01:31.051928 < "EPSV" 02:01:31.051972 ====> Passive DATA channel requested by client 02:01:31.051987 DATA sockfilt for passive data channel starting... 02:01:31.060613 DATA sockfilt for passive data channel started (pid 87585) 02:01:31.060791 DATA sockfilt for passive data channel listens on port 37163 02:01:31.060870 > "229 Entering Passive Mode (|||37163|)[LF]" 02:01:31.060889 Client has been notified that DATA conn will be accepted on port 37163 02:01:31.061157 Client connects to port 37163 02:01:31.061184 ====> Client established passive DATA connection on port 37163 02:01:31.061263 < "TYPE I" 02:01:31.061293 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:31.061449 < "SIZE verifiedserver" 02:01:31.061482 > "213 17[CR][LF]" 02:01:31.061618 < "RETR verifiedserver" 02:01:31.061649 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:31.061738 =====> Closing passive DATA connection... 02:01:31.061754 Server disconnects passive DATA connection 02:01:31.065068 Server disconnected passive DATA connection 02:01:31.065126 DATA sockfilt for passive data channel quits (pid 87585) 02:01:31.065370 DATA sockfilt for passive data channel quit (pid 87585) 02:01:31.065392 =====> Closed passive DATA connection 02:01:31.065425 > "226 File transfer complete[CR][LF]" 02:01:31.111886 < "QUIT" 02:01:31.111940 > "221 bye bye baby[CR][LF]" 02:01:31.113218 MAIN sockfilt said DISC 02:01:31.113251 ====> Client disconnected 02:01:31.113320 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:30.227739 ====> Client connect 02:01:30.233066 Received DATA (on stdin) 02:01:30.233087 > 160 bytes data, server => client 02:01:30.233100 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:30.233111 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:30.233122 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:30.234756 < 16 bytes data, client => server 02:01:30.234784 'USER anonymous\r\n' 02:01:30.237327 Received DATA (on stdin) 02:01:30.237353 > 33 bytes data, server => client 02:01:30.237366 '331 We are happy you popped in!\r\n' 02:01:30.237441 < 22 bytes data, client => server 02:01:30.237457 'PASS ftp@example.com\r\n' 02:01:30.240804 Received DATA (on stdin) 02:01:30.240828 > 30 bytes data, server => client 02:01:30.240840 '230 Welcome you silly person\r\n' 02:01:30.240952 < 5 bytes data, client => server 02:01:30.240966 'PWD\r\n' 02:01:30.245491 Received DATA (on stdin) 02:01:30.245513 > 30 bytes data, server => client 02:01:30.245525 '257 "/" is current directory\r\n' 02:01:30.251860 < 6 bytes data, client => server 02:01:30.251898 'EPSV\r\n' 02:01:30.261042 Received DATA (on stdin) 02:01:30.261060 > 38 bytes data, server => client 02:01:30.261071 '229 Entering Passive Mode (|||37163|)\n' 02:01:30.261220 < 8 bytes data, client => server 02:01:30.261235 'TYPE I\r\n' 02:01:30.261432 Received DATA (on stdin) 02:01:30.261444 > 33 bytes data, server => client 02:01:30.261454 '200 I modify TYPE as you wanted\r\n' 02:01:30.261509 < 21 bytes data, client => server 02:01:30.261520 'SIZE verifiedserver\r\n' 02:01:30.261620 Received DATA (on stdin) 02:01:30.261630 > 8 bytes data, server => client 02:01:30.261640 '213 17\r\n' 02:01:30.261685 < 21 bytes data, client => server 02:01:30.261695 'RETR verifiedserver\r\n' 02:01:30.261983 Received DATA (on stdin) 02:01:30.261994 > 29 bytes data, server => client 02:01:30.262004 '150 Binary junk (17 bytes).\r\n' 02:01:30.265572 Received DATA (on stdin) 02:01:30.265588 > 28 bytes data, server => client 02:01:30.265599 '226 File transfer complete\r\n' 02:01:30.311849 < 6 bytes data, client => server 02:01:30.311875 'QUIT\r\n' 02:01:30.312091 Received DATA (on stdin) 02:01:30.312107 > 18 bytes data, server => client 02:01:30.312123 '221 bye bye baby\r\n' 02:01:30.313305 ====> Client disconnect 02:01:30.313468 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:31.259295 Running IPv4 version 02:01:31.259366 Listening on port 37163 02:01:31.259404 Wrote pid 87585 to log/5/server/ftp_sockdata.pid 02:01:31.260678 Received PING (on stdin) 02:01:31.260786 Received PORT (on stdin) 02:01:31.261252 ====> Client connect 02:01:31.261894 Received DATA (on stdin) 02:01:31.261910 > 17 bytes data, server => client 02:01:31.261920 'WE ROOLZ: 80534\r\n' 02:01:31.261948 Received DISC (on stdin) 02:01:31.261960 ====> Client forcibly disconnected 02:01:31.265284 Received QUIT (on stdin) 02:01:31.265304 quits 02:01:31.265371 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 ==87732== ==87732== Process terminating with default action of signal 4 (SIGILL) ==87732== Illegal opcode at address 0x10B08D ==87732== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87732== by 0x10B08D: main (tool_main.c:232) === End of file valgrind210 test 0212...[Get two FTP files with no remote EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind212 ../src/curl -q --output log/6/curl212.out --include --trace-ascii log/6/trace212 --trace-config all --trace-time ftp://127.0.0.1:40433/a/path/212 ftp://127.0.0.1:40433/a/path/212 -P - > log/6/stdout212 2> log/6/stderr212 212: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 212 === Start of file ftp_server.log 02:01:31.111329 ====> Client connect 02:01:31.111485 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:31.120115 < "USER anonymous" 02:01:31.120171 > "331 We are happy you popped in![CR][LF]" 02:01:31.120379 < "PASS ftp@example.com" 02:01:31.120415 > "230 Welcome you silly person[CR][LF]" 02:01:31.120580 < "PWD" 02:01:31.120613 > "257 "/" is current directory[CR][LF]" 02:01:31.120771 < "EPSV" 02:01:31.120794 ====> Passive DATA channel requested by client 02:01:31.120807 DATA sockfilt for passive data channel starting... 02:01:31.129548 DATA sockfilt for passive data channel started (pid 87667) 02:01:31.129686 DATA sockfilt for passive data channel listens on port 39075 02:01:31.129737 > "229 Entering Passive Mode (|||39075|)[LF]" 02:01:31.129756 Client has been notified that DATA conn will be accepted on port 39075 02:01:31.130081 Client connects to port 39075 02:01:31.130116 ====> Client established passive DATA connection on port 39075 02:01:31.130207 < "TYPE I" 02:01:31.130240 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:31.130424 < "SIZE verifiedserver" 02:01:31.130467 > "213 17[CR][LF]" 02:01:31.130625 < "RETR verifiedserver" 02:01:31.130661 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:31.130743 =====> Closing passive DATA connection... 02:01:31.130758 Server disconnects passive DATA connection 02:01:31.130996 Server disconnected passive DATA connection 02:01:31.131022 DATA sockfilt for passive data channel quits (pid 87667) 02:01:31.131249 DATA sockfilt for passive data channel quit (pid 87667) 02:01:31.131270 =====> Closed passive DATA connection 02:01:31.131298 > "226 File transfer complete[CR][LF]" 02:01:31.181847 < "QUIT" 02:01:31.181903 > "CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind213 ../src/curl -q --output log/2/curl213.out --include --trace-ascii log/2/trace213 --trace-config all --trace-time http://test.remote.example.com.213:38781/path/2130002 --proxy1.0 http://127.0.0.1:38781 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/2/stdout213 2> log/2/stderr213 221 bye bye baby[CR][LF]" 02:01:31.186552 MAIN sockfilt said DISC 02:01:31.186614 ====> Client disconnected 02:01:31.186692 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:31.311351 ====> Client connect 02:01:31.311643 Received DATA (on stdin) 02:01:31.311662 > 160 bytes data, server => client 02:01:31.311676 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:31.311688 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:31.311699 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:31.319326 < 16 bytes data, client => server 02:01:31.320044 'USER anonymous\r\n' 02:01:31.320319 Received DATA (on stdin) 02:01:31.320334 > 33 bytes data, server => client 02:01:31.320345 '331 We are happy you popped in!\r\n' 02:01:31.320413 < 22 bytes data, client => server 02:01:31.320426 'PASS ftp@example.com\r\n' 02:01:31.320554 Received DATA (on stdin) 02:01:31.320566 > 30 bytes data, server => client 02:01:31.320576 '230 Welcome you silly person\r\n' 02:01:31.320631 < 5 bytes data, client => server 02:01:31.320642 'PWD\r\n' 02:01:31.320750 Received DATA (on stdin) 02:01:31.320761 > 30 bytes data, server => client 02:01:31.320770 '257 "/" is current directory\r\n' 02:01:31.320830 < 6 bytes data, client => server 02:01:31.320842 'EPSV\r\n' 02:01:31.329910 Received DATA (on stdin) 02:01:31.329929 > 38 bytes data, server => client 02:01:31.329941 '229 Entering Passive Mode (|||39075|)\n' 02:01:31.330163 < 8 bytes data, client => server 02:01:31.330177 'TYPE I\r\n' 02:01:31.330382 Received DATA (on stdin) 02:01:31.330395 > 33 bytes data, server => client 02:01:31.330406 '200 I modify TYPE as you wanted\r\n' 02:01:31.330470 < 21 bytes data, client => server 02:01:31.330482 'SIZE verifiedserver\r\n' 02:01:31.330606 Received DATA (on stdin) 02:01:31.330618 > 8 bytes data, server => client 02:01:31.330628 '213 17\r\n' 02:01:31.330682 < 21 bytes data, client => server 02:01:31.330694 'RETR verifiedserver\r\n' 02:01:31.330992 Received DATA (on stdin) 02:01:31.331005 > 29 bytes data, server => client 02:01:31.331016 '150 Binary junk (17 bytes).\r\n' 02:01:31.331438 Received DATA (on stdin) 02:01:31.331450 > 28 bytes data, server => client 02:01:31.331461 '226 File transfer complete\r\n' 02:01:31.378941 < 6 bytes data, client => server 02:01:31.378968 'QUIT\r\n' 02:01:31.385609 Received DATA (on stdin) 02:01:31.385648 > 18 bytes data, server => client 02:01:31.385660 '221 bye bye baby\r\n' 02:01:31.386619 ====> Client disconnect 02:01:31.386844 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:31.329239 Running IPv4 version 02:01:31.329327 Listening on port 39075 02:01:31.329367 Wrote pid 87667 to log/6/server/ftp_sockdata.pid 02:01:31.329619 Received PING (on stdin) 02:01:31.329729 Received PORT (on stdin) 02:01:31.330128 ====> Client connect 02:01:31.330899 Received DATA (on stdin) 02:01:31.330912 > 17 bytes data, server => client 02:01:31.330923 'WE ROOLZ: 80451\r\n' 02:01:31.330953 Received DISC (on stdin) 02:01:31.330966 ====> Client forcibly disconnected 02:01:31.331171 Received QUIT (on stdin) 02:01:31.331187 quits 02:01:31.331250 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 no such command Testnum 212 === End of file server.cmd === Start of file valgrind212 ==87757== ==87757== Process terminating with default action of signal 4 (SIGILL) ==87757== Illegal opcode at address 0x10B08D ==87757== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87757== by 0x10B08D: main (tool_main.c:232) === End of file valgrind212 test 0208...[HTTP PUT to a FTP URL with username+password - over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind208 ../src/curl -q --output log/8/curl208.out --include --trace-ascii log/8/trace208 --trace-config all --trace-time -x http://127.0.0.1:43803 ftp://daniel:mysecret@host.com/we/want/208 -T log/8/test208.txt > log/8/stdout208 2> log/8/stderr208 208: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 208 === Start of file http_server.log 02:01:31.049461 ====> Client connect 02:01:31.049496 accept_connection 3 returned 4 02:01:31.049511 accept_connection 3 returned 0 02:01:31.049525 Read 93 bytes 02:01:31.049536 Process 93 bytes request 02:01:31.049549 Got request: GET /verifiedserver HTTP/1.1 02:01:31.049559 Are-we-friendly question received 02:01:31.049583 Wrote request (93 bytes) input to log/8/server.input 02:01:31.049601 Identifying ourselves as friends 02:01:31.049676 Response sent (56 bytes) and written to log/8/server.response 02:01:31.049688 special request received, no persistency 02:01:31.049697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 208 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file test208.txt Weird file to upload for testing the PUT feature === End of file test208.txt === Start of file valgrind208 ==87440== ==87440== Process terminating with default action of signal 4 (SIGILL) ==87440== Illegal opcode at address 0x10B08D ==87440== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87440== by 0x10B08D: main (tool_main.c:232) === End of file valgrind208 test 0213...[HTTP 1.0 proxy CONNECT auth NTLM and then POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind213 ../src/curl -q --output log/2/curl213.out --include --trace-ascii log/2/trace213 --trace-config all --trace-time http://test.remote.example.com.213:38781/path/2130002 --proxy1.0 http://127.0.0.1:38781 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/2/stdout213 2> log/2/stderr213 213: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 213 === Start of file http_server.log 02:01:31.361946 ====> Client connect 02:01:31.361980 accept_connection 3 returned 4 02:01:31.361997 accept_connection 3 returned 0 02:01:31.362010 Read 93 bytes 02:01:31.362019 Process 93 bytes request 02:01:31.362032 Got request: GET /verifiedserver HTTP/1.1 02:01:31.362041 Are-we-friendly question received 02:01:31.362062 Wrote request (93 bytes) input to log/2/server.input 02:01:31.362078 Identifying ourselves as friends 02:01:31.362143 Response sent (56 bytes) and written to log/2/server.response 02:01:31.362153 special request received, no persistency 02:01:31.362161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd TeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind214 ../src/curl -q --output log/1/curl214.out --include --trace-ascii log/1/trace214 --trace-config all --trace-time "http://127.0.0.1:34215/\{\}\/214" > log/1/stdout214 2> log/1/stderr214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind216 ../src/curl -q --output log/11/curl216.out --include --trace-ascii log/11/trace216 --trace-config all --trace-time -T log/11/upload.216 ftp://127.0.0.1:45687/a/path/216/ -T log/11/upload.216 ftp://127.0.0.1:45687/a/path/216/%2e%2eanotherup.216 > log/11/stdout216 2> log/11/stderr216 stnum 213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind213 ==87760== ==87760== Process terminating with default action of signal 4 (SIGILL) ==87760== Illegal opcode at address 0x10B08D ==87760== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87760== by 0x10B08D: main (tool_main.c:232) === End of file valgrind213 setenv MSYS2_ARG_CONV_EXCL = http:// test 0214...[HTTP URL with escaped { and }] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind214 ../src/curl -q --output log/1/curl214.out --include --trace-ascii log/1/trace214 --trace-config all --trace-time "http://127.0.0.1:34215/\{\}\/214" > log/1/stdout214 2> log/1/stderr214 214: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 214 === Start of file http_server.log 02:01:31.652274 ====> Client connect 02:01:31.652308 accept_connection 3 returned 4 02:01:31.652326 accept_connection 3 returned 0 02:01:31.652339 Read 93 bytes 02:01:31.652350 Process 93 bytes request 02:01:31.652364 Got request: GET /verifiedserver HTTP/1.1 02:01:31.652373 Are-we-friendly question received 02:01:31.652397 Wrote request (93 bytes) input to log/1/server.input 02:01:31.652413 Identifying ourselves as friends 02:01:31.652523 Response sent (56 bytes) and written to log/1/server.response 02:01:31.652534 special request received, no persistency 02:01:31.652543 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 214 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind214 ==87939== ==87939== Process terminating with default action of signal 4 (SIGILL) ==87939== Illegal opcode at address 0x10B08D ==87939== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==87939== by 0x10B08D: main (tool_main.c:232) === End of file valgrind214 test 0216...[FTP upload two files to the same dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind216 ../src/curl -q --output log/11/curl216.out --include --trace-ascii log/11/trace216 --trace-config all --trace-time -T log/11/upload.216 ftp://127.0.0.1:45687/a/path/216/ -T log/11/upload.216 ftp://127.0.0.1:45687/a/path/216/%2e%2eanotherup.216 > log/11/stdout216 2> log/11/stderr216 216: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 216 === Start of file ftp_server.log 02:01:31.786698 ====> Client connect 02:01:31.786851 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:31.787136 < "USER anonymous" 02:01:31.787175 > "331 We are happy you popped in![CR][LF]" 02:01:31.787346 < "PASS ftp@example.com" 02:01:31.787374 > "230 Welcome you silly person[CR][LF]" 02:01:31.787522 < "PWD" 02:01:31.787554 > "257 "/" is current directory[CR][LF]" 02:01:31.787716 < "EPSV" 02:01:31.787740 ====> Passive DATA channel requested by client 02:01:31.787752 DATA sockfilt for passive data channel starting... 02:01:31.792763 DATA sockfilt for passive data channel started (pid 88023) 02:01:31.792867 DATA sockfilt for passive data channel listens on port 35813 02:01:31.792907 > "229 Entering Passive Mode (|||35813|)[LF]" 02:01:31.792925 Client has been notified that DATA conn will be accepted on port 35813 02:01:31.793186 Client connects to port 35813 02:01:31.793216 ====> Client established passive DATA connection on port 35813 02:01:31.793287 < "TYPE I" 02:01:31.793316 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:31.793489 < "SIZE verifiedserver" 02:01:31.793525 > "213 17[CR][LF]" 02:01:31.793680 < "RETR verifiedserver" 02:01:31.793717 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:31.793799 =====> Closing passive DATA connection... 02:01:31.793817 Server disconnects passive DATA connection 02:01:31.794069 Server disconnected passive DATA connection 02:01:31.794097 DATA sockfilt for passive data channel quits (pid 88023) 02:01:31.794353 DATA sockfilt for passive data channel quit (pid 88023) 02:01:31.794482 =====> Closed passive DATA connection 02:01:31.794511 > "226 File transfer complete[CR][LF]" 02:01:31.838626 < "QUIT" 02:01:31.838687 > "221 bye bye baby[CR][LF]" 02:01:31.845071 MAIN sockfilt said DISC 02:01:31.845148 ====> Client disconnected 02:01:31.845227 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:31.986731 ====> Client connect 02:01:31.987002 Received DATA (on stdin) 02:01:31.987018 > 160 bytes data, server => client 02:01:31.987030 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:31.987041 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:31.987050 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:31.987124 < 16 bytes data, client => server 02:01:31.987136 'USER anonymous\r\n' 02:01:31.987315 Received DATA (on stdin) 02:01:31.987327 > 33 bytes data, server => client 02:01:31.987337 '331 We are happy you popped in!\r\n' 02:01:31.987388 < 22 bytes data, client => server 02:01:31.987398 'PASS ftp@example.com\r\n' 02:01:31.987511 Received DATA (on stdin) 02:01:31.987522 > 30 bytes data, server => client 02:01:31.987532 '230 Welcome you silly person\r\n' 02:01:31.987578 < 5 bytes data, client => server 02:01:31.987588 'PWD\r\n' 02:01:31.987690 Received DATA (on stdin) 02:01:31.987701 > 30 bytes data, server => client 02:01:31.987710 '257 "/" is current directory\r\n' 02:01:31.987767 < 6 bytes data, client => server 02:01:31.987779 'EPSV\r\n' 02:01:31.993071 Received DATA (on stdin) 02:01:31.993085 > 38 bytes data, server => client 02:01:31.993097 '229 Entering Passive Mode (|||35813|)\n' 02:01:31.993240 < 8 bytes data, client => server 02:01:31.993258 'TYPE I\r\n' 02:01:31.993457 Received DATA (on stdin) 02:01:31.993472 > 33 bytes data, server => client 02:01:31.993482 '200 I modify TYPE as you wanted\r\n' 02:01:31.993539 < 21 bytes data, client => server 02:01:31.993552 'SIZE verifiedserver\r\n' 02:01:31.993664 Received DATA (on stdin) 02:01:31.993676 > 8 bytes data, server => client 02:01:31.993687 '213 17\r\n' 02:01:31.993737 < 21 bytes data, client => server 02:01:31.993749 'RETR verifiedserver\r\n' 02:01:31.993956 Received DATA (on stdin) 02:01:31.993970 > 29 bytes data, server => client 02:01:31.993980 '150 Binary junk (17 bytes).\r\n' 02:01:31.994650 Received DATA (on stdin) 02:01:31.994663 > 28 bytes data, server => client 02:01:31.994674 '226 File transfer complete\r\n' 02:01:32.038545 < 6 bytes data, client => server 02:01:32.038588 'QUIT\r\n' 02:01:32.038842 Received DATA (on stdin) 02:01:32.038861 > 18 bytes data, server => client 02:01:32.038874 '221 bye bye baby\r\n' 02:01:32.039802 ====> Client disconnect 02:01:32.045372 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:31.992592 Running IPv4 version 02:01:31.992653 Listening on port 35813 02:01:31.992694 Wrote pid 88023 to CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind215 ../src/curl -q --output log/4/curl215.out --include --trace-ascii log/4/trace215 --trace-config all --trace-time ftp://127.0.0.1:34583/a/path/215/ ftp://127.0.0.1:34583/a/path/215/ > log/4/stdout215 2> log/4/stderr215 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind217 ../src/curl -q --include --trace-ascii log/7/trace217 --trace-config all --trace-time http://test.remote.example.com.217:43753/path/2170002 --proxy http://127.0.0.1:43753 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/7/stdout217 2> log/7/stderr217 log/11/server/ftp_sockdata.pid 02:01:31.992840 Received PING (on stdin) 02:01:31.992925 Received PORT (on stdin) 02:01:31.993279 ====> Client connect 02:01:31.994033 Received DATA (on stdin) 02:01:31.994050 > 17 bytes data, server => client 02:01:31.994062 'WE ROOLZ: 80480\r\n' 02:01:31.994094 Received DISC (on stdin) 02:01:31.994108 ====> Client forcibly disconnected 02:01:31.994244 Received QUIT (on stdin) 02:01:31.994256 quits 02:01:31.994349 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 216 === End of file server.cmd === Start of file upload.216 upload this file twice === End of file upload.216 === Start of file valgrind216 ==88026== ==88026== Process terminating with default action of signal 4 (SIGILL) ==88026== Illegal opcode at address 0x10B08D ==88026== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88026== by 0x10B08D: main (tool_main.c:232) === End of file valgrind216 test 0215...[Get two FTP dir listings from the same remote dir: no second CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind215 ../src/curl -q --output log/4/curl215.out --include --trace-ascii log/4/trace215 --trace-config all --trace-time ftp://127.0.0.1:34583/a/path/215/ ftp://127.0.0.1:34583/a/path/215/ > log/4/stdout215 2> log/4/stderr215 215: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 215 === Start of file ftp_server.log 02:01:31.788398 ====> Client connect 02:01:31.788598 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:31.792526 < "USER anonymous" 02:01:31.792567 > "331 We are happy you popped in![CR][LF]" 02:01:31.792719 < "PASS ftp@example.com" 02:01:31.792741 > "230 Welcome you silly person[CR][LF]" 02:01:31.792873 < "PWD" 02:01:31.792900 > "257 "/" is current directory[CR][LF]" 02:01:31.793038 < "EPSV" 02:01:31.793060 ====> Passive DATA channel requested by client 02:01:31.793072 DATA sockfilt for passive data channel starting... 02:01:31.815366 DATA sockfilt for passive data channel started (pid 88024) 02:01:31.815512 DATA sockfilt for passive data channel listens on port 34119 02:01:31.815570 > "229 Entering Passive Mode (|||34119|)[LF]" 02:01:31.815595 Client has been notified that DATA conn will be accepted on port 34119 02:01:31.817248 Client connects to port 34119 02:01:31.817287 ====> Client established passive DATA connection on port 34119 02:01:31.817384 < "TYPE I" 02:01:31.817422 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:31.818728 < "SIZE verifiedserver" 02:01:31.818766 > "213 17[CR][LF]" 02:01:31.818901 < "RETR verifiedserver" 02:01:31.818931 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:31.819008 =====> Closing passive DATA connection... 02:01:31.819023 Server disconnects passive DATA connection 02:01:31.819236 Server disconnected passive DATA connection 02:01:31.819261 DATA sockfilt for passive data channel quits (pid 88024) 02:01:31.819502 DATA sockfilt for passive data channel quit (pid 88024) 02:01:31.819522 =====> Closed passive DATA connection 02:01:31.819546 > "226 File transfer complete[CR][LF]" 02:01:31.868515 < "QUIT" 02:01:31.868567 > "221 bye bye baby[CR][LF]" 02:01:31.871376 MAIN sockfilt said DISC 02:01:31.871421 ====> Client disconnected 02:01:31.871497 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:31.985212 ====> Client connect 02:01:31.988752 Received DATA (on stdin) 02:01:31.988771 > 160 bytes data, server => client 02:01:31.988783 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:31.988794 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:31.988804 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:31.992502 < 16 bytes data, client => server 02:01:31.992524 'USER anonymous\r\n' 02:01:31.992707 Received DATA (on stdin) 02:01:31.992719 > 33 bytes data, server => client 02:01:31.992729 '331 We are happy you popped in!\r\n' 02:01:31.992778 < 22 bytes data, client => server 02:01:31.992789 'PASS ftp@example.com\r\n' 02:01:31.992878 Received DATA (on stdin) 02:01:31.992888 > 30 bytes data, server => client 02:01:31.992898 '230 Welcome you silly person\r\n' 02:01:31.992941 < 5 bytes data, client => server 02:01:31.992951 'PWD\r\n' 02:01:31.993036 Received DATA (on stdin) 02:01:31.993046 > 30 bytes data, server => client 02:01:31.993056 '257 "/" is current directory\r\n' 02:01:31.993106 < 6 bytes data, client => server 02:01:31.993118 'EPSV\r\n' 02:01:32.017070 Received DATA (on stdin) 02:01:32.017100 > 38 bytes data, server => client 02:01:32.017113 '229 Entering Passive Mode (|||34119|)\n' 02:01:32.017300 < 8 bytes data, client => server 02:01:32.017316 'TYPE I\r\n' 02:01:32.018682 Received DATA (on stdin) 02:01:32.018703 > 33 bytes data, server => client 02:01:32.018714 '200 I modify TYPE as you wanted\r\n' 02:01:32.018775 < 21 bytes data, client => server 02:01:32.018787 'SIZE verifiedserver\r\n' 02:01:32.018904 Received DATA (on stdin) 02:01:32.018914 > 8 bytes data, server => client 02:01:32.018923 '213 17\r\n' 02:01:32.018969 < 21 bytes data, client => server 02:01:32.018979 'RETR verifiedserver\r\n' 02:01:32.019160 Received DATA (on stdin) 02:01:32.019170 > 29 bytes data, server => client 02:01:32.019180 '150 Binary junk (17 bytes).\r\n' 02:01:32.019683 Received DATA (on stdin) 02:01:32.019695 > 28 bytes data, server => client 02:01:32.019704 '226 File transfer complete\r\n' 02:01:32.068467 < 6 bytes data, client => server 02:01:32.068513 'QUIT\r\n' 02:01:32.068718 Received DATA (on stdin) 02:01:32.068735 > 18 bytes data, server => client 02:01:32.068748 '221 bye bye baby\r\n' 02:01:32.071451 ====> Client disconnect 02:01:32.071648 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:31.006142 Running IPv4 version 02:01:31.006223 Listening on port 34119 02:01:31.006261 Wrote pid 88024 to log/4/server/ftp_sockdata.pid 02:01:31.015406 Received PING (on stdin) 02:01:31.015552 Received PORT (on stdin) 02:01:31.017336 ====> Client connect 02:01:31.019207 Received DATA (on stdin) 02:01:31.019220 > 17 bytes data, server => client 02:01:31.019230 'WE ROOLZ: 80536\r\n' 02:01:31.019255 Received DISC (on stdin) 02:01:31.019267 ====> Client forcibly disconnected 02:01:31.019405 Received QUIT (on stdin) 02:01:31.019415 quits 02:01:31.019476 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 ==88031== ==88031== Process terminating with default action of signal 4 (SIGILL) ==88031== Illegal opcode at address 0x10B08D ==88031== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88031== by 0x10B08D: main (tool_main.c:232) === End of file valgrind215 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind219 ../src/curl -q --output log/9/curl219.out --include --trace-ascii log/9/trace219 --trace-config all --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/9/stdout219 2> log/9/stderr219 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind218 ../src/curl -q --output log/10/curl218.out --include --trace-ascii log/10/trace218 --trace-config all --trace-time -T log/10/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:42929/218 > log/10/stdout218 2> log/10/stderr218 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind220 ../src/curl -q --output log/12/curl220.out --include --trace-ascii log/12/trace220 --trace-config all --trace-time http://127.0.0.1:40653/220 --compressed > log/12/stdout220 2> log/12/stderr220 test 0217...[HTTP proxy CONNECT to proxy returning 405] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind217 ../src/curl -q --include --trace-ascii log/7/trace217 --trace-config all --trace-time http://test.remote.example.com.217:43753/path/2170002 --proxy http://127.0.0.1:43753 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/7/stdout217 2> log/7/stderr217 217: stdout FAILED: --- log/7/check-expected 2024-12-15 02:01:33.254998283 +0000 +++ log/7/check-generated 2024-12-15 02:01:33.254998283 +0000 @@ -1,3 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] -000 405[LF] == Contents of files in the log/7/ dir after test 217 === Start of file check-expected HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] [CR][LF] 000 405[LF] === End of file check-expected === Start of file http_server.log 02:01:32.203221 ====> Client connect 02:01:32.203255 accept_connection 3 returned 4 02:01:32.203272 accept_connection 3 returned 0 02:01:32.203406 Read 93 bytes 02:01:32.203423 Process 93 bytes request 02:01:32.203439 Got request: GET /verifiedserver HTTP/1.1 02:01:32.203449 Are-we-friendly question received 02:01:32.203480 Wrote request (93 bytes) input to log/7/server.input 02:01:32.203501 Identifying ourselves as friends 02:01:32.203576 Response sent (56 bytes) and written to log/7/server.response 02:01:32.203590 special request received, no persistency 02:01:32.203601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 217 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind217 ==88120== ==88120== Process terminating with default action of signal 4 (SIGILL) ==88120== Illegal opcode at address 0x10B08D ==88120== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88120== by 0x10B08D: main (tool_main.c:232) === End of file valgrind217 * starts no server test 0219...[try using proxy with unsupported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind219 ../src/curl -q --output log/9/curl219.out --include --trace-ascii log/9/trace219 --trace-config all --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/9/stdout219 2> log/9/stderr219 curl returned 132, when expecting 7 219: exit FAILED == Contents of files in the log/9/ dir after test 219 === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 ==88159== ==88159== Process terminating with default action of signal 4 (SIGILL) ==88159== Illegal opcode at address 0x10B08D ==88159== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88159== by 0x10B08D: main (tool_main.c:232) === End of file valgrind219 test 0218...[HTTP PUT from a file but enforce chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind218 ../src/curl -q --output log/10/curl218.out --include --trace-ascii log/10/trace218 --trace-config all --trace-time -T log/10/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:42929/218 > log/10/stdout218 2> log/10/stderr218 218: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 218 === Start of file file218 just some tiny teeny contents === End of file file218 === Start of file http_server.log 02:01:32.277798 ====> Client connect 02:01:32.277834 accept_connection 3 returned 4 02:01:32.277852 accept_connection 3 returned 0 02:01:32.277867 Read 93 bytes 02:01:32.277879 Process 93 bytes request 02:01:32.277894 Got request: GET /verifiedserver HTTP/1.1 02:01:32.277903 Are-we-friendly question received 02:01:32.277926 Wrote request (93 bytes) input to log/10/server.input 02:01:32.277946 Identifying ourselves as friends 02:01:32.278103 Response sent (56 bytes) and written to log/10/server.response 02:01:32.278120 special request received, no persistency 02:01:32.278130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 218 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind218 ==88197== ==88197== Process terminating with default action of signal 4 (SIGILL) ==88197== Illegal opcode at address 0x10B08D ==88197== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88197== by 0x10B08D: main (tool_main.c:232) === End of file valgrind218 test 0220...[HTTP GET gzip compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind220 ../src/curl -q --output log/12/curl220.out --include --trace-ascii log/12/trace220 --trace-config all --trace-time http://127.0.0.1:40653/220 --compressed > log/12/stdout220 2> log/12/stderr220 220: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 220 === Start of file http_server.log 02:01:32.353013 ====> Client connect 02:01:32.353047 accept_connection 3 returned 4 02:01:32.353063 accept_connection 3 returned 0 02:01:32.353077 Read 93 bytes 02:01:32.353088 Process 93 bytes request 02:01:32.353104 Got request: GET /verifiedserver HTTP/1.1 02:01:32.353114 Are-we-friendly question received 02:01:32.353139 Wrote request (93 bytes) input to log/12/server.input 02:01:32.353159 Identifying ourselves as friends 02:01:32.353235 Response sent (56 bytes) and written to log/12/server.response 02:01:32.353249 special request received, no persistency 02:01:32.353259 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 220 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind220 ==88257== ==88257== Process terminating with default action of signal 4 (SIGILL) ==88257== Illegal opcode at address 0x10B08D ==88257== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind223 ../src/curl -q --output log/6/curl223.out --include --trace-ascii log/6/trace223 --trace-config all --trace-time http://127.0.0.1:39457/223 --compressed > log/6/stdout223 2> log/6/stderr223 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind221 ../src/curl -q --output log/3/curl221.out --include --trace-ascii log/3/trace221 --trace-config all --trace-time http://127.0.0.1:34527/221 --compressed > log/3/stdout221 2> log/3/stderr221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind224 ../src/curl -q --output log/8/curl224.out --include --trace-ascii log/8/trace224 --trace-config all --trace-time http://127.0.0.1:43803/224 --compressed > log/8/stdout224 2> log/8/stderr224 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind222 ../src/curl -q --output log/5/curl222.out --include --trace-ascii log/5/trace222 --trace-config all --trace-time http://127.0.0.1:33361/222 --compressed > log/5/stdout222 2> log/5/stderr222 ) ==88257== by 0x10B08D: main (tool_main.c:232) === End of file valgrind220 test 0223...[HTTP GET deflate compressed content with broken deflate header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind223 ../src/curl -q --output log/6/curl223.out --include --trace-ascii log/6/trace223 --trace-config all --trace-time http://127.0.0.1:39457/223 --compressed > log/6/stdout223 2> log/6/stderr223 223: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 223 === Start of file http_server.log 02:01:32.677311 ====> Client connect 02:01:32.677345 accept_connection 3 returned 4 02:01:32.677361 accept_connection 3 returned 0 02:01:32.677375 Read 93 bytes 02:01:32.677386 Process 93 bytes request 02:01:32.677402 Got request: GET /verifiedserver HTTP/1.1 02:01:32.677412 Are-we-friendly question received 02:01:32.677438 Wrote request (93 bytes) input to log/6/server.input 02:01:32.677456 Identifying ourselves as friends 02:01:32.677524 Response sent (56 bytes) and written to log/6/server.response 02:01:32.677538 special request received, no persistency 02:01:32.677547 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind223 ==88486== ==88486== Process terminating with default action of signal 4 (SIGILL) ==88486== Illegal opcode at address 0x10B08D ==88486== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88486== by 0x10B08D: main (tool_main.c:232) === End of file valgrind223 test 0221...[HTTP GET gzip compressed content with broken gzip header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind221 ../src/curl -q --output log/3/curl221.out --include --trace-ascii log/3/trace221 --trace-config all --trace-time http://127.0.0.1:34527/221 --compressed > log/3/stdout221 2> log/3/stderr221 221: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 221 === Start of file http_server.log 02:01:32.472186 ====> Client connect 02:01:32.472224 accept_connection 3 returned 4 02:01:32.472243 accept_connection 3 returned 0 02:01:32.472257 Read 93 bytes 02:01:32.472268 Process 93 bytes request 02:01:32.472283 Got request: GET /verifiedserver HTTP/1.1 02:01:32.472292 Are-we-friendly question received 02:01:32.472315 Wrote request (93 bytes) input to log/3/server.input 02:01:32.472332 Identifying ourselves as friends 02:01:32.472409 Response sent (56 bytes) and written to log/3/server.response 02:01:32.472421 special request received, no persistency 02:01:32.472430 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind221 ==88360== ==88360== Process terminating with default action of signal 4 (SIGILL) ==88360== Illegal opcode at address 0x10B08D ==88360== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88360== by 0x10B08D: main (tool_main.c:232) === End of file valgrind221 test 0224...[HTTP GET gzip compressed content with huge comment and extra field] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind224 ../src/curl -q --output log/8/curl224.out --include --trace-ascii log/8/trace224 --trace-config all --trace-time http://127.0.0.1:43803/224 --compressed > log/8/stdout224 2> log/8/stderr224 224: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 224 === Start of file http_server.log 02:01:32.696027 ====> Client connect 02:01:32.696063 accept_connection 3 returned 4 02:01:32.696082 accept_connection 3 returned 0 02:01:32.696098 Read 93 bytes 02:01:32.696111 Process 93 bytes request 02:01:32.696127 Got request: GET /verifiedserver HTTP/1.1 02:01:32.696138 Are-we-friendly question received 02:01:32.696166 Wrote request (93 bytes) input to log/8/server.input 02:01:32.696186 Identifying ourselves as friends 02:01:32.696264 Response sent (56 bytes) and written to log/8/server.response 02:01:32.696278 special request received, no persistency 02:01:32.696289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 224 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind224 ==88495== ==88495== Process terminating with default action of signal 4 (SIGILL) ==88495== Illegal opcode at address 0x10B08D ==88495== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88495== by 0x10B08D: main (tool_main.c:232) === End of file valgrind224 test 0222...[HTTP GET deflate compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind222 ../src/curl -q --output log/5/curl222.out --include --trace-ascii log/5/trace222 --trace-config all --trace-time http://127.0.0.1:33361/222 --compressed > log/5/stdout222 2> log/5/stderr222 222: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 222 === Start of file http_server.log 02:01:32.614033 ====> Client connect 02:01:32.614068 accept_connection 3 returned 4 02:01:32.614088 accept_connection 3 returned 0 02:01:32.637595 Read 93 bytes 02:01:32.637634 Process 93 bytes request 02:01:32.637652 Got request: GET /verifiedserver HTTP/1.1 02:01:32.637662 Are-we-friendly question received 02:01:32.637708 Wrote request (93 bytes) input to log/5/server.input 02:01:32.637732 Identifying ourselves as friends 02:01:32.637822 Response sent (56 bytes) and written to log/5/server.response 02:01:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind225 ../src/curl -q --output log/2/curl225.out --include --trace-ascii log/2/trace225 --trace-config all --trace-time ftp://bad%0auser:passwd@127.0.0.1:36595/225%0a > log/2/stdout225 2> log/2/stderr225 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind230 ../src/curl -q --output log/9/curl230.out --include --trace-ascii log/9/trace230 --trace-config all --trace-time http://127.0.0.1:38509/230 --compressed > log/9/stdout230 2> log/9/stderr230 32.637838 special request received, no persistency 02:01:32.637850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 222 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind222 ==88492== ==88492== Process terminating with default action of signal 4 (SIGILL) ==88492== Illegal opcode at address 0x10B08D ==88492== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88492== by 0x10B08D: main (tool_main.c:232) === End of file valgrind222 test 0225...[FTP %0a-code in URL's name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind225 ../src/curl -q --output log/2/curl225.out --include --trace-ascii log/2/trace225 --trace-config all --trace-time ftp://bad%0auser:passwd@127.0.0.1:36595/225%0a > log/2/stdout225 2> log/2/stderr225 curl returned 132, when expecting 3 225: exit FAILED == Contents of files in the log/2/ dir after test 225 === Start of file ftp_server.log 02:01:32.655091 ====> Client connect 02:01:32.655297 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:32.655632 < "USER anonymous" 02:01:32.655670 > "331 We are happy you popped in![CR][LF]" 02:01:32.655860 < "PASS ftp@example.com" 02:01:32.655889 > "230 Welcome you silly person[CR][LF]" 02:01:32.656051 < "PWD" 02:01:32.656084 > "257 "/" is current directory[CR][LF]" 02:01:32.656245 < "EPSV" 02:01:32.656270 ====> Passive DATA channel requested by client 02:01:32.656283 DATA sockfilt for passive data channel starting... 02:01:32.658613 DATA sockfilt for passive data channel started (pid 88598) 02:01:32.660643 DATA sockfilt for passive data channel listens on port 39923 02:01:32.660686 > "229 Entering Passive Mode (|||39923|)[LF]" 02:01:32.660702 Client has been notified that DATA conn will be accepted on port 39923 02:01:32.660966 Client connects to port 39923 02:01:32.660995 ====> Client established passive DATA connection on port 39923 02:01:32.661069 < "TYPE I" 02:01:32.661098 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:32.661259 < "SIZE verifiedserver" 02:01:32.661296 > "213 17[CR][LF]" 02:01:32.661453 < "RETR verifiedserver" 02:01:32.661484 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:32.661561 =====> Closing passive DATA connection... 02:01:32.661576 Server disconnects passive DATA connection 02:01:32.661818 Server disconnected passive DATA connection 02:01:32.661845 DATA sockfilt for passive data channel quits (pid 88598) 02:01:32.662048 DATA sockfilt for passive data channel quit (pid 88598) 02:01:32.662067 =====> Closed passive DATA connection 02:01:32.662091 > "226 File transfer complete[CR][LF]" 02:01:32.718591 < "QUIT" 02:01:32.718647 > "221 bye bye baby[CR][LF]" 02:01:32.719831 MAIN sockfilt said DISC 02:01:32.719876 ====> Client disconnected 02:01:32.719957 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:32.841859 ====> Client connect 02:01:32.855457 Received DATA (on stdin) 02:01:32.855481 > 160 bytes data, server => client 02:01:32.855494 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:32.855505 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:32.855516 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:32.855620 < 16 bytes data, client => server 02:01:32.855635 'USER anonymous\r\n' 02:01:32.855813 Received DATA (on stdin) 02:01:32.855826 > 33 bytes data, server => client 02:01:32.855838 '331 We are happy you popped in!\r\n' 02:01:32.855898 < 22 bytes data, client => server 02:01:32.855911 'PASS ftp@example.com\r\n' 02:01:32.856028 Received DATA (on stdin) 02:01:32.856040 > 30 bytes data, server => client 02:01:32.856051 '230 Welcome you silly person\r\n' 02:01:32.856104 < 5 bytes data, client => server 02:01:32.856119 'PWD\r\n' 02:01:32.856223 Received DATA (on stdin) 02:01:32.856235 > 30 bytes data, server => client 02:01:32.856246 '257 "/" is current directory\r\n' 02:01:32.856304 < 6 bytes data, client => server 02:01:32.856315 'EPSV\r\n' 02:01:32.860848 Received DATA (on stdin) 02:01:32.860862 > 38 bytes data, server => client 02:01:32.860874 '229 Entering Passive Mode (|||39923|)\n' 02:01:32.861024 < 8 bytes data, client => server 02:01:32.861040 'TYPE I\r\n' 02:01:32.861237 Received DATA (on stdin) 02:01:32.861250 > 33 bytes data, server => client 02:01:32.861261 '200 I modify TYPE as you wanted\r\n' 02:01:32.861313 < 21 bytes data, client => server 02:01:32.861326 'SIZE verifiedserver\r\n' 02:01:32.861437 Received DATA (on stdin) 02:01:32.861449 > 8 bytes data, server => client 02:01:32.861460 '213 17\r\n' 02:01:32.861510 < 21 bytes data, client => server 02:01:32.861523 'RETR verifiedserver\r\n' 02:01:32.861813 Received DATA (on stdin) 02:01:32.861832 > 29 bytes data, server => client 02:01:32.861843 '150 Binary junk (17 bytes).\r\n' 02:01:32.862230 Received DATA (on stdin) 02:01:32.862242 > 28 bytes data, server => client 02:01:32.862252 '226 File transfer complete\r\n' 02:01:32.918529 < 6 bytes data, client => server 02:01:32.918565 'QUIT\r\n' 02:01:32.918794 Received DATA (on stdin) 02:01:32.918807 > 18 bytes data, server => client 02:01:32.918816 '221 bye bye baby\r\n' 02:01:32.919909 ====> Client disconnect 02:01:32.920102 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:32.858376 Running IPv4 version 02:01:32.858636 Listening on port 39923 02:01:32.858679 Wrote pid 88598 to log/2/server/ftp_sockdata.pid 02:01:32.858698 Received PING (on stdin) 02:01:32.860686 Received PORT (on stdin) 02:01:32.861060 ====> Client connect 02:01:32.861716 Received DATA (on stdin) 02:01:32.861730 > 17 bytes data, server => client 02:01:32.861741 'WE ROOLZ: 80457\r\n' 02:01:32.861773 Received DISC (on stdin) 02:01:32.861787 ====> Client forcibly disconnected 02:01:32.861992 Received QUIT (on stdin) 02:01:32.862004 quits 02:01:32.862055 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 ==88647== ==88647== Process terminating with default action of signal 4 (SIGILL) ==88647== Illegal opcode at address 0x10B08D ==88647== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88647== by 0x10B08D: main (tool_main.c:232) === End of file valgrind225 test 0230...[HTTP GET multiply compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind230 ../src/curl -q --output log/9/curl230.out --include --trace-ascii log/9/trace230 --trace-config all --trace-time http://127.0.0.1:38509/230 --compressed > log/9/stdout230 2> log/9/stderr230 230: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 230 === Start of file http_server.log 02:01:33.591894 ====> Client connect 02:01:33.591931 accept_connection 3 returned 4 02:01:33.591949 accept_connection 3 returned 0 02:01:33.591964 Read 93 bytes 02:01:33.591974 Process 93 bytes request 02:01:33.591989 Got request: GET /verifiedserver HTTP/1.1 02:01:33.591999 Are-wCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind227 ../src/curl -q --output log/11/curl227.out --include --trace-ascii log/11/trace227 --trace-config all --trace-time ftp://127.0.0.1:45687/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/11/stdout227 2> log/11/stderr227 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind231 ../src/curl -q --output log/10/curl231.out --trace-ascii log/10/trace231 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test231.txt -C 10 > log/10/stdout231 2> log/10/stderr231 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind228 ../src/curl -q --output log/4/curl228.out --include --trace-ascii log/4/trace228 --trace-config all --trace-time ftp://127.0.0.1:34583/228 --ftp-account "one count" > log/4/stdout228 2> log/4/stderr228 e-friendly question received 02:01:33.592021 Wrote request (93 bytes) input to log/9/server.input 02:01:33.592039 Identifying ourselves as friends 02:01:33.592112 Response sent (56 bytes) and written to log/9/server.response 02:01:33.592123 special request received, no persistency 02:01:33.592132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 230 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind230 ==88817== ==88817== Process terminating with default action of signal 4 (SIGILL) ==88817== Illegal opcode at address 0x10B08D ==88817== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88817== by 0x10B08D: main (tool_main.c:232) === End of file valgrind230 test 0227...[FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind227 ../src/curl -q --output log/11/curl227.out --include --trace-ascii log/11/trace227 --trace-config all --trace-time ftp://127.0.0.1:45687/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/11/stdout227 2> log/11/stderr227 227: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 227 === Start of file ftp_server.log 02:01:33.278086 ====> Client connect 02:01:33.278233 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:33.279531 < "USER anonymous" 02:01:33.279576 > "331 We are happy you popped in![CR][LF]" 02:01:33.279766 < "PASS ftp@example.com" 02:01:33.279798 > "230 Welcome you silly person[CR][LF]" 02:01:33.279940 < "PWD" 02:01:33.279970 > "257 "/" is current directory[CR][LF]" 02:01:33.280111 < "EPSV" 02:01:33.280134 ====> Passive DATA channel requested by client 02:01:33.280145 DATA sockfilt for passive data channel starting... 02:01:33.281669 DATA sockfilt for passive data channel started (pid 88728) 02:01:33.291836 DATA sockfilt for passive data channel listens on port 38137 02:01:33.291896 > "229 Entering Passive Mode (|||38137|)[LF]" 02:01:33.291914 Client has been notified that DATA conn will be accepted on port 38137 02:01:33.292225 Client connects to port 38137 02:01:33.292262 ====> Client established passive DATA connection on port 38137 02:01:33.292349 < "TYPE I" 02:01:33.292385 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:33.292568 < "SIZE verifiedserver" 02:01:33.292608 > "213 17[CR][LF]" 02:01:33.292777 < "RETR verifiedserver" 02:01:33.292815 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:33.292901 =====> Closing passive DATA connection... 02:01:33.292919 Server disconnects passive DATA connection 02:01:33.293174 Server disconnected passive DATA connection 02:01:33.293203 DATA sockfilt for passive data channel quits (pid 88728) 02:01:33.293415 DATA sockfilt for passive data channel quit (pid 88728) 02:01:33.293440 =====> Closed passive DATA connection 02:01:33.293469 > "226 File transfer complete[CR][LF]" 02:01:33.341849 < "QUIT" 02:01:33.341909 > "221 bye bye baby[CR][LF]" 02:01:33.342826 MAIN sockfilt said DISC 02:01:33.342869 ====> Client disconnected 02:01:33.342942 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:33.478119 ====> Client connect 02:01:33.478383 Received DATA (on stdin) 02:01:33.478397 > 160 bytes data, server => client 02:01:33.478409 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:33.478419 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:33.478429 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:33.478508 < 16 bytes data, client => server 02:01:33.478521 'USER anonymous\r\n' 02:01:33.479720 Received DATA (on stdin) 02:01:33.479733 > 33 bytes data, server => client 02:01:33.479744 '331 We are happy you popped in!\r\n' 02:01:33.479803 < 22 bytes data, client => server 02:01:33.479814 'PASS ftp@example.com\r\n' 02:01:33.479935 Received DATA (on stdin) 02:01:33.479945 > 30 bytes data, server => client 02:01:33.479955 '230 Welcome you silly person\r\n' 02:01:33.480001 < 5 bytes data, client => server 02:01:33.480011 'PWD\r\n' 02:01:33.480107 Received DATA (on stdin) 02:01:33.480117 > 30 bytes data, server => client 02:01:33.480127 '257 "/" is current directory\r\n' 02:01:33.480178 < 6 bytes data, client => server 02:01:33.480188 'EPSV\r\n' 02:01:33.492066 Received DATA (on stdin) 02:01:33.492084 > 38 bytes data, server => client 02:01:33.492096 '229 Entering Passive Mode (|||38137|)\n' 02:01:33.492274 < 8 bytes data, client => server 02:01:33.492292 'TYPE I\r\n' 02:01:33.492526 Received DATA (on stdin) 02:01:33.492540 > 33 bytes data, server => client 02:01:33.492552 '200 I modify TYPE as you wanted\r\n' 02:01:33.492614 < 21 bytes data, client => server 02:01:33.492629 'SIZE verifiedserver\r\n' 02:01:33.492750 Received DATA (on stdin) 02:01:33.492762 > 8 bytes data, server => client 02:01:33.492772 '213 17\r\n' 02:01:33.492827 < 21 bytes data, client => server 02:01:33.492840 'RETR verifiedserver\r\n' 02:01:33.493059 Received DATA (on stdin) 02:01:33.493071 > 29 bytes data, server => client 02:01:33.493082 '150 Binary junk (17 bytes).\r\n' 02:01:33.493610 Received DATA (on stdin) 02:01:33.493624 > 28 bytes data, server => client 02:01:33.493635 '226 File transfer complete\r\n' 02:01:33.538599 < 6 bytes data, client => server 02:01:33.538623 'QUIT\r\n' 02:01:33.542068 Received DATA (on stdin) 02:01:33.542089 > 18 bytes data, server => client 02:01:33.542102 '221 bye bye baby\r\n' 02:01:33.542903 ====> Client disconnect 02:01:33.543091 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:33.481561 Running IPv4 version 02:01:33.481612 Listening on port 38137 02:01:33.481640 Wrote pid 88728 to log/11/server/ftp_sockdata.pid 02:01:33.481759 Received PING (on stdin) 02:01:33.491843 Received PORT (on stdin) 02:01:33.492314 ====> Client connect 02:01:33.493137 Received DATA (on stdin) 02:01:33.493153 > 17 bytes data, server => client 02:01:33.493164 'WE ROOLZ: 80480\r\n' 02:01:33.493195 Received DISC (on stdin) 02:01:33.493208 ====> Client forcibly disconnected 02:01:33.493356 Received QUIT (on stdin) 02:01:33.493368 quits 02:01:33.493416 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY FAIL 500 this might not be a failure Testnum 227 === End of file server.cmd === Start of file valgrind227 ==88767== ==88767== Process terminating with default action of signal 4 (SIGILL) ==88767== Illegal opcode at address 0x10B08D ==88767== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88767== by 0x10B08D: main (tool_main.c:232) === End of file valgrind227 test 0228...[FTP RETR with ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind228 ../src/curl -q --output log/4/curl228.out --include --trace-ascii log/4/trace228 --trace-config all --trace-time ftp://127.0.0.1:34583/228 --ftp-account "one count" > log/4/stdout228 2> log/4/stderr228 228: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 228 === Start of file ftp_server.log 02:01:33.348412 ====> Client connect 02:01:33.348579 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:33.351842 < "USER anonymous" 02:01:33.351900 > "331 We are happy you popped in![CR][LF]" 02:01:33.353908 < "PASS ftp@example.com" 02:01:33.353951 > "230 Welcome you silly person[CR][LF]" 02:01:33.354149 < "PWD" 02:01:33.354201 > "257 "/" is current directory[CR][LF]" 02:01:33.354369 < "EPSV" 02:01:33.354396 ====> Passive DATA channel requested by client 02:01:33.354409 DATA sockfilt for passive data channel starting... 02:01:33.367752 DATA sockfilt for passive data channel started (pid 88764) 02:01:33.368481 DATA sockfilt for passive data channel listens on port 42171 02:01:33.368539 > "229 Entering Passive Mode (|||42171|)[LF]" 02:01:33.368558 Client has been notified that DATA conn will be accepted on port 42171 02:01:33.369158 Client connects to port 42171 02:01:33.369197 ====> Client established passive DATA connection on port 42171 02:01:33.369292 < "TYPE I" 02:01:33.369330 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:33.369523 < "SIZE verifiedserver" 02:01:33.369566 > "213 17[CR][LF]" 02:01:33.369735 < "RETR verifiedserver" 02:01:33.369775 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:33.369861 =====> Closing passive DATA connection... 02:01:33.369877 Server disconnects passive DATA connection 02:01:33.370047 Server disconnected passive DATA connection 02:01:33.370071 DATA sockfilt for passive data channel quits (pid 88764) 02:01:33.370351 DATA sockfilt for passive data channel quit (pid 88764) 02:01:33.370376 =====> Closed passive DATA connection 02:01:33.370405 > "226 File transfer complete[CR][LF]" 02:01:33.415564 < "QUIT" 02:01:33.415614 > "221 bye bye baby[CR][LF]" 02:01:33.416597 MAIN sockfilt said DISC 02:01:33.416637 ====> Client disconnected 02:01:33.416708 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:33.537861 ====> Client connect 02:01:33.548741 Received DATA (on stdin) 02:01:33.548762 > 160 bytes data, server => client 02:01:33.548774 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:33.548785 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:33.548795 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:33.548885 < 16 bytes data, client => server 02:01:33.548897 'USER anonymous\r\n' 02:01:33.552052 Received DATA (on stdin) 02:01:33.552068 > 33 bytes data, server => client 02:01:33.552080 '331 We are happy you popped in!\r\n' 02:01:33.552149 < 22 bytes data, client => server 02:01:33.552163 'PASS ftp@example.com\r\n' 02:01:33.554097 Received DATA (on stdin) 02:01:33.554113 > 30 bytes data, server => client 02:01:33.554125 '230 Welcome you silly person\r\n' 02:01:33.554192 < 5 bytes data, client => server 02:01:33.554205 'PWD\r\n' 02:01:33.554340 Received DATA (on stdin) 02:01:33.554353 > 30 bytes data, server => client 02:01:33.554364 '257 "/" is current directory\r\n' 02:01:33.554427 < 6 bytes data, client => server 02:01:33.554439 'EPSV\r\n' 02:01:33.568709 Received DATA (on stdin) 02:01:33.568727 > 38 bytes data, server => client 02:01:33.568738 '229 Entering Passive Mode (|||42171|)\n' 02:01:33.569205 < 8 bytes data, client => server 02:01:33.569226 'TYPE I\r\n' 02:01:33.569474 Received DATA (on stdin) 02:01:33.569488 > 33 bytes data, server => client 02:01:33.569505 '200 I modify TYPE as you wanted\r\n' 02:01:33.569565 < 21 bytes data, client => server 02:01:33.569578 'SIZE verifiedserver\r\n' 02:01:33.569708 Received DATA (on stdin) 02:01:33.569721 > 8 bytes data, server => client 02:01:33.569731 '213 17\r\n' 02:01:33.569786 < 21 bytes data, client => server 02:01:33.569798 'RETR verifiedserver\r\n' 02:01:33.570017 Received DATA (on stdin) 02:01:33.570029 > 29 bytes data, server => client 02:01:33.570041 '150 Binary junk (17 bytes).\r\n' 02:01:33.570546 Received DATA (on stdin) 02:01:33.570560 > 28 bytes data, server => client 02:01:33.570571 '226 File transfer complete\r\n' 02:01:33.615528 < 6 bytes data, client => server 02:01:33.615557 'QUIT\r\n' 02:01:33.615763 Received DATA (on stdin) 02:01:33.615779 > 18 bytes data, server => client 02:01:33.615790 '221 bye bye baby\r\n' 02:01:33.616678 ====> Client disconnect 02:01:33.616850 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:33.562471 Running IPv4 version 02:01:33.562527 Listening on port 42171 02:01:33.565473 Wrote pid 88764 to log/4/server/ftp_sockdata.pid 02:01:33.565502 Received PING (on stdin) 02:01:33.568502 Received PORT (on stdin) 02:01:33.569249 ====> Client connect 02:01:33.570071 Received DATA (on stdin) 02:01:33.570086 > 17 bytes data, server => client 02:01:33.570097 'WE ROOLZ: 80536\r\n' 02:01:33.570123 Received DISC (on stdin) 02:01:33.570136 ====> Client forcibly disconnected 02:01:33.570283 Received QUIT (on stdin) 02:01:33.570300 quits 02:01:33.570352 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 230 thank you Testnum 228 === End of file server.cmd === Start of file valgrind228 ==88796== ==88796== Process terminating with default action of signal 4 (SIGILL) ==88796== Illegal opcode at address 0x10B08D ==88796== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88796== by 0x10B08D: main (tool_main.c:232) === End of file valgrind228 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind233 ../src/curl -q --output log/6/curl233.out --include --trace-ascii log/6/trace233 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:39457 --user iam:myself --proxy-user testing:this --location > log/6/stdout233 2> log/6/stderr233 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind234 ../src/curl -q --output log/3/curl234.out --include --trace-ascii log/3/trace234 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:34527 --user iam:myself --proxy-user testing:this --location-trusted > log/3/stdout234 2> log/3/stderr234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind229 ../src/curl -q --output log/7/curl229.out --include --trace-ascii log/7/trace229 --trace-config all --trace-time ftp://127.0.0.1:41879/229 --ftp-account "one count" > log/7/stdout229 2> log/7/stderr229 test 0231...[file:// with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind231 ../src/curl -q --output log/10/curl231.out --trace-ascii log/10/trace231 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test231.txt -C 10 > log/10/stdout231 2> log/10/stderr231 231: data FAILED: --- log/10/check-expected 2024-12-15 02:01:34.688357468 +0000 +++ log/10/check-generated 2024-12-15 02:01:34.688357468 +0000 @@ -1,2 +0,0 @@ -B01234567[LF] -C01234567[LF] == Contents of files in the log/10/ dir after test 231 === Start of file check-expected B01234567[LF] C01234567[LF] === End of file check-expected === Start of file server.cmd Testnum 231 === End of file server.cmd === Start of file test231.txt A01234567 B01234567 C01234567 === End of file test231.txt === Start of file valgrind231 ==88799== ==88799== Process terminating with default action of signal 4 (SIGILL) ==88799== Illegal opcode at address 0x10B08D ==88799== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88799== by 0x10B08D: main (tool_main.c:232) === End of file valgrind231 test 0233...[HTTP, proxy, site+proxy auth and Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind233 ../src/curl -q --output log/6/curl233.out --include --trace-ascii log/6/trace233 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:39457 --user iam:myself --proxy-user testing:this --location > log/6/stdout233 2> log/6/stderr233 233: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 233 === Start of file http_server.log 02:01:33.852735 ====> Client connect 02:01:33.852772 accept_connection 3 returned 4 02:01:33.852792 accept_connection 3 returned 0 02:01:33.852808 Read 93 bytes 02:01:33.852818 Process 93 bytes request 02:01:33.852832 Got request: GET /verifiedserver HTTP/1.1 02:01:33.852841 Are-we-friendly question received 02:01:33.852869 Wrote request (93 bytes) input to log/6/server.input 02:01:33.852890 Identifying ourselves as friends 02:01:33.852974 Response sent (56 bytes) and written to log/6/server.response 02:01:33.852988 special request received, no persistency 02:01:33.852999 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 233 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind233 ==89077== ==89077== Process terminating with default action of signal 4 (SIGILL) ==89077== Illegal opcode at address 0x10B08D ==89077== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89077== by 0x10B08D: main (tool_main.c:232) === End of file valgrind233 test 0234...[HTTP, proxy, site+proxy auth and Location: to new host using location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind234 ../src/curl -q --output log/3/curl234.out --include --trace-ascii log/3/trace234 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:34527 --user iam:myself --proxy-user testing:this --location-trusted > log/3/stdout234 2> log/3/stderr234 234: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 234 === Start of file http_server.log 02:01:33.915261 ====> Client connect 02:01:33.915312 accept_connection 3 returned 4 02:01:33.915332 accept_connection 3 returned 0 02:01:33.915348 Read 93 bytes 02:01:33.915360 Process 93 bytes request 02:01:33.915375 Got request: GET /verifiedserver HTTP/1.1 02:01:33.915385 Are-we-friendly question received 02:01:33.915410 Wrote request (93 bytes) input to log/3/server.input 02:01:33.915428 Identifying ourselves as friends 02:01:33.915512 Response sent (56 bytes) and written to log/3/server.response 02:01:33.915524 special request received, no persistency 02:01:33.915534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 234 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind234 ==89104== ==89104== Process terminating with default action of signal 4 (SIGILL) ==89104== Illegal opcode at address 0x10B08D ==89104== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89104== by 0x10B08D: main (tool_main.c:232) === End of file valgrind234 test 0229...[FTP RETR with bad ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind229 ../src/curl -q --output log/7/curl229.out --include --trace-ascii log/7/trace229 --trace-config all --trace-time ftp://127.0.0.1:41879/229 --ftp-account "one count" > log/7/stdout229 2> log/7/stderr229 229: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 229 === Start of file ftp_server.log 02:01:33.356265 ====> Client connect 02:01:33.356397 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:33.356655 < "USER anonymous" 02:01:33.356686 > "331 We are happy you popped in![CR][LF]" 02:01:33.356843 < "PASS ftp@example.com" 02:01:33.356865 > "230 Welcome you silly person[CR][LF]" 02:01:33.357001 < "PWD" 02:01:33.357030 > "257 "/" is current directory[CR][LF]" 02:01:33.360479 < "EPSV" 02:01:33.360509 ====> Passive DATA channel requested by client 02:01:33.360522 DATA sockfilt for passive data channel starting... 02:01:33.362139 DATA sockfilt for passive data channel started (pid 88766) 02:01:33.362247 DATA sockfilt for passive data channel listens on port 39825 02:01:33.362288 > "229 Entering Passive Mode (|||39825|)[LF]" 02:01:33.362304 Client has been notified that DATA conn will be accepted on port 39825 02:01:33.362564 Client connects to port 39825 02:01:33.362596 ====> Client established passive DATA connection on port 39825 02:01:33.362679 < "TYPE I" 02:01:33.362717 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:33.362918 < "SIZE verifiedserver" 02:01:33.362965 > "213 17[CR][LF]" 02:01:33.363158 < "RETR verifiedserver" 02:01:33.363200 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:33.363288 =====> Closing passive DATA connection... 02:01:33.363307 Server disconnects passive DATA conneCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind232 ../src/curl -q --output log/12/curl232.out --include --trace-ascii log/12/trace232 --trace-config all --trace-time http://127.0.0.1:40653/232 --compressed > log/12/stdout232 2> log/12/stderr232 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind226 ../src/curl -q --output log/1/curl226.out --include --trace-ascii log/1/trace226 --trace-config all --trace-time ftp://127.0.0.1:44405/226%0d > log/1/stdout226 2> log/1/stderr226 ction 02:01:33.363593 Server disconnected passive DATA connection 02:01:33.363626 DATA sockfilt for passive data channel quits (pid 88766) 02:01:33.366316 DATA sockfilt for passive data channel quit (pid 88766) 02:01:33.366341 =====> Closed passive DATA connection 02:01:33.366369 > "226 File transfer complete[CR][LF]" 02:01:33.405331 < "QUIT" 02:01:33.405383 > "221 bye bye baby[CR][LF]" 02:01:33.406257 MAIN sockfilt said DISC 02:01:33.406295 ====> Client disconnected 02:01:33.406377 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:33.556309 ====> Client connect 02:01:33.556545 Received DATA (on stdin) 02:01:33.556560 > 160 bytes data, server => client 02:01:33.556573 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:33.556585 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:33.556596 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:33.556668 < 16 bytes data, client => server 02:01:33.556681 'USER anonymous\r\n' 02:01:33.556825 Received DATA (on stdin) 02:01:33.556837 > 33 bytes data, server => client 02:01:33.556849 '331 We are happy you popped in!\r\n' 02:01:33.556899 < 22 bytes data, client => server 02:01:33.556911 'PASS ftp@example.com\r\n' 02:01:33.557002 Received DATA (on stdin) 02:01:33.557013 > 30 bytes data, server => client 02:01:33.557024 '230 Welcome you silly person\r\n' 02:01:33.557068 < 5 bytes data, client => server 02:01:33.557079 'PWD\r\n' 02:01:33.557166 Received DATA (on stdin) 02:01:33.557178 > 30 bytes data, server => client 02:01:33.557189 '257 "/" is current directory\r\n' 02:01:33.557239 < 6 bytes data, client => server 02:01:33.557250 'EPSV\r\n' 02:01:33.562451 Received DATA (on stdin) 02:01:33.562466 > 38 bytes data, server => client 02:01:33.562481 '229 Entering Passive Mode (|||39825|)\n' 02:01:33.562621 < 8 bytes data, client => server 02:01:33.562638 'TYPE I\r\n' 02:01:33.562863 Received DATA (on stdin) 02:01:33.562878 > 33 bytes data, server => client 02:01:33.562891 '200 I modify TYPE as you wanted\r\n' 02:01:33.562955 < 21 bytes data, client => server 02:01:33.562973 'SIZE verifiedserver\r\n' 02:01:33.563111 Received DATA (on stdin) 02:01:33.563127 > 8 bytes data, server => client 02:01:33.563139 '213 17\r\n' 02:01:33.563199 < 21 bytes data, client => server 02:01:33.563217 'RETR verifiedserver\r\n' 02:01:33.563452 Received DATA (on stdin) 02:01:33.563466 > 29 bytes data, server => client 02:01:33.563478 '150 Binary junk (17 bytes).\r\n' 02:01:33.566514 Received DATA (on stdin) 02:01:33.566528 > 28 bytes data, server => client 02:01:33.566539 '226 File transfer complete\r\n' 02:01:33.605295 < 6 bytes data, client => server 02:01:33.605329 'QUIT\r\n' 02:01:33.605527 Received DATA (on stdin) 02:01:33.605540 > 18 bytes data, server => client 02:01:33.605552 '221 bye bye baby\r\n' 02:01:33.606336 ====> Client disconnect 02:01:33.606519 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:33.562001 Running IPv4 version 02:01:33.562059 Listening on port 39825 02:01:33.562090 Wrote pid 88766 to log/7/server/ftp_sockdata.pid 02:01:33.562221 Received PING (on stdin) 02:01:33.562303 Received PORT (on stdin) 02:01:33.562657 ====> Client connect 02:01:33.563537 Received DATA (on stdin) 02:01:33.563555 > 17 bytes data, server => client 02:01:33.563568 'WE ROOLZ: 80479\r\n' 02:01:33.563603 Received DISC (on stdin) 02:01:33.563620 ====> Client forcibly disconnected 02:01:33.566256 Received QUIT (on stdin) 02:01:33.566271 quits 02:01:33.566325 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 532 bluah Testnum 229 === End of file server.cmd === Start of file valgrind229 ==88790== ==88790== Process terminating with default action of signal 4 (SIGILL) ==88790== Illegal opcode at address 0x10B08D ==88790== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==88790== by 0x10B08D: main (tool_main.c:232) === End of file valgrind229 test 0232...[HTTP GET deflate raw-compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind232 ../src/curl -q --output log/12/curl232.out --include --trace-ascii log/12/trace232 --trace-config all --trace-time http://127.0.0.1:40653/232 --compressed > log/12/stdout232 2> log/12/stderr232 232: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 232 === Start of file http_server.log 02:01:33.868542 ====> Client connect 02:01:33.868575 accept_connection 3 returned 4 02:01:33.868594 accept_connection 3 returned 0 02:01:33.868608 Read 93 bytes 02:01:33.868619 Process 93 bytes request 02:01:33.868633 Got request: GET /verifiedserver HTTP/1.1 02:01:33.868643 Are-we-friendly question received 02:01:33.868666 Wrote request (93 bytes) input to log/12/server.input 02:01:33.868683 Identifying ourselves as friends 02:01:33.868793 Response sent (56 bytes) and written to log/12/server.response 02:01:33.868806 special request received, no persistency 02:01:33.868815 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind232 ==89098== ==89098== Process terminating with default action of signal 4 (SIGILL) ==89098== Illegal opcode at address 0x10B08D ==89098== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89098== by 0x10B08D: main (tool_main.c:232) === End of file valgrind232 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/ftp_server.pid" --logfile "log/1/ftp_server.log" --logdir "log/1" --portfile "log/1/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44405 (log/1/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:44405/verifiedserver" 2>log/1/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 88524 port 44405 * pid ftp => 88524 88524 test 0226...[FTP %0d-code in URL's CWD part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind226 ../src/curl -q --output log/1/curl226.out --include --trace-ascii log/1/trace226 --trace-config all --trace-time ftp://127.0.0.1:44405/226%0d > log/1/stdout226 2> log/1/stderr226 curl returned 132, when expecting 3 226: exit FAILED == Contents of files in the log/1/ dir after test 226 === Start of file ftp_server.log 02:01:32.636698 FTP server listens on port IPv4/44405 02:01:32.636815 logged pid 88524 in log/1/server/ftp_server.pid 02:01:32.636847 Awaiting input 02:01:33.655173 ====> Client connect 02:01:33.655312 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:33.655577 < "USER anonymous" 02:01:33.655607 > "331 We are happy you popped in![CR][LF]" 02:01:33.655759 < "PASS ftp@example.com" 02:01:33.655782 > "230 Welcome you silly person[CR][LF]" CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind236 ../src/curl -q --output log/5/curl236.out --include --trace-ascii log/5/trace236 --trace-config all --trace-time ftp://127.0.0.1:36485/236 -T log/5/file236.txt -C - > log/5/stdout236 2> log/5/stderr236 02:01:33.655922 < "PWD" 02:01:33.655947 > "257 "/" is current directory[CR][LF]" 02:01:33.656096 < "EPSV" 02:01:33.656121 ====> Passive DATA channel requested by client 02:01:33.656133 DATA sockfilt for passive data channel starting... 02:01:33.666163 DATA sockfilt for passive data channel started (pid 89071) 02:01:33.666351 DATA sockfilt for passive data channel listens on port 37539 02:01:33.666421 > "229 Entering Passive Mode (|||37539|)[LF]" 02:01:33.666448 Client has been notified that DATA conn will be accepted on port 37539 02:01:33.666805 Client connects to port 37539 02:01:33.666846 ====> Client established passive DATA connection on port 37539 02:01:33.667019 < "TYPE I" 02:01:33.667068 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:33.668604 < "SIZE verifiedserver" 02:01:33.668734 > "213 17[CR][LF]" 02:01:33.668938 < "RETR verifiedserver" 02:01:33.668978 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:33.669076 =====> Closing passive DATA connection... 02:01:33.669096 Server disconnects passive DATA connection 02:01:33.669343 Server disconnected passive DATA connection 02:01:33.669376 DATA sockfilt for passive data channel quits (pid 89071) 02:01:33.669749 DATA sockfilt for passive data channel quit (pid 89071) 02:01:33.669775 =====> Closed passive DATA connection 02:01:33.669805 > "226 File transfer complete[CR][LF]" 02:01:33.715724 < "QUIT" 02:01:33.715792 > "221 bye bye baby[CR][LF]" 02:01:33.716639 MAIN sockfilt said DISC 02:01:33.716679 ====> Client disconnected 02:01:33.716752 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:32.836439 Running IPv4 version 02:01:32.836532 Listening on port 44405 02:01:32.836575 Wrote pid 88583 to log/1/server/ftp_sockctrl.pid 02:01:32.836607 Wrote port 44405 to log/1/server/ftp_server.port 02:01:32.836746 Received PING (on stdin) 02:01:33.855238 ====> Client connect 02:01:33.855459 Received DATA (on stdin) 02:01:33.855471 > 160 bytes data, server => client 02:01:33.855484 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:33.855496 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:33.855506 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:33.855573 < 16 bytes data, client => server 02:01:33.855586 'USER anonymous\r\n' 02:01:33.855747 Received DATA (on stdin) 02:01:33.855759 > 33 bytes data, server => client 02:01:33.855769 '331 We are happy you popped in!\r\n' 02:01:33.855818 < 22 bytes data, client => server 02:01:33.855831 'PASS ftp@example.com\r\n' 02:01:33.855919 Received DATA (on stdin) 02:01:33.855930 > 30 bytes data, server => client 02:01:33.855942 '230 Welcome you silly person\r\n' 02:01:33.855987 < 5 bytes data, client => server 02:01:33.855997 'PWD\r\n' 02:01:33.856087 Received DATA (on stdin) 02:01:33.856098 > 30 bytes data, server => client 02:01:33.856108 '257 "/" is current directory\r\n' 02:01:33.856160 < 6 bytes data, client => server 02:01:33.856170 'EPSV\r\n' 02:01:33.866609 Received DATA (on stdin) 02:01:33.866629 > 38 bytes data, server => client 02:01:33.866642 '229 Entering Passive Mode (|||37539|)\n' 02:01:33.867022 < 8 bytes data, client => server 02:01:33.867042 'TYPE I\r\n' 02:01:33.867219 Received DATA (on stdin) 02:01:33.867237 > 33 bytes data, server => client 02:01:33.867250 '200 I modify TYPE as you wanted\r\n' 02:01:33.868604 < 21 bytes data, client => server 02:01:33.868627 'SIZE verifiedserver\r\n' 02:01:33.868890 Received DATA (on stdin) 02:01:33.868906 > 8 bytes data, server => client 02:01:33.868918 '213 17\r\n' 02:01:33.868976 < 21 bytes data, client => server 02:01:33.868989 'RETR verifiedserver\r\n' 02:01:33.869730 Received DATA (on stdin) 02:01:33.869748 > 29 bytes data, server => client 02:01:33.869760 '150 Binary junk (17 bytes).\r\n' 02:01:33.869948 Received DATA (on stdin) 02:01:33.869961 > 28 bytes data, server => client 02:01:33.869972 '226 File transfer complete\r\n' 02:01:33.915433 < 6 bytes data, client => server 02:01:33.915466 'QUIT\r\n' 02:01:33.915952 Received DATA (on stdin) 02:01:33.915972 > 18 bytes data, server => client 02:01:33.915985 '221 bye bye baby\r\n' 02:01:33.916715 ====> Client disconnect 02:01:33.916919 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:33.865909 Running IPv4 version 02:01:33.865993 Listening on port 37539 02:01:33.866040 Wrote pid 89071 to log/1/server/ftp_sockdata.pid 02:01:33.866227 Received PING (on stdin) 02:01:33.866372 Received PORT (on stdin) 02:01:33.866890 ====> Client connect 02:01:33.869273 Received DATA (on stdin) 02:01:33.869363 > 17 bytes data, server => client 02:01:33.869376 'WE ROOLZ: 88524\r\n' 02:01:33.869408 Received DISC (on stdin) 02:01:33.869421 ====> Client forcibly disconnected 02:01:33.869529 Received QUIT (on stdin) 02:01:33.869543 quits 02:01:33.869591 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 ==89096== ==89096== Process terminating with default action of signal 4 (SIGILL) ==89096== Illegal opcode at address 0x10B08D ==89096== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89096== by 0x10B08D: main (tool_main.c:232) === End of file valgrind226 test 0236...[FTP resume upload but denied access to remote file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind236 ../src/curl -q --output log/5/curl236.out --include --trace-ascii log/5/trace236 --trace-config all --trace-time ftp://127.0.0.1:36485/236 -T log/5/file236.txt -C - > log/5/stdout236 2> log/5/stderr236 236: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 236 === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 02:01:33.863780 ====> Client connect 02:01:33.863927 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:33.864202 < "USER anonymous" 02:01:33.864242 > "331 We are happy you popped in![CR][LF]" 02:01:33.865558 < "PASS ftp@example.com" 02:01:33.865594 > "230 Welcome you silly person[CR][LF]" 02:01:33.865762 < "PWD" 02:01:33.865795 > "257 "/" is current directory[CR][LF]" 02:01:33.875368 < "EPSV" 02:01:33.875419 ====> Passive DATA channel requested by client 02:01:33.875433 DATA sockfilt for passive data channel starting... 02:01:33.884246 DATA sockfilt for passive data channel started (pid 89276) 02:01:33.884419 DATA sockfilt for passive data channel listens on port 41717 02:01:33.884483 > "229 Entering Passive Mode (|||41717|)[LF]" 02:01:33.884508 Client has been notified that DATA conn will be accepted on port 41717 02:01:33.884845 Client connects to port 41717 02:01:33.884878 ====> Client established passive DATA connection on port 41717 02:01:33.884971 < "TYPE I" 02:01:33.885013 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:33.885287 < "SIZE verifiedserver" 02:01:33.885333 > "213 17[CR][LF]" 02:01:33.885522 < "RETR verifiedserver" 02:01:33.885559 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:33.885654 =====> Closing passive DATA connection... 02:01:33.885677 Server disconnects passive DATA connection 02:01:33.885926 Server disconnected passive DATA connection 02:01:33.885959 DATA sockfilt for passive data channel quits (pid 89276) 02:01:33.886279 DATA sockfilt for passive data channel quit (pid 89276) 02:01:33.886410 =====> Closed passive DATA connection 02:01:33.886448 > "226 File transfer complete[CR][LF]" 02:01:33.932036 < "QUIT" 02:01:33.932102 > "221 bye bye baby[CR][LF]" 02:01:33.932906 MAIN sockfilt said DISC 02:01:33.932939 ====> Client disconnected 02:01:33.933008 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind237 ../src/curl -q --output log/2/curl237.out --include --trace-ascii log/2/trace237 --trace-config all --trace-time ftp://127.0.0.1:36595/237 --disable-epsv > log/2/stdout237 2> log/2/stderr237 g 02:01:33.063814 ====> Client connect 02:01:33.064080 Received DATA (on stdin) 02:01:33.064096 > 160 bytes data, server => client 02:01:33.064109 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:33.064120 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:33.064130 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:33.064202 < 16 bytes data, client => server 02:01:33.064215 'USER anonymous\r\n' 02:01:33.064387 Received DATA (on stdin) 02:01:33.064399 > 33 bytes data, server => client 02:01:33.064410 '331 We are happy you popped in!\r\n' 02:01:33.064792 < 22 bytes data, client => server 02:01:33.064811 'PASS ftp@example.com\r\n' 02:01:33.065736 Received DATA (on stdin) 02:01:33.065749 > 30 bytes data, server => client 02:01:33.065759 '230 Welcome you silly person\r\n' 02:01:33.065815 < 5 bytes data, client => server 02:01:33.065826 'PWD\r\n' 02:01:33.070266 Received DATA (on stdin) 02:01:33.070289 > 30 bytes data, server => client 02:01:33.070300 '257 "/" is current directory\r\n' 02:01:33.071962 < 6 bytes data, client => server 02:01:33.071981 'EPSV\r\n' 02:01:33.084665 Received DATA (on stdin) 02:01:33.084686 > 38 bytes data, server => client 02:01:33.084700 '229 Entering Passive Mode (|||41717|)\n' 02:01:33.084922 < 8 bytes data, client => server 02:01:33.084940 'TYPE I\r\n' 02:01:33.085237 Received DATA (on stdin) 02:01:33.085255 > 33 bytes data, server => client 02:01:33.085267 '200 I modify TYPE as you wanted\r\n' 02:01:33.085333 < 21 bytes data, client => server 02:01:33.085347 'SIZE verifiedserver\r\n' 02:01:33.085478 Received DATA (on stdin) 02:01:33.085497 > 8 bytes data, server => client 02:01:33.085508 '213 17\r\n' 02:01:33.085568 < 21 bytes data, client => server 02:01:33.085586 'RETR verifiedserver\r\n' 02:01:33.085920 Received DATA (on stdin) 02:01:33.085933 > 29 bytes data, server => client 02:01:33.085944 '150 Binary junk (17 bytes).\r\n' 02:01:33.086593 Received DATA (on stdin) 02:01:33.086608 > 28 bytes data, server => client 02:01:33.086620 '226 File transfer complete\r\n' 02:01:33.131974 < 6 bytes data, client => server 02:01:33.132010 'QUIT\r\n' 02:01:33.132253 Received DATA (on stdin) 02:01:33.132270 > 18 bytes data, server => client 02:01:33.132281 '221 bye bye baby\r\n' 02:01:33.132994 ====> Client disconnect 02:01:33.133147 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:33.083162 Running IPv4 version 02:01:33.083254 Listening on port 41717 02:01:33.083314 Wrote pid 89276 to log/5/server/ftp_sockdata.pid 02:01:33.083475 Received PING (on stdin) 02:01:33.084441 Received PORT (on stdin) 02:01:33.084888 ====> Client connect 02:01:33.085821 Received DATA (on stdin) 02:01:33.085836 > 17 bytes data, server => client 02:01:33.085848 'WE ROOLZ: 80534\r\n' 02:01:33.085882 Received DISC (on stdin) 02:01:33.085895 ====> Client forcibly disconnected 02:01:33.086110 Received QUIT (on stdin) 02:01:33.086126 quits 02:01:33.086187 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 550 access to this file is very much denied REPLY APPE 550 I said: access to this file is very much denied REPLY STOR 550 I said: access to this file is very much denied REPLY SIZE 500 command not understood Testnum 236 === End of file server.cmd === Start of file valgrind236 ==89314== ==89314== Process terminating with default action of signal 4 (SIGILL) ==89314== Illegal opcode at address 0x10B08D ==89314== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89314== by 0x10B08D: main (tool_main.c:232) === End of file valgrind236 test 0237...[FTP getting bad host in 227-response to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind237 ../src/curl -q --output log/2/curl237.out --include --trace-ascii log/2/trace237 --trace-config all --trace-time ftp://127.0.0.1:36595/237 --disable-epsv > log/2/stdout237 2> log/2/stderr237 237: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 237 === Start of file ftp_server.log 02:01:34.124353 ====> Client connect 02:01:34.124496 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:34.124776 < "USER anonymous" 02:01:34.124810 > "331 We are happy you popped in![CR][LF]" 02:01:34.128108 < "PASS ftp@example.com" 02:01:34.128150 > "230 Welcome you silly person[CR][LF]" 02:01:34.128497 < "PWD" 02:01:34.128537 > "257 "/" is current directory[CR][LF]" 02:01:34.128712 < "EPSV" 02:01:34.128740 ====> Passive DATA channel requested by client 02:01:34.128753 DATA sockfilt for passive data channel starting... 02:01:34.136841 DATA sockfilt for passive data channel started (pid 89405) 02:01:34.137085 DATA sockfilt for passive data channel listens on port 35649 02:01:34.137149 > "229 Entering Passive Mode (|||35649|)[LF]" 02:01:34.137169 Client has been notified that DATA conn will be accepted on port 35649 02:01:34.143209 Client connects to port 35649 02:01:34.143270 ====> Client established passive DATA connection on port 35649 02:01:34.143382 < "TYPE I" 02:01:34.143422 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:34.143658 < "SIZE verifiedserver" 02:01:34.143709 > "213 17[CR][LF]" 02:01:34.143888 < "RETR verifiedserver" 02:01:34.143930 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:34.144024 =====> Closing passive DATA connection... 02:01:34.144040 Server disconnects passive DATA connection 02:01:34.144306 Server disconnected passive DATA connection 02:01:34.144333 DATA sockfilt for passive data channel quits (pid 89405) 02:01:34.144557 DATA sockfilt for passive data channel quit (pid 89405) 02:01:34.144579 =====> Closed passive DATA connection 02:01:34.144606 > "226 File transfer complete[CR][LF]" 02:01:34.195625 < "QUIT" 02:01:34.195688 > "221 bye bye baby[CR][LF]" 02:01:34.199307 MAIN sockfilt said DISC 02:01:34.199356 ====> Client disconnected 02:01:34.199432 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:34.324368 ====> Client connect 02:01:34.324647 Received DATA (on stdin) 02:01:34.324662 > 160 bytes data, server => client 02:01:34.324674 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:34.324685 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:34.324694 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:34.324777 < 16 bytes data, client => server 02:01:34.324789 'USER anonymous\r\n' 02:01:34.324950 Received DATA (on stdin) 02:01:34.324961 > 33 bytes data, server => client 02:01:34.324971 '331 We are happy you popped in!\r\n' 02:01:34.325026 < 22 bytes data, client => server 02:01:34.325036 'PASS ftp@example.com\r\n' 02:01:34.328416 Received DATA (on stdin) 02:01:34.328435 > 30 bytes data, server => client 02:01:34.328446 '230 Welcome you silly person\r\n' 02:01:34.328525 < 5 bytes data, client => server 02:01:34.328538 'PWD\r\n' 02:01:34.328677 Received DATA (on stdin) 02:01:34.328689 > 30 bytes data, server => client 02:01:34.328699 '257 "/" is current directory\r\n' 02:01:34.328762 < 6 bytes data, client => server 02:01:34.328774 'EPSV\r\n' 02:01:34.337326 Received DATA (on stdin) 02:01:34.337344 > 38 bytes data, server => client 02:01:34.337356 '229 Entering Passive Mode (|||35649|)\n' 02:01:34.341847 < 8 bytes data, client => server 02:01:34.341880 'TYPE I\r\n' 02:01:34.343567 Received DATA (on stdin) 02:01:34.343584 > 33 bytes data, server => client 02:01:34.343597 '200 I modify TYPE as you wanted\r\n' 02:01:34.343682 < 21 bytes data, client => server 02:01:34.343696 'SIZE verifiedserver\r\n' 02:01:34.343852 Received DATA (on stdin) 02:01:34.343866 > 8 bytes data, server => client 02:01:34.343877 '213 17\r\n' 02:01CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind235 ../src/curl -q --output log/8/curl235.out --include --trace-ascii log/8/trace235 --trace-config all --trace-time ftp://127.0.0.1:39101/235 -T log/8/upload235 -C - > log/8/stdout235 2> log/8/stderr235 :34.343940 < 21 bytes data, client => server 02:01:34.343953 'RETR verifiedserver\r\n' 02:01:34.344181 Received DATA (on stdin) 02:01:34.344194 > 29 bytes data, server => client 02:01:34.344205 '150 Binary junk (17 bytes).\r\n' 02:01:34.344746 Received DATA (on stdin) 02:01:34.344761 > 28 bytes data, server => client 02:01:34.344772 '226 File transfer complete\r\n' 02:01:34.389251 < 6 bytes data, client => server 02:01:34.389302 'QUIT\r\n' 02:01:34.397670 Received DATA (on stdin) 02:01:34.397701 > 18 bytes data, server => client 02:01:34.397714 '221 bye bye baby\r\n' 02:01:34.399376 ====> Client disconnect 02:01:34.399571 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:34.336683 Running IPv4 version 02:01:34.336767 Listening on port 35649 02:01:34.336892 Wrote pid 89405 to log/2/server/ftp_sockdata.pid 02:01:34.336913 Received PING (on stdin) 02:01:34.337113 Received PORT (on stdin) 02:01:34.343280 ====> Client connect 02:01:34.344268 Received DATA (on stdin) 02:01:34.344284 > 17 bytes data, server => client 02:01:34.344296 'WE ROOLZ: 80457\r\n' 02:01:34.344328 Received DISC (on stdin) 02:01:34.344341 ====> Client forcibly disconnected 02:01:34.344482 Received QUIT (on stdin) 02:01:34.344495 quits 02:01:34.344558 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASV 227 Entering Passiv Mode (1216,256,2,127,127,127) Testnum 237 === End of file server.cmd === Start of file valgrind237 ==89436== ==89436== Process terminating with default action of signal 4 (SIGILL) ==89436== Illegal opcode at address 0x10B08D ==89436== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89436== by 0x10B08D: main (tool_main.c:232) === End of file valgrind237 test 0235...[FTP resumed upload but no file present remotely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind235 ../src/curl -q --output log/8/curl235.out --include --trace-ascii log/8/trace235 --trace-config all --trace-time ftp://127.0.0.1:39101/235 -T log/8/upload235 -C - > log/8/stdout235 2> log/8/stderr235 235: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 235 === Start of file ftp_server.log 02:01:33.846623 ====> Client connect 02:01:33.846768 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:33.847479 < "USER anonymous" 02:01:33.847523 > "331 We are happy you popped in![CR][LF]" 02:01:33.847700 < "PASS ftp@example.com" 02:01:33.847729 > "230 Welcome you silly person[CR][LF]" 02:01:33.847891 < "PWD" 02:01:33.847921 > "257 "/" is current directory[CR][LF]" 02:01:33.848963 < "EPSV" 02:01:33.848989 ====> Passive DATA channel requested by client 02:01:33.849002 DATA sockfilt for passive data channel starting... 02:01:33.854884 DATA sockfilt for passive data channel started (pid 89251) 02:01:33.855020 DATA sockfilt for passive data channel listens on port 33197 02:01:33.855082 > "229 Entering Passive Mode (|||33197|)[LF]" 02:01:33.855098 Client has been notified that DATA conn will be accepted on port 33197 02:01:33.859111 Client connects to port 33197 02:01:33.859145 ====> Client established passive DATA connection on port 33197 02:01:33.859229 < "TYPE I" 02:01:33.859262 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:33.859558 < "SIZE verifiedserver" 02:01:33.859598 > "213 17[CR][LF]" 02:01:33.859754 < "RETR verifiedserver" 02:01:33.859789 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:33.859865 =====> Closing passive DATA connection... 02:01:33.859879 Server disconnects passive DATA connection 02:01:33.860569 Server disconnected passive DATA connection 02:01:33.860605 DATA sockfilt for passive data channel quits (pid 89251) 02:01:33.871741 DATA sockfilt for passive data channel quit (pid 89251) 02:01:33.871799 =====> Closed passive DATA connection 02:01:33.871843 > "226 File transfer complete[CR][LF]" 02:01:33.917962 < "QUIT" 02:01:33.918017 > "221 bye bye baby[CR][LF]" 02:01:33.918839 MAIN sockfilt said DISC 02:01:33.918882 ====> Client disconnected 02:01:33.918946 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:34.046663 ====> Client connect 02:01:34.046918 Received DATA (on stdin) 02:01:34.046935 > 160 bytes data, server => client 02:01:34.046948 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:34.046959 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:34.046970 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:34.047452 < 16 bytes data, client => server 02:01:34.047473 'USER anonymous\r\n' 02:01:34.047666 Received DATA (on stdin) 02:01:34.047679 > 33 bytes data, server => client 02:01:34.047691 '331 We are happy you popped in!\r\n' 02:01:34.047743 < 22 bytes data, client => server 02:01:34.047755 'PASS ftp@example.com\r\n' 02:01:34.047878 Received DATA (on stdin) 02:01:34.047890 > 30 bytes data, server => client 02:01:34.047901 '230 Welcome you silly person\r\n' 02:01:34.047948 < 5 bytes data, client => server 02:01:34.047958 'PWD\r\n' 02:01:34.048058 Received DATA (on stdin) 02:01:34.048068 > 30 bytes data, server => client 02:01:34.048078 '257 "/" is current directory\r\n' 02:01:34.049003 < 6 bytes data, client => server 02:01:34.049021 'EPSV\r\n' 02:01:34.055246 Received DATA (on stdin) 02:01:34.055260 > 38 bytes data, server => client 02:01:34.055271 '229 Entering Passive Mode (|||33197|)\n' 02:01:34.059157 < 8 bytes data, client => server 02:01:34.059179 'TYPE I\r\n' 02:01:34.059404 Received DATA (on stdin) 02:01:34.059417 > 33 bytes data, server => client 02:01:34.059535 '200 I modify TYPE as you wanted\r\n' 02:01:34.059603 < 21 bytes data, client => server 02:01:34.059615 'SIZE verifiedserver\r\n' 02:01:34.059737 Received DATA (on stdin) 02:01:34.059748 > 8 bytes data, server => client 02:01:34.059758 '213 17\r\n' 02:01:34.059808 < 21 bytes data, client => server 02:01:34.059821 'RETR verifiedserver\r\n' 02:01:34.060132 Received DATA (on stdin) 02:01:34.060145 > 29 bytes data, server => client 02:01:34.060157 '150 Binary junk (17 bytes).\r\n' 02:01:34.071998 Received DATA (on stdin) 02:01:34.072016 > 28 bytes data, server => client 02:01:34.072028 '226 File transfer complete\r\n' 02:01:34.110362 < 6 bytes data, client => server 02:01:34.111338 'QUIT\r\n' 02:01:34.118168 Received DATA (on stdin) 02:01:34.118189 > 18 bytes data, server => client 02:01:34.118200 '221 bye bye baby\r\n' 02:01:34.118909 ====> Client disconnect 02:01:34.119087 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:33.054687 Running IPv4 version 02:01:33.054759 Listening on port 33197 02:01:33.054801 Wrote pid 89251 to log/8/server/ftp_sockdata.pid 02:01:33.054959 Received PING (on stdin) 02:01:33.055062 Received PORT (on stdin) 02:01:33.059201 ====> Client connect 02:01:33.060019 Received DATA (on stdin) 02:01:33.060032 > 17 bytes data, server => client 02:01:33.060043 'WE ROOLZ: 80441\r\n' 02:01:33.060078 Received DISC (on stdin) 02:01:33.060091 ====> Client forcibly disconnected 02:01:33.069211 Received QUIT (on stdin) 02:01:33.069245 quits 02:01:33.069402 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 500 command not understood Testnum 235 === End of file server.cmd === Start of file upload235 this is the *****crap******** that we're gonna upload worx? === End of file upload235 === Start of file valgrind235 ==89315== ==89315== Process terminating with default action of signal 4 (SIGILL) ==89315== Illegal opcode at address 0x10B08D ==89315== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89315== by 0x10B08D: main (tool_main.c:232) === End of filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind238 ../src/curl -q --output log/9/curl238.out --include --trace-ascii log/9/trace238 --trace-config all --trace-time ftp://127.0.0.1:35301/238 > log/9/stdout238 2> log/9/stderr238 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind239 ../src/curl -q --output log/11/curl239.out --include --trace-ascii log/11/trace239 --trace-config all --trace-time http://127.0.0.1:44137/239 --proxy http://127.0.0.1:44137 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/11/stdout239 2> log/11/stderr239 e valgrind235 test 0238...[FTP getting bad port in response to EPSV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind238 ../src/curl -q --output log/9/curl238.out --include --trace-ascii log/9/trace238 --trace-config all --trace-time ftp://127.0.0.1:35301/238 > log/9/stdout238 2> log/9/stderr238 238: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 238 === Start of file ftp_server.log 02:01:34.485070 ====> Client connect 02:01:34.485275 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:34.485634 < "USER anonymous" 02:01:34.485671 > "331 We are happy you popped in![CR][LF]" 02:01:34.485844 < "PASS ftp@example.com" 02:01:34.485870 > "230 Welcome you silly person[CR][LF]" 02:01:34.486032 < "PWD" 02:01:34.486065 > "257 "/" is current directory[CR][LF]" 02:01:34.486233 < "EPSV" 02:01:34.486257 ====> Passive DATA channel requested by client 02:01:34.486270 DATA sockfilt for passive data channel starting... 02:01:34.501924 DATA sockfilt for passive data channel started (pid 89500) 02:01:34.502057 DATA sockfilt for passive data channel listens on port 38787 02:01:34.502101 > "229 Entering Passive Mode (|||38787|)[LF]" 02:01:34.502117 Client has been notified that DATA conn will be accepted on port 38787 02:01:34.502415 Client connects to port 38787 02:01:34.502444 ====> Client established passive DATA connection on port 38787 02:01:34.502523 < "TYPE I" 02:01:34.502553 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:34.502709 < "SIZE verifiedserver" 02:01:34.502740 > "213 17[CR][LF]" 02:01:34.502878 < "RETR verifiedserver" 02:01:34.502909 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:34.502990 =====> Closing passive DATA connection... 02:01:34.503005 Server disconnects passive DATA connection 02:01:34.503189 Server disconnected passive DATA connection 02:01:34.503212 DATA sockfilt for passive data channel quits (pid 89500) 02:01:34.503500 DATA sockfilt for passive data channel quit (pid 89500) 02:01:34.503522 =====> Closed passive DATA connection 02:01:34.503547 > "226 File transfer complete[CR][LF]" 02:01:34.558504 < "QUIT" 02:01:34.558561 > "221 bye bye baby[CR][LF]" 02:01:34.559583 MAIN sockfilt said DISC 02:01:34.559617 ====> Client disconnected 02:01:34.559684 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:34.666291 ====> Client connect 02:01:34.685432 Received DATA (on stdin) 02:01:34.685456 > 160 bytes data, server => client 02:01:34.685469 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:34.685481 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:34.685492 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:34.685629 < 16 bytes data, client => server 02:01:34.685643 'USER anonymous\r\n' 02:01:34.685814 Received DATA (on stdin) 02:01:34.685827 > 33 bytes data, server => client 02:01:34.685839 '331 We are happy you popped in!\r\n' 02:01:34.685895 < 22 bytes data, client => server 02:01:34.685908 'PASS ftp@example.com\r\n' 02:01:34.686009 Received DATA (on stdin) 02:01:34.686022 > 30 bytes data, server => client 02:01:34.686033 '230 Welcome you silly person\r\n' 02:01:34.686085 < 5 bytes data, client => server 02:01:34.686099 'PWD\r\n' 02:01:34.686205 Received DATA (on stdin) 02:01:34.686217 > 30 bytes data, server => client 02:01:34.686228 '257 "/" is current directory\r\n' 02:01:34.686290 < 6 bytes data, client => server 02:01:34.686303 'EPSV\r\n' 02:01:34.702264 Received DATA (on stdin) 02:01:34.702283 > 38 bytes data, server => client 02:01:34.702295 '229 Entering Passive Mode (|||38787|)\n' 02:01:34.702476 < 8 bytes data, client => server 02:01:34.702491 'TYPE I\r\n' 02:01:34.702692 Received DATA (on stdin) 02:01:34.702704 > 33 bytes data, server => client 02:01:34.702719 '200 I modify TYPE as you wanted\r\n' 02:01:34.702770 < 21 bytes data, client => server 02:01:34.702782 'SIZE verifiedserver\r\n' 02:01:34.702878 Received DATA (on stdin) 02:01:34.702889 > 8 bytes data, server => client 02:01:34.702899 '213 17\r\n' 02:01:34.702944 < 21 bytes data, client => server 02:01:34.702955 'RETR verifiedserver\r\n' 02:01:34.703144 Received DATA (on stdin) 02:01:34.703155 > 29 bytes data, server => client 02:01:34.703166 '150 Binary junk (17 bytes).\r\n' 02:01:34.703686 Received DATA (on stdin) 02:01:34.703703 > 28 bytes data, server => client 02:01:34.703713 '226 File transfer complete\r\n' 02:01:34.751632 < 6 bytes data, client => server 02:01:34.751665 'QUIT\r\n' 02:01:34.758710 Received DATA (on stdin) 02:01:34.758731 > 18 bytes data, server => client 02:01:34.758743 '221 bye bye baby\r\n' 02:01:34.759630 ====> Client disconnect 02:01:34.759823 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:34.699298 Running IPv4 version 02:01:34.699371 Listening on port 38787 02:01:34.699415 Wrote pid 89500 to log/9/server/ftp_sockdata.pid 02:01:34.701991 Received PING (on stdin) 02:01:34.702102 Received PORT (on stdin) 02:01:34.702510 ====> Client connect 02:01:34.703213 Received DATA (on stdin) 02:01:34.703227 > 17 bytes data, server => client 02:01:34.703238 'WE ROOLZ: 80452\r\n' 02:01:34.703266 Received DISC (on stdin) 02:01:34.703279 ====> Client forcibly disconnected 02:01:34.703407 Received QUIT (on stdin) 02:01:34.703419 quits 02:01:34.703474 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 229 Entering Passiv Mode (|||1000000|) Testnum 238 === End of file server.cmd === Start of file valgrind238 ==89508== ==89508== Process terminating with default action of signal 4 (SIGILL) ==89508== Illegal opcode at address 0x10B08D ==89508== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89508== by 0x10B08D: main (tool_main.c:232) === End of file valgrind238 test 0239...[HTTP proxy-auth NTLM and then POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind239 ../src/curl -q --output log/11/curl239.out --include --trace-ascii log/11/trace239 --trace-config all --trace-time http://127.0.0.1:44137/239 --proxy http://127.0.0.1:44137 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/11/stdout239 2> log/11/stderr239 239: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 239 === Start of file http_server.log 02:01:34.841897 ====> Client connect 02:01:34.841938 accept_connection 3 returned 4 02:01:34.841958 accept_connection 3 returned 0 02:01:34.845369 Read 93 bytes 02:01:34.845391 Process 93 bytes request 02:01:34.845406 Got request: GET /verifiedserver HTTP/1.1 02:01:34.845416 Are-we-friendly question received 02:01:34.845445 Wrote request (93 bytes) input to log/11/server.input 02:01:34.845463 Identifying ourselves as friends 02:01:34.845532 Response sent (56 bytes) and written to log/11/server.response 02:01:34.845545 special request received, no persistency 02:01:34.845554 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 239 === EnCMD (0): ../src/curl --max-time 13 --output log/4/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:33003/verifiedserver" 2>log/4/http_ipv6_verify.log CMD (0): ../src/curl --max-time 13 --output log/10/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:46331/verifiedserver" 2>log/10/http_ipv6_verify.log CMD (0): ../src/curl --max-time 13 --output log/6/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:46845/verifiedserver" 2>log/6/http_ipv6_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind243 ../src/curl -q --output log/3/curl243.out --include --trace-ascii log/3/trace243 --trace-config all --trace-time http://127.0.0.1:34527/243 --proxy http://127.0.0.1:34527 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/3/stdout243 2> log/3/stderr243 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind245 ../src/curl -q --output log/12/curl245.out --include --trace-ascii log/12/trace245 --trace-config all --trace-time http://127.0.0.1:40653/245 -u auser:apasswd --digest -d "junkelijunk" > log/12/stdout245 2> log/12/stderr245 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind244 ../src/curl -q --output log/7/curl244.out --include --trace-ascii log/7/trace244 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:41879/fir%23t/th%69rd/244/ > log/7/stdout244 2> log/7/stderr244 d of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind239 ==89563== ==89563== Process terminating with default action of signal 4 (SIGILL) ==89563== Illegal opcode at address 0x10B08D ==89563== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89563== by 0x10B08D: main (tool_main.c:232) === End of file valgrind239 test 0243...[HTTP POST with --proxy-anyauth, picking NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind243 ../src/curl -q --output log/3/curl243.out --include --trace-ascii log/3/trace243 --trace-config all --trace-time http://127.0.0.1:34527/243 --proxy http://127.0.0.1:34527 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/3/stdout243 2> log/3/stderr243 243: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 243 === Start of file http_server.log 02:01:35.337240 ====> Client connect 02:01:35.337272 accept_connection 3 returned 4 02:01:35.337289 accept_connection 3 returned 0 02:01:35.337303 Read 93 bytes 02:01:35.337315 Process 93 bytes request 02:01:35.337329 Got request: GET /verifiedserver HTTP/1.1 02:01:35.337339 Are-we-friendly question received 02:01:35.337361 Wrote request (93 bytes) input to log/3/server.input 02:01:35.337379 Identifying ourselves as friends 02:01:35.337444 Response sent (56 bytes) and written to log/3/server.response 02:01:35.337455 special request received, no persistency 02:01:35.337464 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 243 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind243 ==89652== ==89652== Process terminating with default action of signal 4 (SIGILL) ==89652== Illegal opcode at address 0x10B08D ==89652== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89652== by 0x10B08D: main (tool_main.c:232) === End of file valgrind243 test 0245...[HTTP POST --digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind245 ../src/curl -q --output log/12/curl245.out --include --trace-ascii log/12/trace245 --trace-config all --trace-time http://127.0.0.1:40653/245 -u auser:apasswd --digest -d "junkelijunk" > log/12/stdout245 2> log/12/stderr245 245: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 245 === Start of file http_server.log 02:01:35.514358 ====> Client connect 02:01:35.514390 accept_connection 3 returned 4 02:01:35.514406 accept_connection 3 returned 0 02:01:35.514420 Read 93 bytes 02:01:35.514430 Process 93 bytes request 02:01:35.514445 Got request: GET /verifiedserver HTTP/1.1 02:01:35.514454 Are-we-friendly question received 02:01:35.514475 Wrote request (93 bytes) input to log/12/server.input 02:01:35.514492 Identifying ourselves as friends 02:01:35.514556 Response sent (56 bytes) and written to log/12/server.response 02:01:35.514566 special request received, no persistency 02:01:35.514575 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 245 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind245 ==89765== ==89765== Process terminating with default action of signal 4 (SIGILL) ==89765== Illegal opcode at address 0x10B08D ==89765== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89765== by 0x10B08D: main (tool_main.c:232) === End of file valgrind245 test 0244...[FTP dir listing with nocwd and URL encoded path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind244 ../src/curl -q --output log/7/curl244.out --include --trace-ascii log/7/trace244 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:41879/fir%23t/th%69rd/244/ > log/7/stdout244 2> log/7/stderr244 244: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 244 === Start of file ftp_server.log 02:01:35.205072 ====> Client connect 02:01:35.205409 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:35.205791 < "USER anonymous" 02:01:35.205838 > "331 We are happy you popped in![CR][LF]" 02:01:35.206057 < "PASS ftp@example.com" 02:01:35.206090 > "230 Welcome you silly person[CR][LF]" 02:01:35.206274 < "PWD" 02:01:35.206315 > "257 "/" is current directory[CR][LF]" 02:01:35.206506 < "EPSV" 02:01:35.206535 ====> Passive DATA channel requested by client 02:01:35.206549 DATA sockfilt for passive data channel starting... 02:01:35.209467 DATA sockfilt for passive data channel started (pid 89668) 02:01:35.209594 DATA sockfilt for passive data channel listens on port 40949 02:01:35.209639 > "229 Entering Passive Mode (|||40949|)[LF]" 02:01:35.209659 Client has been notified that DATA conn will be accepted on port 40949 02:01:35.209972 Client connects to port 40949 02:01:35.210009 ====> Client established passive DATA connection on port 40949 02:01:35.210101 < "TYPE I" 02:01:35.210139 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:35.210337 < "SIZE verifiedserver" 02:01:35.210383 > "213 17[CR][LF]" 02:01:35.210563 < "RETR verifiedserver" 02:01:35.210604 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:35.210690 =====> Closing passive DATA connection... 02:01:35.210713 Server disconnects passive DATA connection 02:01:35.210992 Server disconnected passive DATA connection 02:01:35.211021 DATA sockfilt for passive data channel quits (pid 89668) 02:01:35.211260 DATA sockfilt for passive data channel quit (pid 89668) 02:01:35.211289 =====> Closed passive DATA connection 02:01:35.211319 > "226 File transfer complete[CR][LF]" 02:01:35.255351 < "QUIT" 02:01:35.255402 > "221 bye bye baby[CR][LF]" 02:01:35.258665 MAIN sockfilt said DISC 02:01:35.258727 ====> Client disconnected 02:01:35.258800 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:35.401901 ====> Client connect 02:01:35.405578 Received DATA (on stdin) 02:01:35.405603 > 160 bytes data, server => client 02:01:35.405617 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:35.405630 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:35CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind246 ../src/curl -q --output log/1/curl246.out --include --trace-ascii log/1/trace246 --trace-config all --trace-time http://127.0.0.1:34215/246 -u auser:apasswd --digest -d "junkelijunk" > log/1/stdout246 2> log/1/stderr246 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind249 ../src/curl -q --output log/8/curl249.out --include --trace-ascii log/8/trace249 --trace-config all --trace-time http://127.0.0.1:43803/249 -z "dec 12 12:00:00 1999 GMT" > log/8/stdout249 2> log/8/stderr249 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind247 ../src/curl -q --output log/5/curl247.out --include --trace-ascii log/5/trace247 --trace-config all --trace-time ftp://127.0.0.1:36485/247 -T log/5/test247.txt -z "apr 1 2005 08:00:00" > log/5/stdout247 2> log/5/stderr247 .405641 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:35.405767 < 16 bytes data, client => server 02:01:35.405785 'USER anonymous\r\n' 02:01:35.405984 Received DATA (on stdin) 02:01:35.405999 > 33 bytes data, server => client 02:01:35.406011 '331 We are happy you popped in!\r\n' 02:01:35.406083 < 22 bytes data, client => server 02:01:35.406098 'PASS ftp@example.com\r\n' 02:01:35.406232 Received DATA (on stdin) 02:01:35.406246 > 30 bytes data, server => client 02:01:35.406258 '230 Welcome you silly person\r\n' 02:01:35.406319 < 5 bytes data, client => server 02:01:35.406332 'PWD\r\n' 02:01:35.406459 Received DATA (on stdin) 02:01:35.406473 > 30 bytes data, server => client 02:01:35.406484 '257 "/" is current directory\r\n' 02:01:35.406555 < 6 bytes data, client => server 02:01:35.406568 'EPSV\r\n' 02:01:35.409807 Received DATA (on stdin) 02:01:35.409822 > 38 bytes data, server => client 02:01:35.409835 '229 Entering Passive Mode (|||40949|)\n' 02:01:35.410018 < 8 bytes data, client => server 02:01:35.410039 'TYPE I\r\n' 02:01:35.410287 Received DATA (on stdin) 02:01:35.410304 > 33 bytes data, server => client 02:01:35.410316 '200 I modify TYPE as you wanted\r\n' 02:01:35.410379 < 21 bytes data, client => server 02:01:35.410394 'SIZE verifiedserver\r\n' 02:01:35.410526 Received DATA (on stdin) 02:01:35.410539 > 8 bytes data, server => client 02:01:35.410550 '213 17\r\n' 02:01:35.410608 < 21 bytes data, client => server 02:01:35.410624 'RETR verifiedserver\r\n' 02:01:35.410857 Received DATA (on stdin) 02:01:35.410872 > 29 bytes data, server => client 02:01:35.410884 '150 Binary junk (17 bytes).\r\n' 02:01:35.411462 Received DATA (on stdin) 02:01:35.411477 > 28 bytes data, server => client 02:01:35.411489 '226 File transfer complete\r\n' 02:01:35.455331 < 6 bytes data, client => server 02:01:35.455359 'QUIT\r\n' 02:01:35.455551 Received DATA (on stdin) 02:01:35.455566 > 18 bytes data, server => client 02:01:35.455577 '221 bye bye baby\r\n' 02:01:35.456734 ====> Client disconnect 02:01:35.458954 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:35.409273 Running IPv4 version 02:01:35.409348 Listening on port 40949 02:01:35.409385 Wrote pid 89668 to log/7/server/ftp_sockdata.pid 02:01:35.409539 Received PING (on stdin) 02:01:35.409640 Received PORT (on stdin) 02:01:35.410063 ====> Client connect 02:01:35.410942 Received DATA (on stdin) 02:01:35.410959 > 17 bytes data, server => client 02:01:35.410971 'WE ROOLZ: 80479\r\n' 02:01:35.411005 Received DISC (on stdin) 02:01:35.411019 ====> Client forcibly disconnected 02:01:35.411174 Received QUIT (on stdin) 02:01:35.411188 quits 02:01:35.411249 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 ==89706== ==89706== Process terminating with default action of signal 4 (SIGILL) ==89706== Illegal opcode at address 0x10B08D ==89706== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89706== by 0x10B08D: main (tool_main.c:232) === End of file valgrind244 test 0246...[HTTP POST --digest with server doing a 100 before 401 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind246 ../src/curl -q --output log/1/curl246.out --include --trace-ascii log/1/trace246 --trace-config all --trace-time http://127.0.0.1:34215/246 -u auser:apasswd --digest -d "junkelijunk" > log/1/stdout246 2> log/1/stderr246 246: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 246 === Start of file http_server.log 02:01:35.521486 ====> Client connect 02:01:35.521522 accept_connection 3 returned 4 02:01:35.521541 accept_connection 3 returned 0 02:01:35.521556 Read 93 bytes 02:01:35.521568 Process 93 bytes request 02:01:35.521583 Got request: GET /verifiedserver HTTP/1.1 02:01:35.521594 Are-we-friendly question received 02:01:35.521622 Wrote request (93 bytes) input to log/1/server.input 02:01:35.521642 Identifying ourselves as friends 02:01:35.521722 Response sent (56 bytes) and written to log/1/server.response 02:01:35.521737 special request received, no persistency 02:01:35.521747 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 246 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind246 ==89802== ==89802== Process terminating with default action of signal 4 (SIGILL) ==89802== Illegal opcode at address 0x10B08D ==89802== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89802== by 0x10B08D: main (tool_main.c:232) === End of file valgrind246 test 0249...[HTTP 304 response with "illegal" Content-Length: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind249 ../src/curl -q --output log/8/curl249.out --include --trace-ascii log/8/trace249 --trace-config all --trace-time http://127.0.0.1:43803/249 -z "dec 12 12:00:00 1999 GMT" > log/8/stdout249 2> log/8/stderr249 249: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 249 === Start of file http_server.log 02:01:35.598172 ====> Client connect 02:01:35.598213 accept_connection 3 returned 4 02:01:35.598232 accept_connection 3 returned 0 02:01:35.598248 Read 93 bytes 02:01:35.598261 Process 93 bytes request 02:01:35.598277 Got request: GET /verifiedserver HTTP/1.1 02:01:35.598287 Are-we-friendly question received 02:01:35.598315 Wrote request (93 bytes) input to log/8/server.input 02:01:35.598335 Identifying ourselves as friends 02:01:35.598409 Response sent (56 bytes) and written to log/8/server.response 02:01:35.598423 special request received, no persistency 02:01:35.598436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 249 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind249 ==89850== ==89850== Process terminating with default action of signal 4 (SIGILL) ==89850== Illegal opcode at address 0x10B08D ==89850== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89850== by 0x10B08D: main (tool_main.c:232) === End of file valgrind249 test 0247...[FTP upload time condition evaluates TRUE => skip upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind247 ../src/curl -q --output log/5/curl247.out --include --trace-ascii log/5/trace24CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind248 ../src/curl -q --output log/2/curl248.out --include --trace-ascii log/2/trace248 --trace-config all --trace-time ftp://127.0.0.1:36595/248 -T log/2/test248.txt -z "apr 1 2005 08:00:00" > log/2/stdout248 2> log/2/stderr248 7 --trace-config all --trace-time ftp://127.0.0.1:36485/247 -T log/5/test247.txt -z "apr 1 2005 08:00:00" > log/5/stdout247 2> log/5/stderr247 247: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 247 === Start of file ftp_server.log 02:01:35.372680 ====> Client connect 02:01:35.372827 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:35.374217 < "USER anonymous" 02:01:35.374261 > "331 We are happy you popped in![CR][LF]" 02:01:35.374453 < "PASS ftp@example.com" 02:01:35.374482 > "230 Welcome you silly person[CR][LF]" 02:01:35.374634 < "PWD" 02:01:35.374664 > "257 "/" is current directory[CR][LF]" 02:01:35.374827 < "EPSV" 02:01:35.374851 ====> Passive DATA channel requested by client 02:01:35.374863 DATA sockfilt for passive data channel starting... 02:01:35.378967 DATA sockfilt for passive data channel started (pid 89808) 02:01:35.379096 DATA sockfilt for passive data channel listens on port 44709 02:01:35.379139 > "229 Entering Passive Mode (|||44709|)[LF]" 02:01:35.379157 Client has been notified that DATA conn will be accepted on port 44709 02:01:35.379406 Client connects to port 44709 02:01:35.379434 ====> Client established passive DATA connection on port 44709 02:01:35.379505 < "TYPE I" 02:01:35.379537 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:35.379679 < "SIZE verifiedserver" 02:01:35.379712 > "213 17[CR][LF]" 02:01:35.379844 < "RETR verifiedserver" 02:01:35.379874 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:35.379946 =====> Closing passive DATA connection... 02:01:35.379959 Server disconnects passive DATA connection 02:01:35.380175 Server disconnected passive DATA connection 02:01:35.380197 DATA sockfilt for passive data channel quits (pid 89808) 02:01:35.380385 DATA sockfilt for passive data channel quit (pid 89808) 02:01:35.380404 =====> Closed passive DATA connection 02:01:35.380429 > "226 File transfer complete[CR][LF]" 02:01:35.424588 < "QUIT" 02:01:35.424648 > "221 bye bye baby[CR][LF]" 02:01:35.428454 MAIN sockfilt said DISC 02:01:35.428515 ====> Client disconnected 02:01:35.428595 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:34.572270 ====> Client connect 02:01:34.572976 Received DATA (on stdin) 02:01:34.572992 > 160 bytes data, server => client 02:01:34.573004 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:34.573015 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:34.573025 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:34.574194 < 16 bytes data, client => server 02:01:34.574213 'USER anonymous\r\n' 02:01:34.574405 Received DATA (on stdin) 02:01:34.574418 > 33 bytes data, server => client 02:01:34.574429 '331 We are happy you popped in!\r\n' 02:01:34.574490 < 22 bytes data, client => server 02:01:34.574503 'PASS ftp@example.com\r\n' 02:01:34.574620 Received DATA (on stdin) 02:01:34.574631 > 30 bytes data, server => client 02:01:34.574642 '230 Welcome you silly person\r\n' 02:01:34.574692 < 5 bytes data, client => server 02:01:34.574703 'PWD\r\n' 02:01:34.574802 Received DATA (on stdin) 02:01:34.574813 > 30 bytes data, server => client 02:01:34.574823 '257 "/" is current directory\r\n' 02:01:34.574882 < 6 bytes data, client => server 02:01:34.574894 'EPSV\r\n' 02:01:34.579301 Received DATA (on stdin) 02:01:34.579316 > 38 bytes data, server => client 02:01:34.579327 '229 Entering Passive Mode (|||44709|)\n' 02:01:34.579493 < 8 bytes data, client => server 02:01:34.579506 'TYPE I\r\n' 02:01:34.579673 Received DATA (on stdin) 02:01:34.579684 > 33 bytes data, server => client 02:01:34.579693 '200 I modify TYPE as you wanted\r\n' 02:01:34.579742 < 21 bytes data, client => server 02:01:34.579751 'SIZE verifiedserver\r\n' 02:01:34.579849 Received DATA (on stdin) 02:01:34.579859 > 8 bytes data, server => client 02:01:34.579868 '213 17\r\n' 02:01:34.579911 < 21 bytes data, client => server 02:01:34.579921 'RETR verifiedserver\r\n' 02:01:34.580097 Received DATA (on stdin) 02:01:34.580108 > 29 bytes data, server => client 02:01:34.580118 '150 Binary junk (17 bytes).\r\n' 02:01:34.580567 Received DATA (on stdin) 02:01:34.580580 > 28 bytes data, server => client 02:01:34.580590 '226 File transfer complete\r\n' 02:01:34.624505 < 6 bytes data, client => server 02:01:34.624545 'QUIT\r\n' 02:01:34.624792 Received DATA (on stdin) 02:01:34.624806 > 18 bytes data, server => client 02:01:34.624818 '221 bye bye baby\r\n' 02:01:34.628514 ====> Client disconnect 02:01:34.628740 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:35.578644 Running IPv4 version 02:01:35.578697 Listening on port 44709 02:01:35.578736 Wrote pid 89808 to log/5/server/ftp_sockdata.pid 02:01:35.578755 Received PING (on stdin) 02:01:35.579139 Received PORT (on stdin) 02:01:35.579466 ====> Client connect 02:01:35.580143 Received DATA (on stdin) 02:01:35.580156 > 17 bytes data, server => client 02:01:35.580167 'WE ROOLZ: 80534\r\n' 02:01:35.580192 Received DISC (on stdin) 02:01:35.580204 ====> Client forcibly disconnected 02:01:35.580344 Received QUIT (on stdin) 02:01:35.580355 quits 02:01:35.580411 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 247 === End of file server.cmd === Start of file test247.txt data to see that FTP works so does it? === End of file test247.txt === Start of file valgrind247 ==89911== ==89911== Process terminating with default action of signal 4 (SIGILL) ==89911== Illegal opcode at address 0x10B08D ==89911== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89911== by 0x10B08D: main (tool_main.c:232) === End of file valgrind247 test 0248...[FTP upload time condition evaluates FALSE => upload anyway] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind248 ../src/curl -q --output log/2/curl248.out --include --trace-ascii log/2/trace248 --trace-config all --trace-time ftp://127.0.0.1:36595/248 -T log/2/test248.txt -z "apr 1 2005 08:00:00" > log/2/stdout248 2> log/2/stderr248 248: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 248 === Start of file ftp_server.log 02:01:35.378227 ====> Client connect 02:01:35.378398 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:35.380764 < "USER anonymous" 02:01:35.380806 > "331 We are happy you popped in![CR][LF]" 02:01:35.380995 < "PASS ftp@example.com" 02:01:35.381030 > "230 Welcome you silly person[CR][LF]" 02:01:35.391915 < "PWD" 02:01:35.391977 > "257 "/" is current directory[CR][LF]" 02:01:35.395252 < "EPSV" 02:01:35.395292 ====> Passive DATA channel requested by client 02:01:35.395305 DATA sockfilt for passive data channel starting... 02:01:35.406054 DATA sockfilt for passive data channel started (pid 89828) 02:01:35.406187 DATA sockfilt for passive data channel listens on port 44029 02:01:35.406235 > "229 Entering Passive Mode (|||44029|)[LF]" 02:01:35.406253 Client has been notified that DATA conn will be accepted on port 44029 02:01:35.406577 Client connects to port 44029 02:01:35.406606 ====> Client established passive DATA connection on port 44029 02:01:35.406691 < "TYPE I" 02:01:35.406722 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:35.406884 < "SIZE verifiedserver" 02:01:35.406918 > "213 17[CR][LF]" 02:01:35.407065 < "RETR verifiedserver" 02:01:35.407095 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:35.407181 =====> Closing passive DATA connection..CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind250 ../src/curl -q --output log/9/curl250.out --include --trace log/9/trace250 --trace-config all --trace-time ftp://127.0.0.1:35301/ > log/9/stdout250 2> log/9/stderr250 . 02:01:35.407196 Server disconnects passive DATA connection 02:01:35.407431 Server disconnected passive DATA connection 02:01:35.407458 DATA sockfilt for passive data channel quits (pid 89828) 02:01:35.407664 DATA sockfilt for passive data channel quit (pid 89828) 02:01:35.407688 =====> Closed passive DATA connection 02:01:35.407714 > "226 File transfer complete[CR][LF]" 02:01:35.448971 < "QUIT" 02:01:35.449032 > "221 bye bye baby[CR][LF]" 02:01:35.449931 MAIN sockfilt said DISC 02:01:35.449962 ====> Client disconnected 02:01:35.450025 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:35.578265 ====> Client connect 02:01:35.578555 Received DATA (on stdin) 02:01:35.578572 > 160 bytes data, server => client 02:01:35.578584 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:35.578595 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:35.578606 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:35.580747 < 16 bytes data, client => server 02:01:35.580768 'USER anonymous\r\n' 02:01:35.580950 Received DATA (on stdin) 02:01:35.580964 > 33 bytes data, server => client 02:01:35.580976 '331 We are happy you popped in!\r\n' 02:01:35.581032 < 22 bytes data, client => server 02:01:35.581043 'PASS ftp@example.com\r\n' 02:01:35.581171 Received DATA (on stdin) 02:01:35.581184 > 30 bytes data, server => client 02:01:35.581196 '230 Welcome you silly person\r\n' 02:01:35.591848 < 5 bytes data, client => server 02:01:35.591885 'PWD\r\n' 02:01:35.592125 Received DATA (on stdin) 02:01:35.592140 > 30 bytes data, server => client 02:01:35.592151 '257 "/" is current directory\r\n' 02:01:35.595241 < 6 bytes data, client => server 02:01:35.595267 'EPSV\r\n' 02:01:35.606403 Received DATA (on stdin) 02:01:35.606422 > 38 bytes data, server => client 02:01:35.606435 '229 Entering Passive Mode (|||44029|)\n' 02:01:35.606666 < 8 bytes data, client => server 02:01:35.606679 'TYPE I\r\n' 02:01:35.606861 Received DATA (on stdin) 02:01:35.606874 > 33 bytes data, server => client 02:01:35.606885 '200 I modify TYPE as you wanted\r\n' 02:01:35.606939 < 21 bytes data, client => server 02:01:35.606952 'SIZE verifiedserver\r\n' 02:01:35.607056 Received DATA (on stdin) 02:01:35.607068 > 8 bytes data, server => client 02:01:35.607079 '213 17\r\n' 02:01:35.607128 < 21 bytes data, client => server 02:01:35.607140 'RETR verifiedserver\r\n' 02:01:35.607429 Received DATA (on stdin) 02:01:35.607443 > 29 bytes data, server => client 02:01:35.607454 '150 Binary junk (17 bytes).\r\n' 02:01:35.607854 Received DATA (on stdin) 02:01:35.607867 > 28 bytes data, server => client 02:01:35.607878 '226 File transfer complete\r\n' 02:01:35.648902 < 6 bytes data, client => server 02:01:35.648938 'QUIT\r\n' 02:01:35.649183 Received DATA (on stdin) 02:01:35.649198 > 18 bytes data, server => client 02:01:35.649209 '221 bye bye baby\r\n' 02:01:35.650019 ====> Client disconnect 02:01:35.650166 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:35.602658 Running IPv4 version 02:01:35.602738 Listening on port 44029 02:01:35.602773 Wrote pid 89828 to log/2/server/ftp_sockdata.pid 02:01:35.606112 Received PING (on stdin) 02:01:35.606232 Received PORT (on stdin) 02:01:35.606638 ====> Client connect 02:01:35.607335 Received DATA (on stdin) 02:01:35.607348 > 17 bytes data, server => client 02:01:35.607359 'WE ROOLZ: 80457\r\n' 02:01:35.607389 Received DISC (on stdin) 02:01:35.607403 ====> Client forcibly disconnected 02:01:35.607605 Received QUIT (on stdin) 02:01:35.607617 quits 02:01:35.607673 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 248 === End of file server.cmd === Start of file test248.txt data to see that FTP works so does it? === End of file test248.txt === Start of file valgrind248 ==89912== ==89912== Process terminating with default action of signal 4 (SIGILL) ==89912== Illegal opcode at address 0x10B08D ==89912== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==89912== by 0x10B08D: main (tool_main.c:232) === End of file valgrind248 test 0250...[FTP dir list PASV with slow response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind250 ../src/curl -q --output log/9/curl250.out --include --trace log/9/trace250 --trace-config all --trace-time ftp://127.0.0.1:35301/ > log/9/stdout250 2> log/9/stderr250 250: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 250 === Start of file ftp_server.log 02:01:35.664344 ====> Client connect 02:01:35.664517 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:35.664822 < "USER anonymous" 02:01:35.664867 > "331 We are happy you popped in![CR][LF]" 02:01:35.665107 < "PASS ftp@example.com" 02:01:35.665141 > "230 Welcome you silly person[CR][LF]" 02:01:35.665303 < "PWD" 02:01:35.665334 > "257 "/" is current directory[CR][LF]" 02:01:35.665492 < "EPSV" 02:01:35.665515 ====> Passive DATA channel requested by client 02:01:35.665527 DATA sockfilt for passive data channel starting... 02:01:35.667198 DATA sockfilt for passive data channel started (pid 90084) 02:01:35.667300 DATA sockfilt for passive data channel listens on port 40447 02:01:35.667336 > "229 Entering Passive Mode (|||40447|)[LF]" 02:01:35.667354 Client has been notified that DATA conn will be accepted on port 40447 02:01:35.667585 Client connects to port 40447 02:01:35.667612 ====> Client established passive DATA connection on port 40447 02:01:35.667677 < "TYPE I" 02:01:35.667703 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:35.667886 < "SIZE verifiedserver" 02:01:35.667928 > "213 17[CR][LF]" 02:01:35.668084 < "RETR verifiedserver" 02:01:35.668119 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:35.668196 =====> Closing passive DATA connection... 02:01:35.668212 Server disconnects passive DATA connection 02:01:35.668456 Server disconnected passive DATA connection 02:01:35.668485 DATA sockfilt for passive data channel quits (pid 90084) 02:01:35.669681 DATA sockfilt for passive data channel quit (pid 90084) 02:01:35.669709 =====> Closed passive DATA connection 02:01:35.669739 > "226 File transfer complete[CR][LF]" 02:01:35.719804 < "QUIT" 02:01:35.719858 > "221 bye bye baby[CR][LF]" 02:01:35.720844 MAIN sockfilt said DISC 02:01:35.720880 ====> Client disconnected 02:01:35.720958 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:35.864134 ====> Client connect 02:01:35.864680 Received DATA (on stdin) 02:01:35.864701 > 160 bytes data, server => client 02:01:35.864712 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:35.864722 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:35.864731 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:35.864807 < 16 bytes data, client => server 02:01:35.864820 'USER anonymous\r\n' 02:01:35.865014 Received DATA (on stdin) 02:01:35.865029 > 33 bytes data, server => client 02:01:35.865041 '331 We are happy you popped in!\r\n' 02:01:35.865104 < 22 bytes data, client => server 02:01:35.865121 'PASS ftp@example.com\r\n' 02:01:35.865282 Received DATA (on stdin) 02:01:35.865295 > 30 bytes data, server => client 02:01:35.865306 '230 Welcome you silly person\r\n' 02:01:35.865359 < 5 bytes data, client => server 02:01:35.865370 'PWD\r\n' 02:01:35.865473 Received DATA (on stdin) 02:01:35.865485 > 30 bytes data, server => client 02:01:35.865495 '257 "/" is current directory\r\n' 02:01:35.865551 < 6 bytes data, client => server 02:01:35.865563 'EPSV\r\n' 02:01:35.867498 Received DATA (on stdin) 02:01:35.867512 > 38 bytes data, server => client 02:01:35.867525CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind251 ../src/curl -q --output log/11/curl251.out --include --trace-ascii log/11/trace251 --trace-config all --trace-time ftp://127.0.0.1:45687/ -P 127.0.0.1 > log/11/stdout251 2> log/11/stderr251 '229 Entering Passive Mode (|||40447|)\n' 02:01:35.867648 < 8 bytes data, client => server 02:01:35.867664 'TYPE I\r\n' 02:01:35.867841 Received DATA (on stdin) 02:01:35.867854 > 33 bytes data, server => client 02:01:35.867865 '200 I modify TYPE as you wanted\r\n' 02:01:35.867917 < 21 bytes data, client => server 02:01:35.867929 'SIZE verifiedserver\r\n' 02:01:35.868069 Received DATA (on stdin) 02:01:35.868081 > 8 bytes data, server => client 02:01:35.868091 '213 17\r\n' 02:01:35.868142 < 21 bytes data, client => server 02:01:35.868153 'RETR verifiedserver\r\n' 02:01:35.868352 Received DATA (on stdin) 02:01:35.868364 > 29 bytes data, server => client 02:01:35.868375 '150 Binary junk (17 bytes).\r\n' 02:01:35.869881 Received DATA (on stdin) 02:01:35.869894 > 28 bytes data, server => client 02:01:35.869906 '226 File transfer complete\r\n' 02:01:35.919775 < 6 bytes data, client => server 02:01:35.919801 'QUIT\r\n' 02:01:35.920005 Received DATA (on stdin) 02:01:35.920019 > 18 bytes data, server => client 02:01:35.920030 '221 bye bye baby\r\n' 02:01:35.920929 ====> Client disconnect 02:01:35.921101 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:35.867054 Running IPv4 version 02:01:35.867106 Listening on port 40447 02:01:35.867145 Wrote pid 90084 to log/9/server/ftp_sockdata.pid 02:01:35.867283 Received PING (on stdin) 02:01:35.867357 Received PORT (on stdin) 02:01:35.867683 ====> Client connect 02:01:35.868404 Received DATA (on stdin) 02:01:35.868418 > 17 bytes data, server => client 02:01:35.868430 'WE ROOLZ: 80452\r\n' 02:01:35.868457 Received DISC (on stdin) 02:01:35.868470 ====> Client forcibly disconnected 02:01:35.868637 Received QUIT (on stdin) 02:01:35.868650 quits 02:01:35.868706 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 250 === End of file server.cmd === Start of file valgrind250 ==90146== ==90146== Process terminating with default action of signal 4 (SIGILL) ==90146== Illegal opcode at address 0x10B08D ==90146== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90146== by 0x10B08D: main (tool_main.c:232) === End of file valgrind250 test 0251...[FTP dir list, PORT with specified IP and slow response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind251 ../src/curl -q --output log/11/curl251.out --include --trace-ascii log/11/trace251 --trace-config all --trace-time ftp://127.0.0.1:45687/ -P 127.0.0.1 > log/11/stdout251 2> log/11/stderr251 251: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 251 === Start of file ftp_server.log 02:01:35.708412 ====> Client connect 02:01:35.708609 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:35.718542 < "USER anonymous" 02:01:35.718604 > "331 We are happy you popped in![CR][LF]" 02:01:35.718863 < "PASS ftp@example.com" 02:01:35.718903 > "230 Welcome you silly person[CR][LF]" 02:01:35.719088 < "PWD" 02:01:35.719130 > "257 "/" is current directory[CR][LF]" 02:01:35.719304 < "EPSV" 02:01:35.719332 ====> Passive DATA channel requested by client 02:01:35.719344 DATA sockfilt for passive data channel starting... 02:01:35.731984 DATA sockfilt for passive data channel started (pid 90114) 02:01:35.732119 DATA sockfilt for passive data channel listens on port 33877 02:01:35.732162 > "229 Entering Passive Mode (|||33877|)[LF]" 02:01:35.732178 Client has been notified that DATA conn will be accepted on port 33877 02:01:35.732510 Client connects to port 33877 02:01:35.732544 ====> Client established passive DATA connection on port 33877 02:01:35.732631 < "TYPE I" 02:01:35.732663 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:35.732829 < "SIZE verifiedserver" 02:01:35.732866 > "213 17[CR][LF]" 02:01:35.733019 < "RETR verifiedserver" 02:01:35.733052 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:35.733136 =====> Closing passive DATA connection... 02:01:35.733151 Server disconnects passive DATA connection 02:01:35.733385 Server disconnected passive DATA connection 02:01:35.733411 DATA sockfilt for passive data channel quits (pid 90114) 02:01:35.733620 DATA sockfilt for passive data channel quit (pid 90114) 02:01:35.733642 =====> Closed passive DATA connection 02:01:35.733670 > "226 File transfer complete[CR][LF]" 02:01:35.776457 < "QUIT" 02:01:35.776519 > "221 bye bye baby[CR][LF]" 02:01:35.777871 MAIN sockfilt said DISC 02:01:35.777917 ====> Client disconnected 02:01:35.777989 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:35.903864 ====> Client connect 02:01:35.915303 Received DATA (on stdin) 02:01:35.915356 > 160 bytes data, server => client 02:01:35.915370 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:35.915383 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:35.915394 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:35.917203 < 16 bytes data, client => server 02:01:35.917227 'USER anonymous\r\n' 02:01:35.918757 Received DATA (on stdin) 02:01:35.918779 > 33 bytes data, server => client 02:01:35.918791 '331 We are happy you popped in!\r\n' 02:01:35.918879 < 22 bytes data, client => server 02:01:35.918894 'PASS ftp@example.com\r\n' 02:01:35.919047 Received DATA (on stdin) 02:01:35.919062 > 30 bytes data, server => client 02:01:35.919071 '230 Welcome you silly person\r\n' 02:01:35.919130 < 5 bytes data, client => server 02:01:35.919141 'PWD\r\n' 02:01:35.919270 Received DATA (on stdin) 02:01:35.919281 > 30 bytes data, server => client 02:01:35.919291 '257 "/" is current directory\r\n' 02:01:35.919354 < 6 bytes data, client => server 02:01:35.919366 'EPSV\r\n' 02:01:35.932325 Received DATA (on stdin) 02:01:35.932343 > 38 bytes data, server => client 02:01:35.932355 '229 Entering Passive Mode (|||33877|)\n' 02:01:35.932560 < 8 bytes data, client => server 02:01:35.932577 'TYPE I\r\n' 02:01:35.932803 Received DATA (on stdin) 02:01:35.932816 > 33 bytes data, server => client 02:01:35.932827 '200 I modify TYPE as you wanted\r\n' 02:01:35.932886 < 21 bytes data, client => server 02:01:35.932898 'SIZE verifiedserver\r\n' 02:01:35.933004 Received DATA (on stdin) 02:01:35.933016 > 8 bytes data, server => client 02:01:35.933026 '213 17\r\n' 02:01:35.933078 < 21 bytes data, client => server 02:01:35.933091 'RETR verifiedserver\r\n' 02:01:35.933290 Received DATA (on stdin) 02:01:35.933302 > 29 bytes data, server => client 02:01:35.933313 '150 Binary junk (17 bytes).\r\n' 02:01:35.933810 Received DATA (on stdin) 02:01:35.933823 > 28 bytes data, server => client 02:01:35.933834 '226 File transfer complete\r\n' 02:01:35.976354 < 6 bytes data, client => server 02:01:35.976394 'QUIT\r\n' 02:01:35.976674 Received DATA (on stdin) 02:01:35.976693 > 18 bytes data, server => client 02:01:35.976704 '221 bye bye baby\r\n' 02:01:35.976951 ====> Client disconnect 02:01:35.978136 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:35.928251 Running IPv4 version 02:01:35.928337 Listening on port 33877 02:01:35.928379 Wrote pid 90114 to log/11/server/ftp_sockdata.pid 02:01:35.932030 Received PING (on stdin) 02:01:35.932161 Received PORT (on stdin) 02:01:35.932599 ====> Client connect 02:01:35.933344 Received DATA (on stdin) 02:01:35.933359 > 17 bytes data, server => client 02:01:35.933371 'WE ROOLZ: 80480\r\n' 02:01:35.933398 Received DISC (on stdin) 02:01:35.933410 ====> Client forcibly disconnected 02:01:35.933558 Received QUIT (on stdin) 02:01:35.933571 quits 02:01:35.933625 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 251 === End of file server.cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind241 ../src/curl -q --output log/4/curl241.out --include --trace-ascii log/4/trace241 --trace-config all --trace-time -g "http://ip6-localhost:33003/241" > log/4/stdout241 2> log/4/stderr241 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind240 ../src/curl -q --output log/10/curl240.out --include --trace-ascii log/10/trace240 --trace-config all --trace-time -g "http://[::1]:46331/240" > log/10/stdout240 2> log/10/stderr240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind242 ../src/curl -q --output log/6/curl242.out --include --trace-ascii log/6/trace242 --trace-config all --trace-time -g "http://foobar:barfoo@[::1]:46845/242" > log/6/stdout242 2> log/6/stderr242 md === Start of file valgrind251 ==90172== ==90172== Process terminating with default action of signal 4 (SIGILL) ==90172== Illegal opcode at address 0x10B08D ==90172== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90172== by 0x10B08D: main (tool_main.c:232) === End of file valgrind251 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_ipv6_server.pid" --logfile "log/4/http_ipv6_server.log" --logdir "log/4" --portfile log/4/server/http_ipv6_server.port --config log/4/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/4/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:33003/verifiedserver" 2>log/4/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 89557 port 33003 * pid http-ipv6 => 89557 89557 prechecked ./server/resolve --ipv6 ip6-localhost test 0241...[HTTP-IPv6 GET (using ip6-localhost)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind241 ../src/curl -q --output log/4/curl241.out --include --trace-ascii log/4/trace241 --trace-config all --trace-time -g "http://ip6-localhost:33003/241" > log/4/stdout241 2> log/4/stderr241 241: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 241 === Start of file http_ipv6_server.log 02:01:34.962438 Running HTTP IPv6 version on port 33003 02:01:34.962586 Wrote pid 89557 to log/4/server/http_ipv6_server.pid 02:01:34.962624 Wrote port 33003 to log/4/server/http_ipv6_server.port 02:01:35.988534 ====> Client connect 02:01:35.988556 accept_connection 3 returned 4 02:01:35.988571 accept_connection 3 returned 0 02:01:35.988585 Read 89 bytes 02:01:35.988599 Process 89 bytes request 02:01:35.988616 Got request: GET /verifiedserver HTTP/1.1 02:01:35.988625 Are-we-friendly question received 02:01:35.988650 Wrote request (89 bytes) input to log/4/server.input 02:01:35.988671 Identifying ourselves as friends 02:01:35.988744 Response sent (56 bytes) and written to log/4/server.response 02:01:35.988758 special request received, no persistency 02:01:35.988768 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:33003... * Connected to ::1 (::1) port 33003 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:33003 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 89557 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 241 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 89557 === End of file server.response === Start of file valgrind241 ==90174== ==90174== Process terminating with default action of signal 4 (SIGILL) ==90174== Illegal opcode at address 0x10B08D ==90174== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90174== by 0x10B08D: main (tool_main.c:232) === End of file valgrind241 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/10/server/http_ipv6_server.pid" --logfile "log/10/http_ipv6_server.log" --logdir "log/10" --portfile log/10/server/http_ipv6_server.port --config log/10/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/10/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:46331/verifiedserver" 2>log/10/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 89559 port 46331 * pid http-ipv6 => 89559 89559 test 0240...[HTTP-IPv6 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind240 ../src/curl -q --output log/10/curl240.out --include --trace-ascii log/10/trace240 --trace-config all --trace-time -g "http://[::1]:46331/240" > log/10/stdout240 2> log/10/stderr240 240: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 240 === Start of file http_ipv6_server.log 02:01:34.963014 Running HTTP IPv6 version on port 46331 02:01:34.963193 Wrote pid 89559 to log/10/server/http_ipv6_server.pid 02:01:34.963231 Wrote port 46331 to log/10/server/http_ipv6_server.port 02:01:36.028570 ====> Client connect 02:01:36.028595 accept_connection 3 returned 4 02:01:36.028610 accept_connection 3 returned 0 02:01:36.028623 Read 89 bytes 02:01:36.028637 Process 89 bytes request 02:01:36.028654 Got request: GET /verifiedserver HTTP/1.1 02:01:36.028663 Are-we-friendly question received 02:01:36.028685 Wrote request (89 bytes) input to log/10/server.input 02:01:36.028706 Identifying ourselves as friends 02:01:36.028771 Response sent (56 bytes) and written to log/10/server.response 02:01:36.028781 special request received, no persistency 02:01:36.028789 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:46331... * Connected to ::1 (::1) port 46331 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:46331 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 89559 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 240 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 89559 === End of file server.response === Start of file valgrind240 ==90218== ==90218== Process terminating with default action of signal 4 (SIGILL) ==90218== Illegal opcode at address 0x10B08D ==90218== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90218== by 0x10B08D: main (tool_main.c:232) === End of file valgrind240 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_ipv6_server.pid" --logfile "log/6/http_ipv6_server.log" --logdir "log/6" --portfile log/6/server/http_ipv6_server.port --config log/6/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/6/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:46845/verifiedserver" 2>log/6/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 89622 port 46845 * pid http-ipv6 => 89622 89622 test 0242...[HTTP-IPv6 GET with username+password in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind242 ../src/curl -q --output log/6/curl242.out --include --trace-ascii log/6/trace242 --trace-config all --trace-time -g "http://foobar:barfoo@[::1]:46845/242" > log/6/stdout242 2> log/6/stderr242 242: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 242 === Start of file http_ipv6_server.log 02:01:35.201922 Running HTTP IPv6 version on port 46845 02:01:35.202028 Wrote pid 89622 to log/6/server/http_ipv6_server.pid 02:01:35.202063 Wrote port 46845 to log/6/server/http_ipv6_server.port 02:01:36.285230 ====> Client connect 02:01:36.285261 accept_connection 3 returned 4 02:01:36.285276 accept_connection 3 returned 0 02:01:36.285292 Read 89 bytes 02:01:36.285303 Process 89 bytes request 02:01:36.285331 Got request: GET /verifiedserver HTTP/1.1 02:01:36.28CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind256 ../src/curl -q --include --trace-ascii log/8/trace256 --trace-config all --trace-time -x http://127.0.0.1:43803 http://127.0.0.1:43803/want/256 -C - --no-include -o log/8/fewl256.txt -U daniel:stenberg > log/8/stdout256 2> log/8/stderr256 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind258 ../src/curl -q --output log/2/curl258.out --include --trace-ascii log/2/trace258 --trace-config all --trace-time -x http://127.0.0.1:38781 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/2/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/2/stdout258 2> log/2/stderr258 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind262 ../src/curl -q --output log/10/curl262.out --include --trace-ascii log/10/trace262 --trace-config all --trace-time http://127.0.0.1:42929/262 > log/10/stdout262 2> log/10/stderr262 5341 Are-we-friendly question received 02:01:36.285369 Wrote request (89 bytes) input to log/6/server.input 02:01:36.285391 Identifying ourselves as friends 02:01:36.285471 Response sent (56 bytes) and written to log/6/server.response 02:01:36.285484 special request received, no persistency 02:01:36.285494 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:46845... * Connected to ::1 (::1) port 46845 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:46845 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 89622 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 242 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 89622 === End of file server.response === Start of file valgrind242 ==90362== ==90362== Process terminating with default action of signal 4 (SIGILL) ==90362== Illegal opcode at address 0x10B08D ==90362== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90362== by 0x10B08D: main (tool_main.c:232) === End of file valgrind242 test 0256...[HTTP resume request over proxy with auth without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind256 ../src/curl -q --include --trace-ascii log/8/trace256 --trace-config all --trace-time -x http://127.0.0.1:43803 http://127.0.0.1:43803/want/256 -C - --no-include -o log/8/fewl256.txt -U daniel:stenberg > log/8/stdout256 2> log/8/stderr256 256: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 256 === Start of file fewl256.txt This text is here to simulate a partly downloaded file to resume download on. === End of file fewl256.txt === Start of file http_server.log 02:01:36.840109 ====> Client connect 02:01:36.840141 accept_connection 3 returned 4 02:01:36.840159 accept_connection 3 returned 0 02:01:36.840173 Read 93 bytes 02:01:36.840185 Process 93 bytes request 02:01:36.840199 Got request: GET /verifiedserver HTTP/1.1 02:01:36.840210 Are-we-friendly question received 02:01:36.840233 Wrote request (93 bytes) input to log/8/server.input 02:01:36.840251 Identifying ourselves as friends 02:01:36.840318 Response sent (56 bytes) and written to log/8/server.response 02:01:36.840329 special request received, no persistency 02:01:36.840338 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 256 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind256 ==90444== ==90444== Process terminating with default action of signal 4 (SIGILL) ==90444== Illegal opcode at address 0x10B08D ==90444== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90444== by 0x10B08D: main (tool_main.c:232) === End of file valgrind256 test 0258...[HTTP POST multipart without Expect: header using proxy anyauth (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind258 ../src/curl -q --output log/2/curl258.out --include --trace-ascii log/2/trace258 --trace-config all --trace-time -x http://127.0.0.1:38781 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/2/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/2/stdout258 2> log/2/stderr258 258: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 258 === Start of file http_server.log 02:01:37.012015 ====> Client connect 02:01:37.012055 accept_connection 3 returned 4 02:01:37.012073 accept_connection 3 returned 0 02:01:37.012226 Read 93 bytes 02:01:37.012242 Process 93 bytes request 02:01:37.012258 Got request: GET /verifiedserver HTTP/1.1 02:01:37.012268 Are-we-friendly question received 02:01:37.012298 Wrote request (93 bytes) input to log/2/server.input 02:01:37.012317 Identifying ourselves as friends 02:01:37.012389 Response sent (56 bytes) and written to log/2/server.response 02:01:37.012402 special request received, no persistency 02:01:37.012412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 258 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file test258.txt foo- This is a moo- bar === End of file test258.txt === Start of file valgrind258 ==90515== ==90515== Process terminating with default action of signal 4 (SIGILL) ==90515== Illegal opcode at address 0x10B08D ==90515== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90515== by 0x10B08D: main (tool_main.c:232) === End of file valgrind258 test 0262...[Reject HTTP response with binary zero in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind262 ../src/curl -q --output log/10/curl262.out --include --trace-ascii log/10/trace262 --trace-config all --trace-time http://127.0.0.1:42929/262 > log/10/stdout262 2> log/10/stderr262 262: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 262 === Start of file http_server.log 02:01:37.273125 ====> Client connect 02:01:37.273160 accept_connection 3 returned 4 02:01:37.273178 accept_connection 3 returned 0 02:01:37.273192 Read 93 bytes 02:01:37.273202 Process 93 bytes request 02:01:37.273217 Got request: GET /verifiedserver HTTP/1.1 02:01:37.273227 Are-we-friendly question received 02:01:37.273247 Wrote request (93 bytes) input to log/10/server.input 02:01:37.273264 Identifying ourselves as friends 02:01:37.273331 Response sent (56 bytes) and written to log/10/server.response 02:01:37.273342 special request received, no persistency 02:01:37.273352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_veriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind257 ../src/curl -q --output log/5/curl257.out --include --trace-ascii log/5/trace257 --trace-config all --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:33361 --netrc-optional --netrc-file log/5/netrc257 > log/5/stdout257 2> log/5/stderr257 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind259 ../src/curl -q --output log/9/curl259.out --include --trace-ascii log/9/trace259 --trace-config all --trace-time -x http://127.0.0.1:38509 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/9/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/9/stdout259 2> log/9/stderr259 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind261 ../src/curl -q --output log/4/curl261.out --include --trace-ascii log/4/trace261 --trace-config all --trace-time ftp://127.0.0.1:34583/261 > log/4/stdout261 2> log/4/stderr261 fy.out === Start of file server.cmd Testnum 262 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind262 ==90728== ==90728== Process terminating with default action of signal 4 (SIGILL) ==90728== Illegal opcode at address 0x10B08D ==90728== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90728== by 0x10B08D: main (tool_main.c:232) === End of file valgrind262 test 0257...[HTTP Location: following with --netrc-optional] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind257 ../src/curl -q --output log/5/curl257.out --include --trace-ascii log/5/trace257 --trace-config all --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:33361 --netrc-optional --netrc-file log/5/netrc257 > log/5/stdout257 2> log/5/stderr257 257: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 257 === Start of file http_server.log 02:01:36.999953 ====> Client connect 02:01:37.000094 accept_connection 3 returned 4 02:01:37.000119 accept_connection 3 returned 0 02:01:37.000285 Read 93 bytes 02:01:37.000299 Process 93 bytes request 02:01:37.000314 Got request: GET /verifiedserver HTTP/1.1 02:01:37.000324 Are-we-friendly question received 02:01:37.000347 Wrote request (93 bytes) input to log/5/server.input 02:01:37.000364 Identifying ourselves as friends 02:01:37.000423 Response sent (56 bytes) and written to log/5/server.response 02:01:37.000433 special request received, no persistency 02:01:37.000442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file netrc257 machine supersite.com login user1 password passwd1 machine anotherone.com login user2 password passwd2 === End of file netrc257 === Start of file server.cmd Testnum 257 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind257 ==90514== ==90514== Process terminating with default action of signal 4 (SIGILL) ==90514== Illegal opcode at address 0x10B08D ==90514== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90514== by 0x10B08D: main (tool_main.c:232) === End of file valgrind257 test 0259...[HTTP POST multipart with Expect: header using proxy anyauth (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind259 ../src/curl -q --output log/9/curl259.out --include --trace-ascii log/9/trace259 --trace-config all --trace-time -x http://127.0.0.1:38509 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/9/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/9/stdout259 2> log/9/stderr259 259: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 259 === Start of file http_server.log 02:01:37.208572 ====> Client connect 02:01:37.208609 accept_connection 3 returned 4 02:01:37.208627 accept_connection 3 returned 0 02:01:37.208642 Read 93 bytes 02:01:37.208653 Process 93 bytes request 02:01:37.208670 Got request: GET /verifiedserver HTTP/1.1 02:01:37.208679 Are-we-friendly question received 02:01:37.208705 Wrote request (93 bytes) input to log/9/server.input 02:01:37.208722 Identifying ourselves as friends 02:01:37.208794 Response sent (56 bytes) and written to log/9/server.response 02:01:37.208805 special request received, no persistency 02:01:37.208815 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 259 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file test259.txt foo- This is a moo- bar === End of file test259.txt === Start of file valgrind259 ==90697== ==90697== Process terminating with default action of signal 4 (SIGILL) ==90697== Illegal opcode at address 0x10B08D ==90697== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90697== by 0x10B08D: main (tool_main.c:232) === End of file valgrind259 test 0261...[FTP RETR with 226 response code to TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind261 ../src/curl -q --output log/4/curl261.out --include --trace-ascii log/4/trace261 --trace-config all --trace-time ftp://127.0.0.1:34583/261 > log/4/stdout261 2> log/4/stderr261 261: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 261 === Start of file ftp_server.log 02:01:37.041664 ====> Client connect 02:01:37.042127 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:37.046264 < "USER anonymous" 02:01:37.046310 > "331 We are happy you popped in![CR][LF]" 02:01:37.046972 < "PASS ftp@example.com" 02:01:37.047010 > "230 Welcome you silly person[CR][LF]" 02:01:37.047166 < "PWD" 02:01:37.047197 > "257 "/" is current directory[CR][LF]" 02:01:37.047359 < "EPSV" 02:01:37.047383 ====> Passive DATA channel requested by client 02:01:37.047396 DATA sockfilt for passive data channel starting... 02:01:37.055328 DATA sockfilt for passive data channel started (pid 90692) 02:01:37.055481 DATA sockfilt for passive data channel listens on port 39285 02:01:37.055538 > "229 Entering Passive Mode (|||39285|)[LF]" 02:01:37.055564 Client has been notified that DATA conn will be accepted on port 39285 02:01:37.056534 Client connects to port 39285 02:01:37.056571 ====> Client established passive DATA connection on port 39285 02:01:37.056671 < "TYPE I" 02:01:37.056713 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:37.056930 < "SIZE verifiedserver" 02:01:37.056974 > "213 17[CR][LF]" 02:01:37.057164 < "RETR verifiedserver" 02:01:37.057207 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:37.057303 =====> Closing passive DATA connection... 02:01:37.057472 Server disconnects passive DATA connection 02:01:37.057630 Server disconnected passive DATA connection 02:01:37.057661 DATA sockfilt for passive data channel quits (pid 90692) 02:01:37.058030 DATA sockfilt for passive data channel quit (pid 90692) 02:01:37.058059 =====> Closed passive DATA connection 02:01:37.058091 > "226 File transfer complete[CR][LF]" 02:01:37.106643 < "QUIT" 02:01:37.106702 > "221 bye bye baby[CR][LF]" 02:01:37.111747 MAIN sockfilt said DISC 02:01:37.111810 ====> Client disconnected 02:01:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind260 ../src/curl -q --output log/11/curl260.out --include --trace-ascii log/11/trace260 --trace-config all --trace-time "http://127.0.0.1:44137?260" > log/11/stdout260 2> log/11/stderr260 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind253 ../src/curl -q --output log/12/curl253.out --include --trace-ascii log/12/trace253 --trace-config all --trace-time -g "ftp://[::1]:45361/" -P - > log/12/stdout253 2> log/12/stderr253 7.111901 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:37.241645 ====> Client connect 02:01:37.242294 Received DATA (on stdin) 02:01:37.242315 > 160 bytes data, server => client 02:01:37.242329 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:37.242342 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:37.242353 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:37.245236 < 16 bytes data, client => server 02:01:37.245261 'USER anonymous\r\n' 02:01:37.246901 Received DATA (on stdin) 02:01:37.246919 > 33 bytes data, server => client 02:01:37.246931 '331 We are happy you popped in!\r\n' 02:01:37.246998 < 22 bytes data, client => server 02:01:37.247010 'PASS ftp@example.com\r\n' 02:01:37.247150 Received DATA (on stdin) 02:01:37.247162 > 30 bytes data, server => client 02:01:37.247173 '230 Welcome you silly person\r\n' 02:01:37.247223 < 5 bytes data, client => server 02:01:37.247233 'PWD\r\n' 02:01:37.247334 Received DATA (on stdin) 02:01:37.247345 > 30 bytes data, server => client 02:01:37.247356 '257 "/" is current directory\r\n' 02:01:37.247413 < 6 bytes data, client => server 02:01:37.247426 'EPSV\r\n' 02:01:37.255719 Received DATA (on stdin) 02:01:37.255740 > 38 bytes data, server => client 02:01:37.255753 '229 Entering Passive Mode (|||39285|)\n' 02:01:37.256578 < 8 bytes data, client => server 02:01:37.256603 'TYPE I\r\n' 02:01:37.256862 Received DATA (on stdin) 02:01:37.256880 > 33 bytes data, server => client 02:01:37.256893 '200 I modify TYPE as you wanted\r\n' 02:01:37.256963 < 21 bytes data, client => server 02:01:37.256981 'SIZE verifiedserver\r\n' 02:01:37.257118 Received DATA (on stdin) 02:01:37.257132 > 8 bytes data, server => client 02:01:37.257143 '213 17\r\n' 02:01:37.257204 < 21 bytes data, client => server 02:01:37.257222 'RETR verifiedserver\r\n' 02:01:37.257516 Received DATA (on stdin) 02:01:37.257536 > 29 bytes data, server => client 02:01:37.257549 '150 Binary junk (17 bytes).\r\n' 02:01:37.258237 Received DATA (on stdin) 02:01:37.258251 > 28 bytes data, server => client 02:01:37.258263 '226 File transfer complete\r\n' 02:01:37.306589 < 6 bytes data, client => server 02:01:37.306625 'QUIT\r\n' 02:01:37.306855 Received DATA (on stdin) 02:01:37.306872 > 18 bytes data, server => client 02:01:37.306884 '221 bye bye baby\r\n' 02:01:37.309315 ====> Client disconnect 02:01:37.312056 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:37.252836 Running IPv4 version 02:01:37.252905 Listening on port 39285 02:01:37.252944 Wrote pid 90692 to log/4/server/ftp_sockdata.pid 02:01:37.255393 Received PING (on stdin) 02:01:37.255514 Received PORT (on stdin) 02:01:37.256628 ====> Client connect 02:01:37.257625 Received DATA (on stdin) 02:01:37.257641 > 17 bytes data, server => client 02:01:37.257657 'WE ROOLZ: 80536\r\n' 02:01:37.257696 Received DISC (on stdin) 02:01:37.257715 ====> Client forcibly disconnected 02:01:37.257944 Received QUIT (on stdin) 02:01:37.257964 quits 02:01:37.258028 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY TYPE 226 Kind of on the positive side Testnum 261 === End of file server.cmd === Start of file valgrind261 ==90813== ==90813== Process terminating with default action of signal 4 (SIGILL) ==90813== Illegal opcode at address 0x10B08D ==90813== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90813== by 0x10B08D: main (tool_main.c:232) === End of file valgrind261 test 0260...[HTTP GET URL without slash but with questionmark] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind260 ../src/curl -q --output log/11/curl260.out --include --trace-ascii log/11/trace260 --trace-config all --trace-time "http://127.0.0.1:44137?260" > log/11/stdout260 2> log/11/stderr260 260: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 260 === Start of file http_server.log 02:01:37.232362 ====> Client connect 02:01:37.232394 accept_connection 3 returned 4 02:01:37.232410 accept_connection 3 returned 0 02:01:37.232424 Read 93 bytes 02:01:37.232433 Process 93 bytes request 02:01:37.232446 Got request: GET /verifiedserver HTTP/1.1 02:01:37.232455 Are-we-friendly question received 02:01:37.232477 Wrote request (93 bytes) input to log/11/server.input 02:01:37.232494 Identifying ourselves as friends 02:01:37.232559 Response sent (56 bytes) and written to log/11/server.response 02:01:37.232571 special request received, no persistency 02:01:37.232579 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 260 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind260 ==90691== ==90691== Process terminating with default action of signal 4 (SIGILL) ==90691== Illegal opcode at address 0x10B08D ==90691== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90691== by 0x10B08D: main (tool_main.c:232) === End of file valgrind260 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/ftp_ipv6_server.pid" --logfile "log/12/ftp_ipv6_server.log" --logdir "log/12" --portfile "log/12/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 45361 (log/12/server/ftp_ipv6_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://[::1]:45361/verifiedserver" 2>log/12/ftp_ipv6_verify.log RUN: Verifying our test ftp-ipv6 server took 0 seconds RUN: FTP-IPv6 server is PID 90417 port 45361 * pid ftp-ipv6 => 90417 90417 test 0253...[FTP IPv6 dir list with EPRT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind253 ../src/curl -q --output log/12/curl253.out --include --trace-ascii log/12/trace253 --trace-config all --trace-time -g "ftp://[::1]:45361/" -P - > log/12/stdout253 2> log/12/stderr253 253: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 253 === Start of file ftp_ipv6_server.log 02:01:36.431659 FTP server listens on port IPv6/45361 02:01:36.431813 logged pid 90417 in log/12/server/ftp_ipv6_server.pid 02:01:36.431842 Awaiting input 02:01:37.448555 ====> Client connect 02:01:37.448735 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:37.450007 < "USER anonymous" 02:01:37.450044 > "331 We are happy you popped in![CR][LF]" 02:01:37.450211 < "PASS ftp@example.com" 02:01:37.450238 > "230 Welcome you silly person[CR][LF]" 02:01:37.450386 < "PWD" 02:01:37.450414 > "257 "/" is current directory[CR][LF]" 02:01:37.450565 < "EPSV" 02:01:37.450589 ====> Passive DATA channel requested by client 02:01:37.450601 DATA sockfilt for passive data channel starting... 02:01:37.458593 DATA sockfilt for passive data channel started (pid 91027) 02:01:37.458731 DATA sockfilt for passive data channel listenCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind252 ../src/curl -q --output log/3/curl252.out --include --trace-ascii log/3/trace252 --trace-config all --trace-time -g "ftp://[::1]:43463/" > log/3/stdout252 2> log/3/stderr252 s on port 41443 02:01:37.458783 > "229 Entering Passive Mode (|||41443|)[LF]" 02:01:37.458799 Client has been notified that DATA conn will be accepted on port 41443 02:01:37.459070 Client connects to port 41443 02:01:37.459105 ====> Client established passive DATA connection on port 41443 02:01:37.459232 < "TYPE I" 02:01:37.459269 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:37.459435 < "SIZE verifiedserver" 02:01:37.459473 > "213 17[CR][LF]" 02:01:37.459622 < "RETR verifiedserver" 02:01:37.459653 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:37.459730 =====> Closing passive DATA connection... 02:01:37.459746 Server disconnects passive DATA connection 02:01:37.459859 Server disconnected passive DATA connection 02:01:37.459882 DATA sockfilt for passive data channel quits (pid 91027) 02:01:37.460086 DATA sockfilt for passive data channel quit (pid 91027) 02:01:37.460107 =====> Closed passive DATA connection 02:01:37.460131 > "226 File transfer complete[CR][LF]" 02:01:37.504921 < "QUIT" 02:01:37.504974 > "221 bye bye baby[CR][LF]" 02:01:37.506864 MAIN sockfilt said DISC 02:01:37.506905 ====> Client disconnected 02:01:37.506972 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 02:01:36.631313 Running IPv6 version 02:01:36.631549 Listening on port 45361 02:01:36.631629 Wrote pid 90421 to log/12/server/ftp_ipv6_sockctrl.pid 02:01:36.631691 Wrote port 45361 to log/12/server/ftp_ipv6_server.port 02:01:36.631710 Received PING (on stdin) 02:01:37.648602 ====> Client connect 02:01:37.649053 Received DATA (on stdin) 02:01:37.649070 > 160 bytes data, server => client 02:01:37.649083 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:37.649095 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:37.649105 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:37.649976 < 16 bytes data, client => server 02:01:37.649996 'USER anonymous\r\n' 02:01:37.650187 Received DATA (on stdin) 02:01:37.650200 > 33 bytes data, server => client 02:01:37.650211 '331 We are happy you popped in!\r\n' 02:01:37.650260 < 22 bytes data, client => server 02:01:37.650271 'PASS ftp@example.com\r\n' 02:01:37.650377 Received DATA (on stdin) 02:01:37.650388 > 30 bytes data, server => client 02:01:37.650399 '230 Welcome you silly person\r\n' 02:01:37.650447 < 5 bytes data, client => server 02:01:37.650457 'PWD\r\n' 02:01:37.650551 Received DATA (on stdin) 02:01:37.650562 > 30 bytes data, server => client 02:01:37.650573 '257 "/" is current directory\r\n' 02:01:37.650625 < 6 bytes data, client => server 02:01:37.650636 'EPSV\r\n' 02:01:37.658950 Received DATA (on stdin) 02:01:37.658967 > 38 bytes data, server => client 02:01:37.658979 '229 Entering Passive Mode (|||41443|)\n' 02:01:37.659265 < 8 bytes data, client => server 02:01:37.659280 'TYPE I\r\n' 02:01:37.659409 Received DATA (on stdin) 02:01:37.659422 > 33 bytes data, server => client 02:01:37.659432 '200 I modify TYPE as you wanted\r\n' 02:01:37.659487 < 21 bytes data, client => server 02:01:37.659499 'SIZE verifiedserver\r\n' 02:01:37.659613 Received DATA (on stdin) 02:01:37.659625 > 8 bytes data, server => client 02:01:37.659635 '213 17\r\n' 02:01:37.659683 < 21 bytes data, client => server 02:01:37.659695 'RETR verifiedserver\r\n' 02:01:37.660273 Received DATA (on stdin) 02:01:37.660287 > 29 bytes data, server => client 02:01:37.660297 '150 Binary junk (17 bytes).\r\n' 02:01:37.660321 Received DATA (on stdin) 02:01:37.660331 > 28 bytes data, server => client 02:01:37.660341 '226 File transfer complete\r\n' 02:01:37.704925 < 6 bytes data, client => server 02:01:37.704964 'QUIT\r\n' 02:01:37.705117 Received DATA (on stdin) 02:01:37.705129 > 18 bytes data, server => client 02:01:37.705140 '221 bye bye baby\r\n' 02:01:37.706937 ====> Client disconnect 02:01:37.707111 Received ACKD (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file ftp_ipv6_sockdata.log 02:01:37.655816 Running IPv6 version 02:01:37.655889 Listening on port 41443 02:01:37.655928 Wrote pid 91027 to log/12/server/ftp_ipv6_sockdata.pid 02:01:37.658661 Received PING (on stdin) 02:01:37.658772 Received PORT (on stdin) 02:01:37.659159 ====> Client connect 02:01:37.659886 Received DATA (on stdin) 02:01:37.659899 > 17 bytes data, server => client 02:01:37.659910 'WE ROOLZ: 90417\r\n' 02:01:37.659938 Received DISC (on stdin) 02:01:37.659950 ====> Client forcibly disconnected 02:01:37.660029 Received QUIT (on stdin) 02:01:37.660040 quits 02:01:37.660095 ============> sockfilt quits === End of file ftp_ipv6_sockdata.log === Start of file server.cmd Testnum 253 === End of file server.cmd === Start of file valgrind253 ==91043== ==91043== Process terminating with default action of signal 4 (SIGILL) ==91043== Illegal opcode at address 0x10B08D ==91043== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91043== by 0x10B08D: main (tool_main.c:232) === End of file valgrind253 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/ftp_ipv6_server.pid" --logfile "log/3/ftp_ipv6_server.log" --logdir "log/3" --portfile "log/3/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 43463 (log/3/server/ftp_ipv6_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://[::1]:43463/verifiedserver" 2>log/3/ftp_ipv6_verify.log RUN: Verifying our test ftp-ipv6 server took 0 seconds RUN: FTP-IPv6 server is PID 90360 port 43463 * pid ftp-ipv6 => 90360 90360 test 0252...[FTP IPv6 dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind252 ../src/curl -q --output log/3/curl252.out --include --trace-ascii log/3/trace252 --trace-config all --trace-time -g "ftp://[::1]:43463/" > log/3/stdout252 2> log/3/stderr252 252: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 252 === Start of file ftp_ipv6_server.log 02:01:36.156441 FTP server listens on port IPv6/43463 02:01:36.156520 logged pid 90360 in log/3/server/ftp_ipv6_server.pid 02:01:36.156544 Awaiting input 02:01:37.160266 ====> Client connect 02:01:37.160405 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:37.160672 < "USER anonymous" 02:01:37.160705 > "331 We are happy you popped in![CR][LF]" 02:01:37.160862 < "PASS ftp@example.com" 02:01:37.160887 > "230 Welcome you silly person[CR][LF]" 02:01:37.161016 < "PWD" 02:01:37.161042 > "257 "/" is current directory[CR][LF]" 02:01:37.161188 < "EPSV" 02:01:37.161214 ====> Passive DATA channel requested by client 02:01:37.161225 DATA sockfilt for passive data channel starting... 02:01:37.172125 DATA sockfilt for passive data channel started (pid 90794) 02:01:37.172250 DATA sockfilt for passive data channel listens on port 36831 02:01:37.172293 > "229 Entering Passive Mode (|||36831|)[LF]" 02:01:37.172310 Client has been notified that DATA conn will be accepted on port 36831 02:01:37.172585 Client connects to port 36831 02:01:37.172613 ====> Client established passive DATA connection on port 36831 02:01:37.172699 < "TYPE I" 02:01:37.172732 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:37.172894 < "SIZE verifiedserver" 02:01:37.172930 > "213 17[CR][LF]" 02:01:37.173071 < "RETR verifiedserver" 02:01:37.173100 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:37.173175 =====> Closing passive DATA connection... 02:01:37.173190 Server disconnects passive DATA connection 02:01:37.173414 Server disconnected passive DATA connection 02:01:37.173442 DATA sockfilt for passive data channel quits (pid 90794) 02:01:37.173623 DATA sockfilt for passive data channel quit (pid 90794) 02:01:37.173642 =====> ClCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind263 ../src/curl -q --output log/6/curl263.out --include --trace-ascii log/6/trace263 --trace-config all --trace-time -g -x "http://[::1]:46845" http://veryveryremotesite.com/263 > log/6/stdout263 2> log/6/stderr263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind264 ../src/curl -q --output log/8/curl264.out --include --trace-ascii log/8/trace264 --trace-config all --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:43803 > log/8/stdout264 2> log/8/stderr264 osed passive DATA connection 02:01:37.173669 > "226 File transfer complete[CR][LF]" 02:01:37.225459 < "QUIT" 02:01:37.225511 > "221 bye bye baby[CR][LF]" 02:01:37.226276 MAIN sockfilt said DISC 02:01:37.226306 ====> Client disconnected 02:01:37.226374 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 02:01:36.356203 Running IPv6 version 02:01:36.356287 Listening on port 43463 02:01:36.356325 Wrote pid 90379 to log/3/server/ftp_ipv6_sockctrl.pid 02:01:36.356354 Wrote port 43463 to log/3/server/ftp_ipv6_server.port 02:01:36.356489 Received PING (on stdin) 02:01:37.360331 ====> Client connect 02:01:37.360551 Received DATA (on stdin) 02:01:37.360564 > 160 bytes data, server => client 02:01:37.360576 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:37.360587 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:37.360597 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:37.360665 < 16 bytes data, client => server 02:01:37.360678 'USER anonymous\r\n' 02:01:37.360846 Received DATA (on stdin) 02:01:37.360857 > 33 bytes data, server => client 02:01:37.360872 '331 We are happy you popped in!\r\n' 02:01:37.360917 < 22 bytes data, client => server 02:01:37.360928 'PASS ftp@example.com\r\n' 02:01:37.361023 Received DATA (on stdin) 02:01:37.361033 > 30 bytes data, server => client 02:01:37.361044 '230 Welcome you silly person\r\n' 02:01:37.361084 < 5 bytes data, client => server 02:01:37.361094 'PWD\r\n' 02:01:37.361178 Received DATA (on stdin) 02:01:37.361189 > 30 bytes data, server => client 02:01:37.361200 '257 "/" is current directory\r\n' 02:01:37.361250 < 6 bytes data, client => server 02:01:37.361260 'EPSV\r\n' 02:01:37.372457 Received DATA (on stdin) 02:01:37.372476 > 38 bytes data, server => client 02:01:37.372488 '229 Entering Passive Mode (|||36831|)\n' 02:01:37.372647 < 8 bytes data, client => server 02:01:37.372662 'TYPE I\r\n' 02:01:37.372876 Received DATA (on stdin) 02:01:37.372888 > 33 bytes data, server => client 02:01:37.372900 '200 I modify TYPE as you wanted\r\n' 02:01:37.372951 < 21 bytes data, client => server 02:01:37.372962 'SIZE verifiedserver\r\n' 02:01:37.373068 Received DATA (on stdin) 02:01:37.373079 > 8 bytes data, server => client 02:01:37.373089 '213 17\r\n' 02:01:37.373133 < 21 bytes data, client => server 02:01:37.373144 'RETR verifiedserver\r\n' 02:01:37.373330 Received DATA (on stdin) 02:01:37.373341 > 29 bytes data, server => client 02:01:37.373351 '150 Binary junk (17 bytes).\r\n' 02:01:37.373809 Received DATA (on stdin) 02:01:37.373822 > 28 bytes data, server => client 02:01:37.373833 '226 File transfer complete\r\n' 02:01:37.425293 < 6 bytes data, client => server 02:01:37.425434 'QUIT\r\n' 02:01:37.425654 Received DATA (on stdin) 02:01:37.425666 > 18 bytes data, server => client 02:01:37.425677 '221 bye bye baby\r\n' 02:01:37.426363 ====> Client disconnect 02:01:37.426516 Received ACKD (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file ftp_ipv6_sockdata.log 02:01:37.369415 Running IPv6 version 02:01:37.369496 Listening on port 36831 02:01:37.369536 Wrote pid 90794 to log/3/server/ftp_ipv6_sockdata.pid 02:01:37.372200 Received PING (on stdin) 02:01:37.372294 Received PORT (on stdin) 02:01:37.372680 ====> Client connect 02:01:37.373398 Received DATA (on stdin) 02:01:37.373411 > 17 bytes data, server => client 02:01:37.373422 'WE ROOLZ: 90360\r\n' 02:01:37.373447 Received DISC (on stdin) 02:01:37.373459 ====> Client forcibly disconnected 02:01:37.373588 Received QUIT (on stdin) 02:01:37.373599 quits 02:01:37.373644 ============> sockfilt quits === End of file ftp_ipv6_sockdata.log === Start of file server.cmd Testnum 252 === End of file server.cmd === Start of file valgrind252 ==90871== ==90871== Process terminating with default action of signal 4 (SIGILL) ==90871== Illegal opcode at address 0x10B08D ==90871== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90871== by 0x10B08D: main (tool_main.c:232) === End of file valgrind252 test 0263...[HTTP-IPv6 GET with proxy specified using IPv6-numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind263 ../src/curl -q --output log/6/curl263.out --include --trace-ascii log/6/trace263 --trace-config all --trace-time -g -x "http://[::1]:46845" http://veryveryremotesite.com/263 > log/6/stdout263 2> log/6/stderr263 263: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 263 === Start of file http_ipv6_server.log 02:01:37.470419 ====> Client connect 02:01:37.470455 accept_connection 3 returned 4 02:01:37.470473 accept_connection 3 returned 0 02:01:37.470488 Read 89 bytes 02:01:37.470499 Process 89 bytes request 02:01:37.470512 Got request: GET /verifiedserver HTTP/1.1 02:01:37.470521 Are-we-friendly question received 02:01:37.470546 Wrote request (89 bytes) input to log/6/server.input 02:01:37.470564 Identifying ourselves as friends 02:01:37.470632 Response sent (56 bytes) and written to log/6/server.response 02:01:37.470646 special request received, no persistency 02:01:37.470656 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:46845... * Connected to ::1 (::1) port 46845 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:46845 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 89622 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 263 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 89622 === End of file server.response === Start of file valgrind263 ==90914== ==90914== Process terminating with default action of signal 4 (SIGILL) ==90914== Illegal opcode at address 0x10B08D ==90914== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==90914== by 0x10B08D: main (tool_main.c:232) === End of file valgrind263 test 0264...[HTTP with proxy string including http:// and user+password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind264 ../src/curl -q --output log/8/curl264.out --include --trace-ascii log/8/trace264 --trace-config all --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:43803 > log/8/stdout264 2> log/8/stderr264 264: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 264 === Start of file http_server.log 02:01:37.956776 ====> Client connect 02:01:37.956812 accept_connection 3 returned 4 02:01:37.956831 accept_connection 3 returned 0 02:01:37.956847 Read 93 bytes 02:01:37.956860 Process 93 bytes request 02:01:37.956876 Got request: GET /verifiedserver HTTP/1.1 02:01:37.956887 Are-we-friendly question received 02:01:37.956915 Wrote request (93 bytes) input to log/8/server.input 02:01:37.956935 Identifying ourselves as friends 02:01:37.957015 Response sent (56 bytes) and written to log/8/server.response 02:01:37.957034 special request received, no persistency 02:01:37.957044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intactCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind255 ../src/curl -q --output log/1/curl255.out --include --trace-ascii log/1/trace255 --trace-config all --trace-time -g "ftp://[::1]:33419/" -P - --disable-eprt > log/1/stdout255 2> log/1/stderr255 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind254 ../src/curl -q --output log/7/curl254.out --include --trace-ascii log/7/trace254 --trace-config all --trace-time -g "ftp://[::1]:35941/" --disable-epsv > log/7/stdout254 2> log/7/stderr254 === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 264 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind264 ==91160== ==91160== Process terminating with default action of signal 4 (SIGILL) ==91160== Illegal opcode at address 0x10B08D ==91160== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91160== by 0x10B08D: main (tool_main.c:232) === End of file valgrind264 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/ftp_ipv6_server.pid" --logfile "log/1/ftp_ipv6_server.log" --logdir "log/1" --portfile "log/1/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 33419 (log/1/server/ftp_ipv6_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://[::1]:33419/verifiedserver" 2>log/1/ftp_ipv6_verify.log RUN: Verifying our test ftp-ipv6 server took 0 seconds RUN: FTP-IPv6 server is PID 90424 port 33419 * pid ftp-ipv6 => 90424 90424 test 0255...[FTP IPv6 dir list with EPRT and --disable-eprt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind255 ../src/curl -q --output log/1/curl255.out --include --trace-ascii log/1/trace255 --trace-config all --trace-time -g "ftp://[::1]:33419/" -P - --disable-eprt > log/1/stdout255 2> log/1/stderr255 255: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 255 === Start of file ftp_ipv6_server.log 02:01:36.628473 FTP server listens on port IPv6/33419 02:01:36.628583 logged pid 90424 in log/1/server/ftp_ipv6_server.pid 02:01:36.628612 Awaiting input 02:01:37.647085 ====> Client connect 02:01:37.647329 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:37.647679 < "USER anonymous" 02:01:37.647726 > "331 We are happy you popped in![CR][LF]" 02:01:37.647905 < "PASS ftp@example.com" 02:01:37.647936 > "230 Welcome you silly person[CR][LF]" 02:01:37.648080 < "PWD" 02:01:37.648108 > "257 "/" is current directory[CR][LF]" 02:01:37.648251 < "EPSV" 02:01:37.648275 ====> Passive DATA channel requested by client 02:01:37.648286 DATA sockfilt for passive data channel starting... 02:01:37.659935 DATA sockfilt for passive data channel started (pid 91109) 02:01:37.660053 DATA sockfilt for passive data channel listens on port 36657 02:01:37.660101 > "229 Entering Passive Mode (|||36657|)[LF]" 02:01:37.660115 Client has been notified that DATA conn will be accepted on port 36657 02:01:37.660376 Client connects to port 36657 02:01:37.660407 ====> Client established passive DATA connection on port 36657 02:01:37.660526 < "TYPE I" 02:01:37.660561 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:37.660717 < "SIZE verifiedserver" 02:01:37.660753 > "213 17[CR][LF]" 02:01:37.660892 < "RETR verifiedserver" 02:01:37.660922 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:37.660989 =====> Closing passive DATA connection... 02:01:37.661002 Server disconnects passive DATA connection 02:01:37.661146 Server disconnected passive DATA connection 02:01:37.661166 DATA sockfilt for passive data channel quits (pid 91109) 02:01:37.661404 DATA sockfilt for passive data channel quit (pid 91109) 02:01:37.661483 =====> Closed passive DATA connection 02:01:37.661512 > "226 File transfer complete[CR][LF]" 02:01:37.706008 < "QUIT" 02:01:37.706059 > "221 bye bye baby[CR][LF]" 02:01:37.714285 MAIN sockfilt said DISC 02:01:37.714336 ====> Client disconnected 02:01:37.714403 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 02:01:36.826069 Running IPv6 version 02:01:36.826142 Listening on port 33419 02:01:36.826179 Wrote pid 90434 to log/1/server/ftp_ipv6_sockctrl.pid 02:01:36.826210 Wrote port 33419 to log/1/server/ftp_ipv6_server.port 02:01:36.826228 Received PING (on stdin) 02:01:37.847117 ====> Client connect 02:01:37.847483 Received DATA (on stdin) 02:01:37.847512 > 160 bytes data, server => client 02:01:37.847550 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:37.847562 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:37.847573 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:37.847650 < 16 bytes data, client => server 02:01:37.847663 'USER anonymous\r\n' 02:01:37.847870 Received DATA (on stdin) 02:01:37.847882 > 33 bytes data, server => client 02:01:37.847894 '331 We are happy you popped in!\r\n' 02:01:37.847947 < 22 bytes data, client => server 02:01:37.847959 'PASS ftp@example.com\r\n' 02:01:37.848075 Received DATA (on stdin) 02:01:37.848087 > 30 bytes data, server => client 02:01:37.848096 '230 Welcome you silly person\r\n' 02:01:37.848140 < 5 bytes data, client => server 02:01:37.848150 'PWD\r\n' 02:01:37.848245 Received DATA (on stdin) 02:01:37.848255 > 30 bytes data, server => client 02:01:37.848265 '257 "/" is current directory\r\n' 02:01:37.848314 < 6 bytes data, client => server 02:01:37.848324 'EPSV\r\n' 02:01:37.860262 Received DATA (on stdin) 02:01:37.860280 > 38 bytes data, server => client 02:01:37.860291 '229 Entering Passive Mode (|||36657|)\n' 02:01:37.860561 < 8 bytes data, client => server 02:01:37.860575 'TYPE I\r\n' 02:01:37.860700 Received DATA (on stdin) 02:01:37.860711 > 33 bytes data, server => client 02:01:37.860721 '200 I modify TYPE as you wanted\r\n' 02:01:37.860773 < 21 bytes data, client => server 02:01:37.860784 'SIZE verifiedserver\r\n' 02:01:37.860891 Received DATA (on stdin) 02:01:37.860902 > 8 bytes data, server => client 02:01:37.860912 '213 17\r\n' 02:01:37.860956 < 21 bytes data, client => server 02:01:37.860966 'RETR verifiedserver\r\n' 02:01:37.861140 Received DATA (on stdin) 02:01:37.861150 > 29 bytes data, server => client 02:01:37.861160 '150 Binary junk (17 bytes).\r\n' 02:01:37.861651 Received DATA (on stdin) 02:01:37.861663 > 28 bytes data, server => client 02:01:37.861673 '226 File transfer complete\r\n' 02:01:37.905557 < 6 bytes data, client => server 02:01:37.905714 'QUIT\r\n' 02:01:37.911829 Received DATA (on stdin) 02:01:37.911854 > 18 bytes data, server => client 02:01:37.911865 '221 bye bye baby\r\n' 02:01:37.913914 ====> Client disconnect 02:01:37.914550 Received ACKD (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file ftp_ipv6_sockdata.log 02:01:37.859315 Running IPv6 version 02:01:37.859507 Listening on port 36657 02:01:37.859857 Wrote pid 91109 to log/1/server/ftp_ipv6_sockdata.pid 02:01:37.860015 Received PING (on stdin) 02:01:37.860101 Received PORT (on stdin) 02:01:37.860466 ====> Client connect 02:01:37.861182 Received DATA (on stdin) 02:01:37.861194 > 17 bytes data, server => client 02:01:37.861204 'WE ROOLZ: 90424\r\n' 02:01:37.861228 Received DISC (on stdin) 02:01:37.861239 ====> Client forcibly disconnected 02:01:37.861371 Received QUIT (on stdin) 02:01:37.861384 quits 02:01:37.861431 ============> sockfilt quits === End of file ftp_ipv6_sockdata.log === Start of file server.cmd Testnum 255 === End of file server.cmd === Start of file valgrind255 ==91180== ==91180== Process terminating with default action of signal 4 (SIGILL) ==91180== Illegal opcode at address 0x10B08D ==91180== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91180== by 0x10B08D: main (tool_main.c:232) === End of file valgrind255 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/ftp_ipv6_server.pid" --logfile "log/7/ftp_ipv6_server.log" --logdir "log/7" --portfile "log/7/server/ftp_ipv6_server.port" --srcdir "/startdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind266 ../src/curl -q --output log/10/curl266.out --include --trace-ascii log/10/trace266 --trace-config all --trace-time http://127.0.0.1:42929/266 -D log/10/heads266 > log/10/stdout266 2> log/10/stderr266 ir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 35941 (log/7/server/ftp_ipv6_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://[::1]:35941/verifiedserver" 2>log/7/ftp_ipv6_verify.log RUN: Verifying our test ftp-ipv6 server took 0 seconds RUN: FTP-IPv6 server is PID 90423 port 35941 * pid ftp-ipv6 => 90423 90423 test 0254...[FTP IPv6 dir list PASV and --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind254 ../src/curl -q --output log/7/curl254.out --include --trace-ascii log/7/trace254 --trace-config all --trace-time -g "ftp://[::1]:35941/" --disable-epsv > log/7/stdout254 2> log/7/stderr254 254: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 254 === Start of file ftp_ipv6_server.log 02:01:36.636144 FTP server listens on port IPv6/35941 02:01:36.636227 logged pid 90423 in log/7/server/ftp_ipv6_server.pid 02:01:36.636253 Awaiting input 02:01:37.618470 ====> Client connect 02:01:37.618669 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:37.619043 < "USER anonymous" 02:01:37.619093 > "331 We are happy you popped in![CR][LF]" 02:01:37.619326 < "PASS ftp@example.com" 02:01:37.619368 > "230 Welcome you silly person[CR][LF]" 02:01:37.619566 < "PWD" 02:01:37.619610 > "257 "/" is current directory[CR][LF]" 02:01:37.619824 < "EPSV" 02:01:37.619859 ====> Passive DATA channel requested by client 02:01:37.619875 DATA sockfilt for passive data channel starting... 02:01:37.625363 DATA sockfilt for passive data channel started (pid 91094) 02:01:37.625495 DATA sockfilt for passive data channel listens on port 36041 02:01:37.625549 > "229 Entering Passive Mode (|||36041|)[LF]" 02:01:37.625567 Client has been notified that DATA conn will be accepted on port 36041 02:01:37.626798 Client connects to port 36041 02:01:37.626830 ====> Client established passive DATA connection on port 36041 02:01:37.626914 < "TYPE I" 02:01:37.626946 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:37.627120 < "SIZE verifiedserver" 02:01:37.627159 > "213 17[CR][LF]" 02:01:37.627313 < "RETR verifiedserver" 02:01:37.627347 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:37.627431 =====> Closing passive DATA connection... 02:01:37.627448 Server disconnects passive DATA connection 02:01:37.627679 Server disconnected passive DATA connection 02:01:37.627706 DATA sockfilt for passive data channel quits (pid 91094) 02:01:37.627916 DATA sockfilt for passive data channel quit (pid 91094) 02:01:37.627937 =====> Closed passive DATA connection 02:01:37.627963 > "226 File transfer complete[CR][LF]" 02:01:37.675404 < "QUIT" 02:01:37.675469 > "221 bye bye baby[CR][LF]" 02:01:37.676479 MAIN sockfilt said DISC 02:01:37.676527 ====> Client disconnected 02:01:37.676595 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 02:01:36.835861 Running IPv6 version 02:01:36.835945 Listening on port 35941 02:01:36.835982 Wrote pid 90437 to log/7/server/ftp_ipv6_sockctrl.pid 02:01:36.836012 Wrote port 35941 to log/7/server/ftp_ipv6_server.port 02:01:36.836185 Received PING (on stdin) 02:01:37.818515 ====> Client connect 02:01:37.818829 Received DATA (on stdin) 02:01:37.818849 > 160 bytes data, server => client 02:01:37.818863 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:37.818875 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:37.818887 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:37.818971 < 16 bytes data, client => server 02:01:37.818989 'USER anonymous\r\n' 02:01:37.819244 Received DATA (on stdin) 02:01:37.819260 > 33 bytes data, server => client 02:01:37.819273 '331 We are happy you popped in!\r\n' 02:01:37.819334 < 22 bytes data, client => server 02:01:37.819350 'PASS ftp@example.com\r\n' 02:01:37.819512 Received DATA (on stdin) 02:01:37.819528 > 30 bytes data, server => client 02:01:37.819540 '230 Welcome you silly person\r\n' 02:01:37.819597 < 5 bytes data, client => server 02:01:37.819614 'PWD\r\n' 02:01:37.819754 Received DATA (on stdin) 02:01:37.819768 > 30 bytes data, server => client 02:01:37.819780 '257 "/" is current directory\r\n' 02:01:37.819848 < 6 bytes data, client => server 02:01:37.819866 'EPSV\r\n' 02:01:37.826658 Received DATA (on stdin) 02:01:37.826680 > 38 bytes data, server => client 02:01:37.826695 '229 Entering Passive Mode (|||36041|)\n' 02:01:37.826854 < 8 bytes data, client => server 02:01:37.826870 'TYPE I\r\n' 02:01:37.827087 Received DATA (on stdin) 02:01:37.827101 > 33 bytes data, server => client 02:01:37.827112 '200 I modify TYPE as you wanted\r\n' 02:01:37.827166 < 21 bytes data, client => server 02:01:37.827180 'SIZE verifiedserver\r\n' 02:01:37.827299 Received DATA (on stdin) 02:01:37.827311 > 8 bytes data, server => client 02:01:37.827322 '213 17\r\n' 02:01:37.827371 < 21 bytes data, client => server 02:01:37.827383 'RETR verifiedserver\r\n' 02:01:37.827588 Received DATA (on stdin) 02:01:37.827600 > 29 bytes data, server => client 02:01:37.827611 '150 Binary junk (17 bytes).\r\n' 02:01:37.828103 Received DATA (on stdin) 02:01:37.828117 > 28 bytes data, server => client 02:01:37.828128 '226 File transfer complete\r\n' 02:01:37.875329 < 6 bytes data, client => server 02:01:37.875364 'QUIT\r\n' 02:01:37.875627 Received DATA (on stdin) 02:01:37.875646 > 18 bytes data, server => client 02:01:37.875659 '221 bye bye baby\r\n' 02:01:37.876551 ====> Client disconnect 02:01:37.876747 Received ACKD (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file ftp_ipv6_sockdata.log 02:01:37.821509 Running IPv6 version 02:01:37.821572 Listening on port 36041 02:01:37.821612 Wrote pid 91094 to log/7/server/ftp_ipv6_sockdata.pid 02:01:37.825428 Received PING (on stdin) 02:01:37.825544 Received PORT (on stdin) 02:01:37.826891 ====> Client connect 02:01:37.827639 Received DATA (on stdin) 02:01:37.827654 > 17 bytes data, server => client 02:01:37.827665 'WE ROOLZ: 90423\r\n' 02:01:37.827689 Received DISC (on stdin) 02:01:37.827701 ====> Client forcibly disconnected 02:01:37.827854 Received QUIT (on stdin) 02:01:37.827866 quits 02:01:37.827922 ============> sockfilt quits === End of file ftp_ipv6_sockdata.log === Start of file server.cmd Testnum 254 === End of file server.cmd === Start of file valgrind254 ==91126== ==91126== Process terminating with default action of signal 4 (SIGILL) ==91126== Illegal opcode at address 0x10B08D ==91126== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91126== by 0x10B08D: main (tool_main.c:232) === End of file valgrind254 test 0266...[HTTP GET with chunked Transfer-Encoding and chunked trailer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind266 ../src/curl -q --output log/10/curl266.out --include --trace-ascii log/10/trace266 --trace-config all --trace-time http://127.0.0.1:42929/266 -D log/10/heads266 > log/10/stdout266 2> log/10/stderr266 266: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 266 === Start of file http_server.log 02:01:38.285179 ====> Client connect 02:01:38.285219 accept_connection 3 returned 4 02:01:38.285238 accept_connection 3 returned 0 02:01:38.285254 Read 93 bytes 02:01:38.285265 Process 93 bytes request 02:01:38.285281 Got request: GET /verifiedserver HTTP/1.1 02:01:38.285291 Are-we-friendly question received 02:01:38.285315 Wrote request (93 bytes) input to log/10/server.input 02:01:38.285333 Identifying ourselves as friends 02:01:38.285CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind269 ../src/curl -q --output log/4/curl269.out --include --trace-ascii log/4/trace269 --trace-config all --trace-time http://127.0.0.1:36813/269 --ignore-content-length > log/4/stdout269 2> log/4/stderr269 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind268 ../src/curl -q --output log/9/curl268.out --include --trace-ascii log/9/trace268 --trace-config all --trace-time http://127.0.0.1:38509/268 --variable hello@log/9/junk --expand-data {{hello:json}} > log/9/stdout268 2> log/9/stderr268 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind265 ../src/curl -q --output log/2/curl265.out --include --trace-ascii log/2/trace265 --trace-config all --trace-time http://test.remote.example.com.265:38781/path/2650002 --proxy http://127.0.0.1:38781 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/2/stdout265 2> log/2/stderr265 412 Response sent (56 bytes) and written to log/10/server.response 02:01:38.285425 special request received, no persistency 02:01:38.285436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 266 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind266 ==91359== ==91359== Process terminating with default action of signal 4 (SIGILL) ==91359== Illegal opcode at address 0x10B08D ==91359== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91359== by 0x10B08D: main (tool_main.c:232) === End of file valgrind266 test 0269...[HTTP --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind269 ../src/curl -q --output log/4/curl269.out --include --trace-ascii log/4/trace269 --trace-config all --trace-time http://127.0.0.1:36813/269 --ignore-content-length > log/4/stdout269 2> log/4/stderr269 269: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 269 === Start of file http_server.log 02:01:38.505215 ====> Client connect 02:01:38.505248 accept_connection 3 returned 4 02:01:38.505264 accept_connection 3 returned 0 02:01:38.505278 Read 93 bytes 02:01:38.505287 Process 93 bytes request 02:01:38.505301 Got request: GET /verifiedserver HTTP/1.1 02:01:38.505310 Are-we-friendly question received 02:01:38.505330 Wrote request (93 bytes) input to log/4/server.input 02:01:38.505346 Identifying ourselves as friends 02:01:38.505416 Response sent (56 bytes) and written to log/4/server.response 02:01:38.505427 special request received, no persistency 02:01:38.505437 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 269 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind269 ==91511== ==91511== Process terminating with default action of signal 4 (SIGILL) ==91511== Illegal opcode at address 0x10B08D ==91511== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91511== by 0x10B08D: main (tool_main.c:232) === End of file valgrind269 test 0268...[JSON encoding of Unicode string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind268 ../src/curl -q --output log/9/curl268.out --include --trace-ascii log/9/trace268 --trace-config all --trace-time http://127.0.0.1:38509/268 --variable hello@log/9/junk --expand-data {{hello:json}} > log/9/stdout268 2> log/9/stderr268 268: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 268 === Start of file http_server.log 02:01:38.432925 ====> Client connect 02:01:38.432956 accept_connection 3 returned 4 02:01:38.432972 accept_connection 3 returned 0 02:01:38.432986 Read 93 bytes 02:01:38.432996 Process 93 bytes request 02:01:38.433011 Got request: GET /verifiedserver HTTP/1.1 02:01:38.433020 Are-we-friendly question received 02:01:38.433042 Wrote request (93 bytes) input to log/9/server.input 02:01:38.433060 Identifying ourselves as friends 02:01:38.433133 Response sent (56 bytes) and written to log/9/server.response 02:01:38.433145 special request received, no persistency 02:01:38.433154 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file junk “ === End of file junk === Start of file server.cmd Testnum 268 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind268 ==91484== ==91484== Process terminating with default action of signal 4 (SIGILL) ==91484== Illegal opcode at address 0x10B08D ==91484== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91484== by 0x10B08D: main (tool_main.c:232) === End of file valgrind268 test 0265...[HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind265 ../src/curl -q --output log/2/curl265.out --include --trace-ascii log/2/trace265 --trace-config all --trace-time http://test.remote.example.com.265:38781/path/2650002 --proxy http://127.0.0.1:38781 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/2/stdout265 2> log/2/stderr265 265: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 265 === Start of file http_server.log 02:01:38.118244 ====> Client connect 02:01:38.118285 accept_connection 3 returned 4 02:01:38.118305 accept_connection 3 returned 0 02:01:38.118959 Read 93 bytes 02:01:38.118982 Process 93 bytes request 02:01:38.119000 Got request: GET /verifiedserver HTTP/1.1 02:01:38.119011 Are-we-friendly question received 02:01:38.119046 Wrote request (93 bytes) input to log/2/server.input 02:01:38.119069 Identifying ourselves as friends 02:01:38.119157 Response sent (56 bytes) and written to log/2/server.response 02:01:38.119173 special request received, no persistency 02:01:38.119185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 265 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind265 ==91286== ==91286== Process terminating with default action of signal 4 (SIGILL) ==91286== Illegal opcode at address 0x10B08D ==91286== at 0x10B08D: UnknoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind270 ../src/curl -q --output log/11/curl270.out --include --trace-ascii log/11/trace270 --trace-config all --trace-time ftp://127.0.0.1:45687/270 --ftp-skip-pasv-ip --disable-epsv > log/11/stdout270 2> log/11/stderr270 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind267 ../src/curl -q --output log/5/curl267.out --include --trace-ascii log/5/trace267 --trace-config all --trace-time http://127.0.0.1:33361/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/5/stdout267 2> log/5/stderr267 wnInlinedFun (string_fortified.h:59) ==91286== by 0x10B08D: main (tool_main.c:232) === End of file valgrind265 test 0270...[FTP RETR PASV --ftp-skip-pasv-ip] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind270 ../src/curl -q --output log/11/curl270.out --include --trace-ascii log/11/trace270 --trace-config all --trace-time ftp://127.0.0.1:45687/270 --ftp-skip-pasv-ip --disable-epsv > log/11/stdout270 2> log/11/stderr270 270: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 270 === Start of file ftp_server.log 02:01:38.309701 ====> Client connect 02:01:38.310095 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:38.310396 < "USER anonymous" 02:01:38.310430 > "331 We are happy you popped in![CR][LF]" 02:01:38.310594 < "PASS ftp@example.com" 02:01:38.310618 > "230 Welcome you silly person[CR][LF]" 02:01:38.310758 < "PWD" 02:01:38.310787 > "257 "/" is current directory[CR][LF]" 02:01:38.310931 < "EPSV" 02:01:38.310954 ====> Passive DATA channel requested by client 02:01:38.310966 DATA sockfilt for passive data channel starting... 02:01:38.313135 DATA sockfilt for passive data channel started (pid 91504) 02:01:38.313225 DATA sockfilt for passive data channel listens on port 46181 02:01:38.313259 > "229 Entering Passive Mode (|||46181|)[LF]" 02:01:38.313275 Client has been notified that DATA conn will be accepted on port 46181 02:01:38.313551 Client connects to port 46181 02:01:38.313580 ====> Client established passive DATA connection on port 46181 02:01:38.313648 < "TYPE I" 02:01:38.313674 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:38.313822 < "SIZE verifiedserver" 02:01:38.313854 > "213 17[CR][LF]" 02:01:38.313995 < "RETR verifiedserver" 02:01:38.314024 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:38.314098 =====> Closing passive DATA connection... 02:01:38.314112 Server disconnects passive DATA connection 02:01:38.314592 Server disconnected passive DATA connection 02:01:38.314622 DATA sockfilt for passive data channel quits (pid 91504) 02:01:38.314806 DATA sockfilt for passive data channel quit (pid 91504) 02:01:38.314826 =====> Closed passive DATA connection 02:01:38.314852 > "226 File transfer complete[CR][LF]" 02:01:38.358900 < "QUIT" 02:01:38.358962 > "221 bye bye baby[CR][LF]" 02:01:38.359935 MAIN sockfilt said DISC 02:01:38.359983 ====> Client disconnected 02:01:38.360063 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:38.503859 ====> Client connect 02:01:38.510254 Received DATA (on stdin) 02:01:38.510273 > 160 bytes data, server => client 02:01:38.510286 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:38.510298 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:38.510308 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:38.510393 < 16 bytes data, client => server 02:01:38.510405 'USER anonymous\r\n' 02:01:38.510570 Received DATA (on stdin) 02:01:38.510582 > 33 bytes data, server => client 02:01:38.510593 '331 We are happy you popped in!\r\n' 02:01:38.510647 < 22 bytes data, client => server 02:01:38.510658 'PASS ftp@example.com\r\n' 02:01:38.510755 Received DATA (on stdin) 02:01:38.510766 > 30 bytes data, server => client 02:01:38.510776 '230 Welcome you silly person\r\n' 02:01:38.510822 < 5 bytes data, client => server 02:01:38.510833 'PWD\r\n' 02:01:38.510923 Received DATA (on stdin) 02:01:38.510934 > 30 bytes data, server => client 02:01:38.510945 '257 "/" is current directory\r\n' 02:01:38.510997 < 6 bytes data, client => server 02:01:38.511008 'EPSV\r\n' 02:01:38.513421 Received DATA (on stdin) 02:01:38.513435 > 38 bytes data, server => client 02:01:38.513447 '229 Entering Passive Mode (|||46181|)\n' 02:01:38.513609 < 8 bytes data, client => server 02:01:38.513625 'TYPE I\r\n' 02:01:38.513811 Received DATA (on stdin) 02:01:38.513823 > 33 bytes data, server => client 02:01:38.513833 '200 I modify TYPE as you wanted\r\n' 02:01:38.513883 < 21 bytes data, client => server 02:01:38.513894 'SIZE verifiedserver\r\n' 02:01:38.513991 Received DATA (on stdin) 02:01:38.514001 > 8 bytes data, server => client 02:01:38.514011 '213 17\r\n' 02:01:38.514057 < 21 bytes data, client => server 02:01:38.514067 'RETR verifiedserver\r\n' 02:01:38.514250 Received DATA (on stdin) 02:01:38.514261 > 29 bytes data, server => client 02:01:38.514272 '150 Binary junk (17 bytes).\r\n' 02:01:38.514990 Received DATA (on stdin) 02:01:38.515003 > 28 bytes data, server => client 02:01:38.515014 '226 File transfer complete\r\n' 02:01:38.558827 < 6 bytes data, client => server 02:01:38.558865 'QUIT\r\n' 02:01:38.559117 Received DATA (on stdin) 02:01:38.559136 > 18 bytes data, server => client 02:01:38.559149 '221 bye bye baby\r\n' 02:01:38.559995 ====> Client disconnect 02:01:38.560216 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:38.512740 Running IPv4 version 02:01:38.512792 Listening on port 46181 02:01:38.512822 Wrote pid 91504 to log/11/server/ftp_sockdata.pid 02:01:38.513218 Received PING (on stdin) 02:01:38.513290 Received PORT (on stdin) 02:01:38.513645 ====> Client connect 02:01:38.514298 Received DATA (on stdin) 02:01:38.514311 > 17 bytes data, server => client 02:01:38.514321 'WE ROOLZ: 80480\r\n' 02:01:38.514346 Received DISC (on stdin) 02:01:38.514359 ====> Client forcibly disconnected 02:01:38.514770 Received QUIT (on stdin) 02:01:38.514784 quits 02:01:38.514832 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd PASVBADIP Testnum 270 === End of file server.cmd === Start of file valgrind270 ==91570== ==91570== Process terminating with default action of signal 4 (SIGILL) ==91570== Illegal opcode at address 0x10B08D ==91570== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91570== by 0x10B08D: main (tool_main.c:232) === End of file valgrind270 test 0267...[HTTP POST with NTLM authorization and added custom headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind267 ../src/curl -q --output log/5/curl267.out --include --trace-ascii log/5/trace267 --trace-config all --trace-time http://127.0.0.1:33361/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/5/stdout267 2> log/5/stderr267 267: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 267 === Start of file http_server.log 02:01:38.321883 ====> Client connect 02:01:38.321919 accept_connection 3 returned 4 02:01:38.321937 accept_connection 3 returned 0 02:01:38.321951 Read 93 bytes 02:01:38.321962 Process 93 bytes request 02:01:38.321976 Got request: GET /verifiedserver HTTP/1.1 02:01:38.321986 Are-we-friendly question received 02:01:38.322007 Wrote request (93 bytes) input to log/5/server.input 02:01:38.322025 Identifying ourselves as friends 02:01:38.322103 Response sent (56 bytes) and written to log/5/server.response 02:01:38.322115 special request received, no persistency 02:01:38.322124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind272 ../src/curl -q --output log/3/curl272.out --include --trace-ascii log/3/trace272 --trace-config all --trace-time ftp://127.0.0.1:45983/272 -z "2004 jan 1 12:12:12 UTC" > log/3/stdout272 2> log/3/stderr272 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind273 ../src/curl -q --output log/6/curl273.out --include --trace-ascii log/6/trace273 --trace-config all --trace-time http://127.0.0.1:39457/273 -u testuser:testpass --digest > log/6/stdout273 2> log/6/stderr273 WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 267 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind267 ==91388== ==91388== Process terminating with default action of signal 4 (SIGILL) ==91388== Illegal opcode at address 0x10B08D ==91388== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91388== by 0x10B08D: main (tool_main.c:232) === End of file valgrind267 test 0272...[FTP timed conditioned get file with identical time stamp] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind272 ../src/curl -q --output log/3/curl272.out --include --trace-ascii log/3/trace272 --trace-config all --trace-time ftp://127.0.0.1:45983/272 -z "2004 jan 1 12:12:12 UTC" > log/3/stdout272 2> log/3/stderr272 272: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 272 === Start of file ftp_server.log 02:01:38.677844 ====> Client connect 02:01:38.677995 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:38.678295 < "USER anonymous" 02:01:38.678336 > "331 We are happy you popped in![CR][LF]" 02:01:38.696995 < "PASS ftp@example.com" 02:01:38.697050 > "230 Welcome you silly person[CR][LF]" 02:01:38.698668 < "PWD" 02:01:38.698721 > "257 "/" is current directory[CR][LF]" 02:01:38.698933 < "EPSV" 02:01:38.698966 ====> Passive DATA channel requested by client 02:01:38.698979 DATA sockfilt for passive data channel starting... 02:01:38.718413 DATA sockfilt for passive data channel started (pid 91702) 02:01:38.718961 DATA sockfilt for passive data channel listens on port 37125 02:01:38.719023 > "229 Entering Passive Mode (|||37125|)[LF]" 02:01:38.719041 Client has been notified that DATA conn will be accepted on port 37125 02:01:38.719385 Client connects to port 37125 02:01:38.719420 ====> Client established passive DATA connection on port 37125 02:01:38.719510 < "TYPE I" 02:01:38.719541 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:38.719711 < "SIZE verifiedserver" 02:01:38.719750 > "213 17[CR][LF]" 02:01:38.719904 < "RETR verifiedserver" 02:01:38.719935 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:38.720019 =====> Closing passive DATA connection... 02:01:38.720034 Server disconnects passive DATA connection 02:01:38.720282 Server disconnected passive DATA connection 02:01:38.720309 DATA sockfilt for passive data channel quits (pid 91702) 02:01:38.720522 DATA sockfilt for passive data channel quit (pid 91702) 02:01:38.720543 =====> Closed passive DATA connection 02:01:38.720569 > "226 File transfer complete[CR][LF]" 02:01:38.775175 < "QUIT" 02:01:38.775231 > "221 bye bye baby[CR][LF]" 02:01:38.781731 MAIN sockfilt said DISC 02:01:38.781795 ====> Client disconnected 02:01:38.781870 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:38.877834 ====> Client connect 02:01:38.878147 Received DATA (on stdin) 02:01:38.878163 > 160 bytes data, server => client 02:01:38.878175 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:38.878186 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:38.878197 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:38.878288 < 16 bytes data, client => server 02:01:38.878301 'USER anonymous\r\n' 02:01:38.878478 Received DATA (on stdin) 02:01:38.878518 > 33 bytes data, server => client 02:01:38.878530 '331 We are happy you popped in!\r\n' 02:01:38.886428 < 22 bytes data, client => server 02:01:38.886459 'PASS ftp@example.com\r\n' 02:01:38.898513 Received DATA (on stdin) 02:01:38.898544 > 30 bytes data, server => client 02:01:38.898557 '230 Welcome you silly person\r\n' 02:01:38.898675 < 5 bytes data, client => server 02:01:38.898692 'PWD\r\n' 02:01:38.898869 Received DATA (on stdin) 02:01:38.898884 > 30 bytes data, server => client 02:01:38.898896 '257 "/" is current directory\r\n' 02:01:38.898973 < 6 bytes data, client => server 02:01:38.898988 'EPSV\r\n' 02:01:38.919191 Received DATA (on stdin) 02:01:38.919209 > 38 bytes data, server => client 02:01:38.919221 '229 Entering Passive Mode (|||37125|)\n' 02:01:38.919434 < 8 bytes data, client => server 02:01:38.919452 'TYPE I\r\n' 02:01:38.919682 Received DATA (on stdin) 02:01:38.919694 > 33 bytes data, server => client 02:01:38.919705 '200 I modify TYPE as you wanted\r\n' 02:01:38.919765 < 21 bytes data, client => server 02:01:38.919777 'SIZE verifiedserver\r\n' 02:01:38.919894 Received DATA (on stdin) 02:01:38.919906 > 8 bytes data, server => client 02:01:38.919916 '213 17\r\n' 02:01:38.919966 < 21 bytes data, client => server 02:01:38.919977 'RETR verifiedserver\r\n' 02:01:38.920173 Received DATA (on stdin) 02:01:38.920185 > 29 bytes data, server => client 02:01:38.920196 '150 Binary junk (17 bytes).\r\n' 02:01:38.920710 Received DATA (on stdin) 02:01:38.920728 > 28 bytes data, server => client 02:01:38.920738 '226 File transfer complete\r\n' 02:01:38.968528 < 6 bytes data, client => server 02:01:38.968568 'QUIT\r\n' 02:01:38.978616 Received DATA (on stdin) 02:01:38.978641 > 18 bytes data, server => client 02:01:38.978653 '221 bye bye baby\r\n' 02:01:38.979647 ====> Client disconnect 02:01:38.985495 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:38.904961 Running IPv4 version 02:01:38.905041 Listening on port 37125 02:01:38.905077 Wrote pid 91702 to log/3/server/ftp_sockdata.pid 02:01:38.905095 Received PING (on stdin) 02:01:38.918960 Received PORT (on stdin) 02:01:38.919474 ====> Client connect 02:01:38.920252 Received DATA (on stdin) 02:01:38.920268 > 17 bytes data, server => client 02:01:38.920279 'WE ROOLZ: 80465\r\n' 02:01:38.920309 Received DISC (on stdin) 02:01:38.920321 ====> Client forcibly disconnected 02:01:38.920456 Received QUIT (on stdin) 02:01:38.920468 quits 02:01:38.920524 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272 ==91730== ==91730== Process terminating with default action of signal 4 (SIGILL) ==91730== Illegal opcode at address 0x10B08D ==91730== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91730== by 0x10B08D: main (tool_main.c:232) === End of file valgrind272 test 0273...[HTTP with two Digest authorization headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind273 ../src/curl -q --output log/6/curl273.out --include --trace-ascii log/6/trace273 --trace-config all --trace-time http://127.0.0.1:39457/273 -u testuser:testpass --digest > log/6/stdout273 2> log/6/stderr273 273: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 273 === Start of file http_server.log 02:01:38.985919 ====> Client connect 02:01:38.985953 accept_connection 3 returned 4 02:01:38.985969 accept_connection 3 returned 0 02:01:38.985983 Read 93 bytes 02:01:38.985994 Process 93 bytes request 02:01:38.986008 Got request: GET /verifiedserver HTTP/1.1 02:01:38.986018 Are-we-friendly question received 02:01:38.986042 Wrote request (93 bytes) input to log/6/server.input 02:01:38.986059 Identifying ourselves as friends 02:01:38.986188 Response sent (56 bytes) and written to log/6/server.response 02:01:38.986226 special request received, no persistency 02:01:38.986248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * ConneCMD (0): ../src/curl --max-time 13 --output log/1/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:34021/verifiedserver" 2>log/1/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind276 ../src/curl -q --output log/7/curl276.out --include --trace-ascii log/7/trace276 --trace-config all --trace-time "http://127.0.0.1:43753/want?uri=http://anything/276?secondq/276" -L > log/7/stdout276 2> log/7/stderr276 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind274 ../src/curl -q --output log/8/curl274.out --include --trace-ascii log/8/trace274 --trace-config all --trace-time http://127.0.0.1:43803/want/274 -L --max-redirs 0 > log/8/stdout274 2> log/8/stderr274 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind279 ../src/curl -q --output log/9/curl279.out --include --trace-ascii log/9/trace279 --trace-config all --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:38509 > log/9/stdout279 2> log/9/stderr279 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind277 ../src/curl -q --output log/10/curl277.out --include --trace-ascii log/10/trace277 --trace-config all --trace-time http://127.0.0.1:42929/want/277 -F name=daniel -H "Content-Type: text/info" > log/10/stdout277 2> log/10/stderr277 cted to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 273 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind273 ==91717== ==91717== Process terminating with default action of signal 4 (SIGILL) ==91717== Illegal opcode at address 0x10B08D ==91717== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91717== by 0x10B08D: main (tool_main.c:232) === End of file valgrind273 test 0276...[HTTP Location: following with multiple question marks in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind276 ../src/curl -q --output log/7/curl276.out --include --trace-ascii log/7/trace276 --trace-config all --trace-time "http://127.0.0.1:43753/want?uri=http://anything/276?secondq/276" -L > log/7/stdout276 2> log/7/stderr276 276: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 276 === Start of file http_server.log 02:01:39.208455 ====> Client connect 02:01:39.208509 accept_connection 3 returned 4 02:01:39.208530 accept_connection 3 returned 0 02:01:39.208546 Read 93 bytes 02:01:39.208557 Process 93 bytes request 02:01:39.208573 Got request: GET /verifiedserver HTTP/1.1 02:01:39.208585 Are-we-friendly question received 02:01:39.208615 Wrote request (93 bytes) input to log/7/server.input 02:01:39.208636 Identifying ourselves as friends 02:01:39.208720 Response sent (56 bytes) and written to log/7/server.response 02:01:39.208735 special request received, no persistency 02:01:39.208746 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 276 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind276 ==91852== ==91852== Process terminating with default action of signal 4 (SIGILL) ==91852== Illegal opcode at address 0x10B08D ==91852== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91852== by 0x10B08D: main (tool_main.c:232) === End of file valgrind276 test 0274...[HTTP Location: following with --max-redirs 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind274 ../src/curl -q --output log/8/curl274.out --include --trace-ascii log/8/trace274 --trace-config all --trace-time http://127.0.0.1:43803/want/274 -L --max-redirs 0 > log/8/stdout274 2> log/8/stderr274 274: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 274 === Start of file http_server.log 02:01:39.218579 ====> Client connect 02:01:39.218612 accept_connection 3 returned 4 02:01:39.218631 accept_connection 3 returned 0 02:01:39.218647 Read 93 bytes 02:01:39.218657 Process 93 bytes request 02:01:39.218671 Got request: GET /verifiedserver HTTP/1.1 02:01:39.218681 Are-we-friendly question received 02:01:39.218718 Wrote request (93 bytes) input to log/8/server.input 02:01:39.218745 Identifying ourselves as friends 02:01:39.218810 Response sent (56 bytes) and written to log/8/server.response 02:01:39.218820 special request received, no persistency 02:01:39.218829 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 274 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind274 ==91845== ==91845== Process terminating with default action of signal 4 (SIGILL) ==91845== Illegal opcode at address 0x10B08D ==91845== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==91845== by 0x10B08D: main (tool_main.c:232) === End of file valgrind274 test 0279...[HTTP with proxy string including http:// and user only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind279 ../src/curl -q --output log/9/curl279.out --include --trace-ascii log/9/trace279 --trace-config all --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:38509 > log/9/stdout279 2> log/9/stderr279 279: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 279 === Start of file http_server.log 02:01:39.559153 ====> Client connect 02:01:39.559185 accept_connection 3 returned 4 02:01:39.559202 accept_connection 3 returned 0 02:01:39.559326 Read 93 bytes 02:01:39.559340 Process 93 bytes request 02:01:39.559357 Got request: GET /verifiedserver HTTP/1.1 02:01:39.559366 Are-we-friendly question received 02:01:39.559392 Wrote request (93 bytes) input to log/9/server.input 02:01:39.559410 Identifying ourselves as friends 02:01:39.559474 Response sent (56 bytes) and written to log/9/server.response 02:01:39.559484 special request received, no persistency 02:01:39.559494 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 279 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind279 ==92023== ==92023== Process terminating with default action of signal 4 (SIGILL) ==92023== Illegal opcode at address 0x10B08D ==92023== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92023== by 0x10B08D: main (tool_main.c:232) === End of file valgrind279 test 0277...[HTTP RFC1867-type formposting with custom Content-Type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind277 ../src/curl -q --output log/10/curl277.ouCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind282 ../src/curl -q --output log/5/curl282.out --include --trace-ascii log/5/trace282 --trace-config all --trace-time http://127.0.0.1:33361/282 > log/5/stdout282 2> log/5/stderr282 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind278 ../src/curl -q --output log/4/curl278.out --include --trace-ascii log/4/trace278 --trace-config all --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:36813 > log/4/stdout278 2> log/4/stderr278 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind271 ../src/curl -q --output log/12/curl271.out --include --trace-ascii log/12/trace271 --trace-config all --trace-time tftp://127.0.0.1:59336//271 > log/12/stdout271 2> log/12/stderr271 t --include --trace-ascii log/10/trace277 --trace-config all --trace-time http://127.0.0.1:42929/want/277 -F name=daniel -H "Content-Type: text/info" > log/10/stdout277 2> log/10/stderr277 277: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 277 === Start of file http_server.log 02:01:39.524584 ====> Client connect 02:01:39.524622 accept_connection 3 returned 4 02:01:39.524640 accept_connection 3 returned 0 02:01:39.524656 Read 93 bytes 02:01:39.524666 Process 93 bytes request 02:01:39.524682 Got request: GET /verifiedserver HTTP/1.1 02:01:39.524692 Are-we-friendly question received 02:01:39.524714 Wrote request (93 bytes) input to log/10/server.input 02:01:39.524731 Identifying ourselves as friends 02:01:39.524799 Response sent (56 bytes) and written to log/10/server.response 02:01:39.524812 special request received, no persistency 02:01:39.524822 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 277 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind277 ==92006== ==92006== Process terminating with default action of signal 4 (SIGILL) ==92006== Illegal opcode at address 0x10B08D ==92006== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92006== by 0x10B08D: main (tool_main.c:232) === End of file valgrind277 test 0282...[HTTP GET with no response body or headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind282 ../src/curl -q --output log/5/curl282.out --include --trace-ascii log/5/trace282 --trace-config all --trace-time http://127.0.0.1:33361/282 > log/5/stdout282 2> log/5/stderr282 282: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 282 === Start of file http_server.log 02:01:39.726989 ====> Client connect 02:01:39.727022 accept_connection 3 returned 4 02:01:39.727037 accept_connection 3 returned 0 02:01:39.727049 Read 93 bytes 02:01:39.727060 Process 93 bytes request 02:01:39.727072 Got request: GET /verifiedserver HTTP/1.1 02:01:39.727081 Are-we-friendly question received 02:01:39.727102 Wrote request (93 bytes) input to log/5/server.input 02:01:39.727118 Identifying ourselves as friends 02:01:39.727182 Response sent (56 bytes) and written to log/5/server.response 02:01:39.727194 special request received, no persistency 02:01:39.727204 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 282 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind282 ==92238== ==92238== Process terminating with default action of signal 4 (SIGILL) ==92238== Illegal opcode at address 0x10B08D ==92238== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92238== by 0x10B08D: main (tool_main.c:232) === End of file valgrind282 test 0278...[HTTP with proxy string including http:// and user+empty password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind278 ../src/curl -q --output log/4/curl278.out --include --trace-ascii log/4/trace278 --trace-config all --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:36813 > log/4/stdout278 2> log/4/stderr278 278: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 278 === Start of file http_server.log 02:01:39.528509 ====> Client connect 02:01:39.528553 accept_connection 3 returned 4 02:01:39.528570 accept_connection 3 returned 0 02:01:39.528586 Read 93 bytes 02:01:39.528595 Process 93 bytes request 02:01:39.528608 Got request: GET /verifiedserver HTTP/1.1 02:01:39.528617 Are-we-friendly question received 02:01:39.528638 Wrote request (93 bytes) input to log/4/server.input 02:01:39.528655 Identifying ourselves as friends 02:01:39.528725 Response sent (56 bytes) and written to log/4/server.response 02:01:39.528735 special request received, no persistency 02:01:39.528744 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 278 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind278 ==92019== ==92019== Process terminating with default action of signal 4 (SIGILL) ==92019== Illegal opcode at address 0x10B08D ==92019== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92019== by 0x10B08D: main (tool_main.c:232) === End of file valgrind278 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/12/server/tftp_server.pid" --portfile "log/12/server/tftp_server.port" --logfile "log/12/tftp_server.log" --logdir "log/12" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --silent --verbose --globoff "tftp://127.0.0.1:59336/verifiedserver" 2>log/12/tftp_verify.log RUN: Verifying our test tftp server took 0 seconds RUN: TFTP server on PID 91586 port 59336 * pid tftp => 91586 91586 test 0271...[TFTP retrieve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind271 ../src/curl -q --output log/12/curl271.out --include --trace-ascii log/12/trace271 --trace-config all --trace-time tftp://127.0.0.1:59336//271 > log/12/stdout271 2> log/12/stderr271 271: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 271 === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 02:01:38.615009 Wrote pid 91586 to log/12/server/tftp_server.pid 02:01:38.615060 Wrote port 59336 to log/12/server/tftp_server.port 02:01:38.615074 Running IPv4 version on port UDP/59336 02:01:39.661946 trying to get file: verifiedserver mode 1 02:01:39.662206 Are-we-friendly question receCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind280 ../src/curl -q --output log/2/curl280.out --include --trace-ascii log/2/trace280 --trace-config all --trace-time ftp://127.0.0.1:36595/280/ --ftp-alternative-to-user "USER replacement" > log/2/stdout280 2> log/2/stderr280 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind281 ../src/curl -q --output log/11/curl281.out --include --trace-ascii log/11/trace281 --trace-config all --trace-time http://127.0.0.1:44137/we/want/281 -f -T log/11/test281.txt > log/11/stdout281 2> log/11/stderr281 ived 02:01:39.662221 write 02:01:39.662259 read 02:01:39.663050 read: 4 02:01:39.663098 end of one transfer === End of file tftp_server.log === Start of file valgrind271 ==92133== ==92133== Process terminating with default action of signal 4 (SIGILL) ==92133== Illegal opcode at address 0x10B08D ==92133== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92133== by 0x10B08D: main (tool_main.c:232) === End of file valgrind271 test 0280...[FTP --ftp-alternative-to-user on USER failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind280 ../src/curl -q --output log/2/curl280.out --include --trace-ascii log/2/trace280 --trace-config all --trace-time ftp://127.0.0.1:36595/280/ --ftp-alternative-to-user "USER replacement" > log/2/stdout280 2> log/2/stderr280 280: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 280 === Start of file ftp_server.log 02:01:39.406343 ====> Client connect 02:01:39.406486 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:39.406762 < "USER anonymous" 02:01:39.406793 > "331 We are happy you popped in![CR][LF]" 02:01:39.406949 < "PASS ftp@example.com" 02:01:39.406974 > "230 Welcome you silly person[CR][LF]" 02:01:39.407134 < "PWD" 02:01:39.407162 > "257 "/" is current directory[CR][LF]" 02:01:39.407318 < "EPSV" 02:01:39.407346 ====> Passive DATA channel requested by client 02:01:39.407359 DATA sockfilt for passive data channel starting... 02:01:39.413212 DATA sockfilt for passive data channel started (pid 92056) 02:01:39.413345 DATA sockfilt for passive data channel listens on port 34883 02:01:39.413395 > "229 Entering Passive Mode (|||34883|)[LF]" 02:01:39.413415 Client has been notified that DATA conn will be accepted on port 34883 02:01:39.413972 Client connects to port 34883 02:01:39.414001 ====> Client established passive DATA connection on port 34883 02:01:39.414079 < "TYPE I" 02:01:39.414113 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:39.414274 < "SIZE verifiedserver" 02:01:39.414310 > "213 17[CR][LF]" 02:01:39.414460 < "RETR verifiedserver" 02:01:39.414487 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:39.414565 =====> Closing passive DATA connection... 02:01:39.414578 Server disconnects passive DATA connection 02:01:39.414810 Server disconnected passive DATA connection 02:01:39.414834 DATA sockfilt for passive data channel quits (pid 92056) 02:01:39.415020 DATA sockfilt for passive data channel quit (pid 92056) 02:01:39.415068 =====> Closed passive DATA connection 02:01:39.415093 > "226 File transfer complete[CR][LF]" 02:01:39.465689 < "QUIT" 02:01:39.465745 > "221 bye bye baby[CR][LF]" 02:01:39.466489 MAIN sockfilt said DISC 02:01:39.466529 ====> Client disconnected 02:01:39.466590 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:39.606364 ====> Client connect 02:01:39.606635 Received DATA (on stdin) 02:01:39.606649 > 160 bytes data, server => client 02:01:39.606663 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:39.606675 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:39.606686 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:39.606763 < 16 bytes data, client => server 02:01:39.606776 'USER anonymous\r\n' 02:01:39.606934 Received DATA (on stdin) 02:01:39.606946 > 33 bytes data, server => client 02:01:39.606958 '331 We are happy you popped in!\r\n' 02:01:39.607009 < 22 bytes data, client => server 02:01:39.607020 'PASS ftp@example.com\r\n' 02:01:39.607124 Received DATA (on stdin) 02:01:39.607136 > 30 bytes data, server => client 02:01:39.607147 '230 Welcome you silly person\r\n' 02:01:39.607195 < 5 bytes data, client => server 02:01:39.607206 'PWD\r\n' 02:01:39.607300 Received DATA (on stdin) 02:01:39.607311 > 30 bytes data, server => client 02:01:39.607323 '257 "/" is current directory\r\n' 02:01:39.607379 < 6 bytes data, client => server 02:01:39.607391 'EPSV\r\n' 02:01:39.613567 Received DATA (on stdin) 02:01:39.613586 > 38 bytes data, server => client 02:01:39.613599 '229 Entering Passive Mode (|||34883|)\n' 02:01:39.613777 < 8 bytes data, client => server 02:01:39.613794 'TYPE I\r\n' 02:01:39.614252 Received DATA (on stdin) 02:01:39.614265 > 33 bytes data, server => client 02:01:39.614277 '200 I modify TYPE as you wanted\r\n' 02:01:39.614331 < 21 bytes data, client => server 02:01:39.614343 'SIZE verifiedserver\r\n' 02:01:39.614450 Received DATA (on stdin) 02:01:39.614461 > 8 bytes data, server => client 02:01:39.614471 '213 17\r\n' 02:01:39.614522 < 21 bytes data, client => server 02:01:39.614534 'RETR verifiedserver\r\n' 02:01:39.614717 Received DATA (on stdin) 02:01:39.614729 > 29 bytes data, server => client 02:01:39.614739 '150 Binary junk (17 bytes).\r\n' 02:01:39.615231 Received DATA (on stdin) 02:01:39.615248 > 28 bytes data, server => client 02:01:39.615258 '226 File transfer complete\r\n' 02:01:39.655607 < 6 bytes data, client => server 02:01:39.655641 'QUIT\r\n' 02:01:39.665901 Received DATA (on stdin) 02:01:39.665922 > 18 bytes data, server => client 02:01:39.665935 '221 bye bye baby\r\n' 02:01:39.666568 ====> Client disconnect 02:01:39.666739 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:39.612495 Running IPv4 version 02:01:39.612562 Listening on port 34883 02:01:39.612594 Wrote pid 92056 to log/2/server/ftp_sockdata.pid 02:01:39.613281 Received PING (on stdin) 02:01:39.613382 Received PORT (on stdin) 02:01:39.614064 ====> Client connect 02:01:39.614787 Received DATA (on stdin) 02:01:39.614802 > 17 bytes data, server => client 02:01:39.614813 'WE ROOLZ: 80457\r\n' 02:01:39.614841 Received DISC (on stdin) 02:01:39.614853 ====> Client forcibly disconnected 02:01:39.614971 Received QUIT (on stdin) 02:01:39.614982 quits 02:01:39.615035 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 530 We don't like USER commands COUNT USER 1 Testnum 280 === End of file server.cmd === Start of file valgrind280 ==92142== ==92142== Process terminating with default action of signal 4 (SIGILL) ==92142== Illegal opcode at address 0x10B08D ==92142== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92142== by 0x10B08D: main (tool_main.c:232) === End of file valgrind280 test 0281...[HTTP PUT from file with 100 + 401 responses and -f without auth given] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind281 ../src/curl -q --output log/11/curl281.out --include --trace-ascii log/11/trace281 --trace-config all --trace-time http://127.0.0.1:44137/we/want/281 -f -T log/11/test281.txt > log/11/stdout281 2> log/11/stderr281 281: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 281 === Start of file http_server.log 02:01:39.726708 ====> Client connect 02:01:39.726740 accept_connection 3 returned 4 02:01:39.726756 accept_connection 3 returned 0 02:01:39.726771 Read 93 bytes 02:01:39.726781 Process 93 bytes request 02:01:39.726795 Got request: GET /verifiedserver HTTP/1.1 02:01:39.726806 Are-we-friendly question received 02:01:39.726830 Wrote request (93 bytes) input to log/11/server.input 02:01:39.726847 Identifying ourselves as friends 02:01:39.726911 Response sent (56 bytes) and written to log/11/server.response 02:01:39.726922 special request received, no persistency 02:01:39.726932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137..CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind275 ../src/curl -q --output log/1/curl275.out --include --trace-ascii log/1/trace275 --trace-config all --trace-time http://remotesite.com.275:34215/we/want/that/page/275 -p -x 127.0.0.1:34021 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:34215/we/want/that/page/275 > log/1/stdout275 2> log/1/stderr275 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind288 ../src/curl -q --output log/10/curl288.out --trace-ascii log/10/trace288 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test288.txt > log/10/stdout288 2> log/10/stderr288 . * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 281 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 ==92230== ==92230== Process terminating with default action of signal 4 (SIGILL) ==92230== Illegal opcode at address 0x10B08D ==92230== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92230== by 0x10B08D: main (tool_main.c:232) === End of file valgrind281 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/1/server/http2_server.pid" --logfile "log/1/http2_server.log" --logdir "log/1" --portfile log/1/server/http2_server.port --config log/1/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/1/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:34021/verifiedserver" 2>log/1/http2_verify.log RUN: HTTP2 server is on PID 91834 port 34021 * pid http-proxy => 91834 91834 test 0275...[HTTP CONNECT with proxytunnel getting two URLs from the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind275 ../src/curl -q --output log/1/curl275.out --include --trace-ascii log/1/trace275 --trace-config all --trace-time http://remotesite.com.275:34215/we/want/that/page/275 -p -x 127.0.0.1:34021 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:34215/we/want/that/page/275 > log/1/stdout275 2> log/1/stderr275 275: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 275 === Start of file http2_server.log 02:01:39.252803 Run as proxy, CONNECT to host 127.0.0.1 02:01:39.252907 Running HTTP IPv4 version on port 34021 02:01:39.252952 Wrote pid 91834 to log/1/server/http2_server.pid 02:01:39.252989 Wrote port 34021 to log/1/server/http2_server.port 02:01:40.258558 ====> Client connect 02:01:40.258580 accept_connection 3 returned 4 02:01:40.258594 accept_connection 3 returned 0 02:01:40.258608 Read 93 bytes 02:01:40.258622 Process 93 bytes request 02:01:40.258640 Got request: GET /verifiedserver HTTP/1.1 02:01:40.258648 Are-we-friendly question received 02:01:40.258675 Wrote request (93 bytes) input to log/1/proxy.input 02:01:40.258695 Identifying ourselves as friends 02:01:40.258813 Response sent (56 bytes) and written to log/1/proxy.response 02:01:40.258825 special request received, no persistency 02:01:40.258834 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:34021... * Connected to 127.0.0.1 (127.0.0.1) port 34021 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34021 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 91834 === End of file http2_verify.out === Start of file http_server.log 02:01:39.215209 ====> Client connect 02:01:39.215244 accept_connection 3 returned 4 02:01:39.215262 accept_connection 3 returned 0 02:01:39.215276 Read 93 bytes 02:01:39.215287 Process 93 bytes request 02:01:39.215301 Got request: GET /verifiedserver HTTP/1.1 02:01:39.215312 Are-we-friendly question received 02:01:39.215337 Wrote request (93 bytes) input to log/1/server.input 02:01:39.215355 Identifying ourselves as friends 02:01:39.215431 Response sent (56 bytes) and written to log/1/server.response 02:01:39.215443 special request received, no persistency 02:01:39.215452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 91834 === End of file proxy.response === Start of file server.cmd Testnum 275 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind275 ==92437== ==92437== Process terminating with default action of signal 4 (SIGILL) ==92437== Illegal opcode at address 0x10B08D ==92437== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92437== by 0x10B08D: main (tool_main.c:232) === End of file valgrind275 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind287 ../src/curl -q --include --trace-ascii log/9/trace287 --trace-config all --trace-time http://test.remote.example.com.287:38509/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:38509 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/9/stdout287 2> log/9/stderr287 * starts no server setenv all_proxy = http://fake:user@127.0.0.1:47/ test 0288...[file:// with (unsupported) proxy, authentication and range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind288 ../src/curl -q --output log/10/curl288.out --trace-ascii log/10/trace288 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test288.txt > log/10/stdout288 2> log/10/stderr288 288: data FAILED: --- log/10/check-expected 2024-12-15 02:01:41.488480038 +0000 +++ log/10/check-generated 2024-12-15 02:01:41.488480038 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/10/ dir after test 288 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file server.cmd Testnum 288 === End of file server.cmd === Start of file test288.txt foo bar bar foo moo === End of file test288.txt === Start of file valgrind288 ==92507== ==92507== Process terminating with default action of signal 4 (SIGILL) ==92507== Illegal opcode at address 0x10B08D ==92507== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92507== by 0x10B08D: main (tool_main.c:232) === End of file valgrind288 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind293 ../src/curl -q --output log/11/curl293.out --include --trace-ascii log/11/trace293 --trace-config all --trace-time http://127.0.0.1:44137/293 --max-filesize 2 > log/11/stdout293 2> log/11/stderr293 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind290 ../src/curl -q --output log/4/curl290.out --include --trace-ascii log/4/trace290 --trace-config all --trace-time ftp://127.0.0.1:34583/290 --max-filesize 30 > log/4/stdout290 2> log/4/stderr290 test 0287...[HTTP proxy CONNECT with custom User-Agent header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind287 ../src/curl -q --include --trace-ascii log/9/trace287 --trace-config all --trace-time http://test.remote.example.com.287:38509/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:38509 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/9/stdout287 2> log/9/stderr287 287: stdout FAILED: --- log/9/check-expected 2024-12-15 02:01:41.601815413 +0000 +++ log/9/check-generated 2024-12-15 02:01:41.601815413 +0000 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/9/ dir after test 287 === Start of file check-expected HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] [CR][LF] === End of file check-expected === Start of file http_server.log 02:01:40.770791 ====> Client connect 02:01:40.770823 accept_connection 3 returned 4 02:01:40.770839 accept_connection 3 returned 0 02:01:40.770953 Read 93 bytes 02:01:40.770965 Process 93 bytes request 02:01:40.770980 Got request: GET /verifiedserver HTTP/1.1 02:01:40.770988 Are-we-friendly question received 02:01:40.771010 Wrote request (93 bytes) input to log/9/server.input 02:01:40.771026 Identifying ourselves as friends 02:01:40.771081 Response sent (56 bytes) and written to log/9/server.response 02:01:40.771091 special request received, no persistency 02:01:40.771100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 287 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind287 ==92514== ==92514== Process terminating with default action of signal 4 (SIGILL) ==92514== Illegal opcode at address 0x10B08D ==92514== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92514== by 0x10B08D: main (tool_main.c:232) === End of file valgrind287 test 0293...[HTTP GET with maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind293 ../src/curl -q --output log/11/curl293.out --include --trace-ascii log/11/trace293 --trace-config all --trace-time http://127.0.0.1:44137/293 --max-filesize 2 > log/11/stdout293 2> log/11/stderr293 293: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 293 === Start of file http_server.log 02:01:41.066230 ====> Client connect 02:01:41.066269 accept_connection 3 returned 4 02:01:41.066288 accept_connection 3 returned 0 02:01:41.066304 Read 93 bytes 02:01:41.066316 Process 93 bytes request 02:01:41.066330 Got request: GET /verifiedserver HTTP/1.1 02:01:41.066341 Are-we-friendly question received 02:01:41.066366 Wrote request (93 bytes) input to log/11/server.input 02:01:41.066384 Identifying ourselves as friends 02:01:41.066476 Response sent (56 bytes) and written to log/11/server.response 02:01:41.066487 special request received, no persistency 02:01:41.066497 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 293 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind293 ==92859== ==92859== Process terminating with default action of signal 4 (SIGILL) ==92859== Illegal opcode at address 0x10B08D ==92859== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92859== by 0x10B08D: main (tool_main.c:232) === End of file valgrind293 test 0290...[FTP download maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind290 ../src/curl -q --output log/4/curl290.out --include --trace-ascii log/4/trace290 --trace-config all --trace-time ftp://127.0.0.1:34583/290 --max-filesize 30 > log/4/stdout290 2> log/4/stderr290 290: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 290 === Start of file ftp_server.log 02:01:40.647046 ====> Client connect 02:01:40.647196 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:40.648186 < "USER anonymous" 02:01:40.648234 > "331 We are happy you popped in![CR][LF]" 02:01:40.648769 < "PASS ftp@example.com" 02:01:40.648811 > "230 Welcome you silly person[CR][LF]" 02:01:40.649162 < "PWD" 02:01:40.649204 > "257 "/" is current directory[CR][LF]" 02:01:40.649917 < "EPSV" 02:01:40.649960 ====> Passive DATA channel requested by client 02:01:40.649979 DATA sockfilt for passive data channel starting... 02:01:40.654478 DATA sockfilt for passive data channel started (pid 92581) 02:01:40.654601 DATA sockfilt for passive data channel listens on port 39345 02:01:40.654657 > "229 Entering Passive Mode (|||39345|)[LF]" 02:01:40.654682 Client has been notified that DATA conn will be accepted on port 39345 02:01:40.654964 Client connects to port 39345 02:01:40.654995 ====> Client established passive DATA connection on port 39345 02:01:40.655085 < "TYPE I" 02:01:40.655125 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:40.655328 < "SIZE verifiedserver" 02:01:40.655373 > "213 17[CR][LF]" 02:01:40.655574 < "RETR verifiedserver" 02:01:40.655616 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:40.655704 =====> Closing passive DATA connection... 02:01:40.655723 Server disconnects passive DATA connection 02:01:40.655993 Server disconnected passive DATA connection 02:01:40.656027 DATA sockfilt for passive data channel quits (pid 92581) 02:01:40.656236 DATA sockfilt for passive data channel quit (pid 92581) 02:01:40.656474 =====> Closed passive DATA connection 02:01:40.656517 > "226 File transfer complete[CR][LF]" 02:01:40.702177 < "QUIT" 02:01:40.702220 > "221 bye bye baby[CR][LF]" 02:01:40.703069 MAIN sockfilt said DISC 02:01:40.703106 ====> Client disconnected 02:01:40.703174 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:40.846867 ====> Client connect 02:01:40.847350 Received DATA (on stdin) 02:01:40.847369 > 160 bytes data, server => client 02:01:40.847383 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:40.847395 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:40.847406 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:40.847829 < 16 bytes data, client => server 02:01:40.847851 'USER anonymous\r\n' 02:01:40.848383 Received DATA (on stdin) 02:01:40.848398 > 33 bytes data, server => client 02:01CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind291 ../src/curl -q --output log/12/curl291.out --include --trace-ascii log/12/trace291 --trace-config all --trace-time ftp://127.0.0.1:40171/291 --max-filesize 100 > log/12/stdout291 2> log/12/stderr291 :40.848411 '331 We are happy you popped in!\r\n' 02:01:40.848478 < 22 bytes data, client => server 02:01:40.848510 'PASS ftp@example.com\r\n' 02:01:40.848959 Received DATA (on stdin) 02:01:40.848974 > 30 bytes data, server => client 02:01:40.848986 '230 Welcome you silly person\r\n' 02:01:40.849051 < 5 bytes data, client => server 02:01:40.849067 'PWD\r\n' 02:01:40.849348 Received DATA (on stdin) 02:01:40.849362 > 30 bytes data, server => client 02:01:40.849374 '257 "/" is current directory\r\n' 02:01:40.849444 < 6 bytes data, client => server 02:01:40.849460 'EPSV\r\n' 02:01:40.854837 Received DATA (on stdin) 02:01:40.854856 > 38 bytes data, server => client 02:01:40.854868 '229 Entering Passive Mode (|||39345|)\n' 02:01:40.855016 < 8 bytes data, client => server 02:01:40.855036 'TYPE I\r\n' 02:01:40.855271 Received DATA (on stdin) 02:01:40.855287 > 33 bytes data, server => client 02:01:40.855298 '200 I modify TYPE as you wanted\r\n' 02:01:40.855363 < 21 bytes data, client => server 02:01:40.855380 'SIZE verifiedserver\r\n' 02:01:40.855519 Received DATA (on stdin) 02:01:40.855534 > 8 bytes data, server => client 02:01:40.855546 '213 17\r\n' 02:01:40.855607 < 21 bytes data, client => server 02:01:40.855628 'RETR verifiedserver\r\n' 02:01:40.855982 Received DATA (on stdin) 02:01:40.855997 > 29 bytes data, server => client 02:01:40.856009 '150 Binary junk (17 bytes).\r\n' 02:01:40.856665 Received DATA (on stdin) 02:01:40.856681 > 28 bytes data, server => client 02:01:40.856693 '226 File transfer complete\r\n' 02:01:40.902161 < 6 bytes data, client => server 02:01:40.902185 'QUIT\r\n' 02:01:40.902361 Received DATA (on stdin) 02:01:40.902373 > 18 bytes data, server => client 02:01:40.902384 '221 bye bye baby\r\n' 02:01:40.903150 ====> Client disconnect 02:01:40.903311 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:40.854290 Running IPv4 version 02:01:40.854350 Listening on port 39345 02:01:40.854393 Wrote pid 92581 to log/4/server/ftp_sockdata.pid 02:01:40.854550 Received PING (on stdin) 02:01:40.854650 Received PORT (on stdin) 02:01:40.855058 ====> Client connect 02:01:40.855866 Received DATA (on stdin) 02:01:40.855881 > 17 bytes data, server => client 02:01:40.855894 'WE ROOLZ: 80536\r\n' 02:01:40.855933 Received DISC (on stdin) 02:01:40.855951 ====> Client forcibly disconnected 02:01:40.856182 Received QUIT (on stdin) 02:01:40.856197 quits 02:01:40.856250 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 ==92666== ==92666== Process terminating with default action of signal 4 (SIGILL) ==92666== Illegal opcode at address 0x10B08D ==92666== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92666== by 0x10B08D: main (tool_main.c:232) === End of file valgrind290 test 0291...[FTP download maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind291 ../src/curl -q --output log/12/curl291.out --include --trace-ascii log/12/trace291 --trace-config all --trace-time ftp://127.0.0.1:40171/291 --max-filesize 100 > log/12/stdout291 2> log/12/stderr291 291: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 291 === Start of file ftp_server.log 02:01:40.698411 ====> Client connect 02:01:40.698570 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:40.701832 < "USER anonymous" 02:01:40.701881 > "331 We are happy you popped in![CR][LF]" 02:01:40.702532 < "PASS ftp@example.com" 02:01:40.702566 > "230 Welcome you silly person[CR][LF]" 02:01:40.702726 < "PWD" 02:01:40.702755 > "257 "/" is current directory[CR][LF]" 02:01:40.702905 < "EPSV" 02:01:40.702926 ====> Passive DATA channel requested by client 02:01:40.702938 DATA sockfilt for passive data channel starting... 02:01:40.709344 DATA sockfilt for passive data channel started (pid 92652) 02:01:40.709453 DATA sockfilt for passive data channel listens on port 36181 02:01:40.709490 > "229 Entering Passive Mode (|||36181|)[LF]" 02:01:40.709504 Client has been notified that DATA conn will be accepted on port 36181 02:01:40.709762 Client connects to port 36181 02:01:40.709792 ====> Client established passive DATA connection on port 36181 02:01:40.709869 < "TYPE I" 02:01:40.709902 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:40.710081 < "SIZE verifiedserver" 02:01:40.710119 > "213 17[CR][LF]" 02:01:40.710272 < "RETR verifiedserver" 02:01:40.710302 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:40.710380 =====> Closing passive DATA connection... 02:01:40.710395 Server disconnects passive DATA connection 02:01:40.710619 Server disconnected passive DATA connection 02:01:40.710651 DATA sockfilt for passive data channel quits (pid 92652) 02:01:40.710834 DATA sockfilt for passive data channel quit (pid 92652) 02:01:40.710854 =====> Closed passive DATA connection 02:01:40.710879 > "226 File transfer complete[CR][LF]" 02:01:40.756323 < "QUIT" 02:01:40.756377 > "221 bye bye baby[CR][LF]" 02:01:40.757976 MAIN sockfilt said DISC 02:01:40.758019 ====> Client disconnected 02:01:40.758085 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:40.897198 ====> Client connect 02:01:40.898996 Received DATA (on stdin) 02:01:40.899030 > 160 bytes data, server => client 02:01:40.899046 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:40.899059 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:40.899071 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:40.899181 < 16 bytes data, client => server 02:01:40.899201 'USER anonymous\r\n' 02:01:40.902462 Received DATA (on stdin) 02:01:40.902482 > 33 bytes data, server => client 02:01:40.902494 '331 We are happy you popped in!\r\n' 02:01:40.902561 < 22 bytes data, client => server 02:01:40.902573 'PASS ftp@example.com\r\n' 02:01:40.902705 Received DATA (on stdin) 02:01:40.902716 > 30 bytes data, server => client 02:01:40.902727 '230 Welcome you silly person\r\n' 02:01:40.902783 < 5 bytes data, client => server 02:01:40.902793 'PWD\r\n' 02:01:40.902892 Received DATA (on stdin) 02:01:40.902902 > 30 bytes data, server => client 02:01:40.902913 '257 "/" is current directory\r\n' 02:01:40.902968 < 6 bytes data, client => server 02:01:40.902979 'EPSV\r\n' 02:01:40.909650 Received DATA (on stdin) 02:01:40.909666 > 38 bytes data, server => client 02:01:40.909677 '229 Entering Passive Mode (|||36181|)\n' 02:01:40.909822 < 8 bytes data, client => server 02:01:40.909837 'TYPE I\r\n' 02:01:40.910043 Received DATA (on stdin) 02:01:40.910057 > 33 bytes data, server => client 02:01:40.910069 '200 I modify TYPE as you wanted\r\n' 02:01:40.910129 < 21 bytes data, client => server 02:01:40.910143 'SIZE verifiedserver\r\n' 02:01:40.910259 Received DATA (on stdin) 02:01:40.910271 > 8 bytes data, server => client 02:01:40.910281 '213 17\r\n' 02:01:40.910332 < 21 bytes data, client => server 02:01:40.910343 'RETR verifiedserver\r\n' 02:01:40.910535 Received DATA (on stdin) 02:01:40.910547 > 29 bytes data, server => client 02:01:40.910557 '150 Binary junk (17 bytes).\r\n' 02:01:40.911018 Received DATA (on stdin) 02:01:40.911031 > 28 bytes data, server => client 02:01:40.911042 '226 File transfer complete\r\n' 02:01:40.955294 < 6 bytes data, client => server 02:01:40.955330 'QUIT\r\n' 02:01:40.956525 Received DATA (on stdin) 02:01:40.956542 > 18 bytes data, server => client 02:01:40.956553 '221 bye bye baby\r\n' 02:01:40.957497 ====> Client disconnect 02:01:40.958226 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:40.909062 Running IPv4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind292 ../src/curl -q --output log/2/curl292.out --include --trace-ascii log/2/trace292 --trace-config all --trace-time http://127.0.0.1:38781/292 --max-filesize 1000 > log/2/stdout292 2> log/2/stderr292 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind289 ../src/curl -q --output log/5/curl289.out --include --trace-ascii log/5/trace289 --trace-config all --trace-time ftp://127.0.0.1:36485/289 -T log/5/illegal-nonexistent-file -C - > log/5/stdout289 2> log/5/stderr289 version 02:01:40.909118 Listening on port 36181 02:01:40.909159 Wrote pid 92652 to log/12/server/ftp_sockdata.pid 02:01:40.909417 Received PING (on stdin) 02:01:40.909509 Received PORT (on stdin) 02:01:40.909855 ====> Client connect 02:01:40.910586 Received DATA (on stdin) 02:01:40.910600 > 17 bytes data, server => client 02:01:40.910610 'WE ROOLZ: 80450\r\n' 02:01:40.910636 Received DISC (on stdin) 02:01:40.910649 ====> Client forcibly disconnected 02:01:40.910799 Received QUIT (on stdin) 02:01:40.910811 quits 02:01:40.910853 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 ==92710== ==92710== Process terminating with default action of signal 4 (SIGILL) ==92710== Illegal opcode at address 0x10B08D ==92710== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92710== by 0x10B08D: main (tool_main.c:232) === End of file valgrind291 test 0292...[HTTP GET with maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind292 ../src/curl -q --output log/2/curl292.out --include --trace-ascii log/2/trace292 --trace-config all --trace-time http://127.0.0.1:38781/292 --max-filesize 1000 > log/2/stdout292 2> log/2/stderr292 292: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 292 === Start of file http_server.log 02:01:40.891266 ====> Client connect 02:01:40.891306 accept_connection 3 returned 4 02:01:40.891326 accept_connection 3 returned 0 02:01:40.891344 Read 93 bytes 02:01:40.891357 Process 93 bytes request 02:01:40.891373 Got request: GET /verifiedserver HTTP/1.1 02:01:40.891383 Are-we-friendly question received 02:01:40.891413 Wrote request (93 bytes) input to log/2/server.input 02:01:40.891435 Identifying ourselves as friends 02:01:40.891523 Response sent (56 bytes) and written to log/2/server.response 02:01:40.891539 special request received, no persistency 02:01:40.891550 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 292 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind292 ==92655== ==92655== Process terminating with default action of signal 4 (SIGILL) ==92655== Illegal opcode at address 0x10B08D ==92655== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92655== by 0x10B08D: main (tool_main.c:232) === End of file valgrind292 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel test 0302 SKIPPED: no stunnel test 0289...[FTP resume upload but denied access to local file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind289 ../src/curl -q --output log/5/curl289.out --include --trace-ascii log/5/trace289 --trace-config all --trace-time ftp://127.0.0.1:36485/289 -T log/5/illegal-nonexistent-file -C - > log/5/stdout289 2> log/5/stderr289 curl returned 132, when expecting 26 289: exit FAILED == Contents of files in the log/5/ dir after test 289 === Start of file ftp_server.log 02:01:40.653839 ====> Client connect 02:01:40.653967 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:40.654226 < "USER anonymous" 02:01:40.654260 > "331 We are happy you popped in![CR][LF]" 02:01:40.654414 < "PASS ftp@example.com" 02:01:40.654437 > "230 Welcome you silly person[CR][LF]" 02:01:40.654583 < "PWD" 02:01:40.654613 > "257 "/" is current directory[CR][LF]" 02:01:40.654767 < "EPSV" 02:01:40.654791 ====> Passive DATA channel requested by client 02:01:40.654804 DATA sockfilt for passive data channel starting... 02:01:40.662332 DATA sockfilt for passive data channel started (pid 92591) 02:01:40.662451 DATA sockfilt for passive data channel listens on port 40203 02:01:40.662491 > "229 Entering Passive Mode (|||40203|)[LF]" 02:01:40.662508 Client has been notified that DATA conn will be accepted on port 40203 02:01:40.662792 Client connects to port 40203 02:01:40.662820 ====> Client established passive DATA connection on port 40203 02:01:40.662890 < "TYPE I" 02:01:40.662919 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:40.663072 < "SIZE verifiedserver" 02:01:40.663104 > "213 17[CR][LF]" 02:01:40.663245 < "RETR verifiedserver" 02:01:40.663278 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:40.663358 =====> Closing passive DATA connection... 02:01:40.663372 Server disconnects passive DATA connection 02:01:40.663596 Server disconnected passive DATA connection 02:01:40.663622 DATA sockfilt for passive data channel quits (pid 92591) 02:01:40.663835 DATA sockfilt for passive data channel quit (pid 92591) 02:01:40.663858 =====> Closed passive DATA connection 02:01:40.663891 > "226 File transfer complete[CR][LF]" 02:01:40.709057 < "QUIT" 02:01:40.709133 > "221 bye bye baby[CR][LF]" 02:01:40.709993 MAIN sockfilt said DISC 02:01:40.710025 ====> Client disconnected 02:01:40.710087 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:39.853884 ====> Client connect 02:01:39.854117 Received DATA (on stdin) 02:01:39.854131 > 160 bytes data, server => client 02:01:39.854144 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:39.854156 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:39.854167 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:39.854238 < 16 bytes data, client => server 02:01:39.854251 'USER anonymous\r\n' 02:01:39.854399 Received DATA (on stdin) 02:01:39.854411 > 33 bytes data, server => client 02:01:39.854422 '331 We are happy you popped in!\r\n' 02:01:39.854472 < 22 bytes data, client => server 02:01:39.854483 'PASS ftp@example.com\r\n' 02:01:39.854576 Received DATA (on stdin) 02:01:39.854587 > 30 bytes data, server => client 02:01:39.854597 '230 Welcome you silly person\r\n' 02:01:39.854648 < 5 bytes data, client => server 02:01:39.854659 'PWD\r\n' 02:01:39.854751 Received DATA (on stdin) 02:01:39.854762 > 30 bytes data, server => client 02:01:39.854773 '257 "/" is current directory\r\n' 02:01:39.854829 < 6 bytes data, client => server 02:01:39.854840 'EPSV\r\n' 02:01:39.862655 Received DATA (on stdin) 02:01:39.862672 > 38 bytes data, server => client 02:01:39.862685 '229 Entering Passive Mode (|||40203|)\n' 02:01:39.862852 < 8 bytes data, client => server 02:01:39.862868 'TYPE I\r\n' 02:01:39.863058 Received DATA (on stdin) 02:01:39.863070 > 33 bytes data, server => client 02:01:39.863082 '200 I modify TYPE as you wanted\r\n' 02:01:39.863134 < 21 bytes data, client => server 02:01:39.863145 'SIZE verifiedserver\r\n' 02:01:39.863242 Received DATA (on stdin) 02:01:39.863253 > 8 bytes data, server => client 02:01:39.863263 '213 17\r\n' 02:01:39.863309 < 21 bytes data, client => server 02:01:39.863321 'RETR verifiedserver\r\n' 02:01:39.863603 Received DATA (on stdin) 02:01:39.863615 > 29 bytes data, server => client 02:01:39.863626 '150 Binary junk (17 bytes).\r\n' 02:01:39.864031 Received DATA (on stdin) 02:01:39.864044 > 28 bytes data, server => client 02:01:39.864055 '226 File transfer complete\r\n' 02:01:39.9090CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind283 ../src/curl -q --output log/3/curl283.out --include --trace-ascii log/3/trace283 --trace-config all --trace-time tftp://127.0.0.1:43051//invalid-file --tftp-blksize 1024 > log/3/stdout283 2> log/3/stderr283 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind284 ../src/curl -q --output log/6/curl284.out --include --trace-ascii log/6/trace284 --trace-config all --trace-time tftp://127.0.0.1:52569//284 > log/6/stdout284 2> log/6/stderr284 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind294 ../src/curl -q --output log/1/curl294.out --include --trace-ascii log/1/trace294 --trace-config all --trace-time ftp://127.0.0.1:44405/294/ --ftp-account "data for acct" > log/1/stdout294 2> log/1/stderr294 36 < 6 bytes data, client => server 02:01:39.909061 'QUIT\r\n' 02:01:39.909276 Received DATA (on stdin) 02:01:39.909289 > 18 bytes data, server => client 02:01:39.909299 '221 bye bye baby\r\n' 02:01:39.909450 ====> Client disconnect 02:01:39.910226 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:40.859891 Running IPv4 version 02:01:40.859946 Listening on port 40203 02:01:40.859985 Wrote pid 92591 to log/5/server/ftp_sockdata.pid 02:01:40.862405 Received PING (on stdin) 02:01:40.862500 Received PORT (on stdin) 02:01:40.862887 ====> Client connect 02:01:40.863512 Received DATA (on stdin) 02:01:40.863525 > 17 bytes data, server => client 02:01:40.863536 'WE ROOLZ: 80534\r\n' 02:01:40.863564 Received DISC (on stdin) 02:01:40.863577 ====> Client forcibly disconnected 02:01:40.863767 Received QUIT (on stdin) 02:01:40.863779 quits 02:01:40.863844 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 ==92670== ==92670== Process terminating with default action of signal 4 (SIGILL) ==92670== Illegal opcode at address 0x10B08D ==92670== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92670== by 0x10B08D: main (tool_main.c:232) === End of file valgrind289 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/3/server/tftp_server.pid" --portfile "log/3/server/tftp_server.port" --logfile "log/3/tftp_server.log" --logdir "log/3" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --silent --verbose --globoff "tftp://127.0.0.1:43051/verifiedserver" 2>log/3/tftp_verify.log RUN: Verifying our test tftp server took 0 seconds RUN: TFTP server on PID 92416 port 43051 * pid tftp => 92416 92416 test 0283...[TFTP retrieve on invalid file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind283 ../src/curl -q --output log/3/curl283.out --include --trace-ascii log/3/trace283 --trace-config all --trace-time tftp://127.0.0.1:43051//invalid-file --tftp-blksize 1024 > log/3/stdout283 2> log/3/stderr283 283: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 283 === Start of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 02:01:39.114483 Wrote pid 92416 to log/3/server/tftp_server.pid 02:01:39.114552 Wrote port 43051 to log/3/server/tftp_server.port 02:01:39.114570 Running IPv4 version on port UDP/43051 02:01:40.163164 trying to get file: verifiedserver mode 1 02:01:40.163186 Are-we-friendly question received 02:01:40.163198 write 02:01:40.163233 read 02:01:40.165221 read: 4 02:01:40.165276 end of one transfer === End of file tftp_server.log === Start of file valgrind283 ==92926== ==92926== Process terminating with default action of signal 4 (SIGILL) ==92926== Illegal opcode at address 0x10B08D ==92926== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92926== by 0x10B08D: main (tool_main.c:232) === End of file valgrind283 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/6/server/tftp_server.pid" --portfile "log/6/server/tftp_server.port" --logfile "log/6/tftp_server.log" --logdir "log/6" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --silent --verbose --globoff "tftp://127.0.0.1:52569/verifiedserver" 2>log/6/tftp_verify.log RUN: Verifying our test tftp server took 1 seconds RUN: TFTP server on PID 92418 port 52569 * pid tftp => 92418 92418 test 0284...[TFTP retrieve of boundary case 512 byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind284 ../src/curl -q --output log/6/curl284.out --include --trace-ascii log/6/trace284 --trace-config all --trace-time tftp://127.0.0.1:52569//284 > log/6/stdout284 2> log/6/stderr284 284: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 284 === Start of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 02:01:40.223838 Wrote pid 92418 to log/6/server/tftp_server.pid 02:01:40.223892 Wrote port 52569 to log/6/server/tftp_server.port 02:01:40.223906 Running IPv4 version on port UDP/52569 02:01:41.258343 trying to get file: verifiedserver mode 1 02:01:41.258361 Are-we-friendly question received 02:01:41.258373 write 02:01:41.258406 read 02:01:41.259448 read: 4 02:01:41.259510 end of one transfer === End of file tftp_server.log === Start of file valgrind284 ==92984== ==92984== Process terminating with default action of signal 4 (SIGILL) ==92984== Illegal opcode at address 0x10B08D ==92984== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==92984== by 0x10B08D: main (tool_main.c:232) === End of file valgrind284 test 0294...[FTP --ftp-account on ACCT request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind294 ../src/curl -q --output log/1/curl294.out --include --trace-ascii log/1/trace294 --trace-config all --trace-time ftp://127.0.0.1:44405/294/ --ftp-account "data for acct" > log/1/stdout294 2> log/1/stderr294 294: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 294 === Start of file ftp_server.log 02:01:41.175204 ====> Client connect 02:01:41.175380 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:41.182436 < "USER anonymous" 02:01:41.182484 > "331 We are happy you popped in![CR][LF]" 02:01:41.185301 < "PASS ftp@example.com" 02:01:41.185347 > "230 Welcome you silly person[CR][LF]" 02:01:41.185509 < "PWD" 02:01:41.185542 > "257 "/" is current directory[CR][LF]" 02:01:41.185703 < "EPSV" 02:01:41.185726 ====> Passive DATA channel requested by client 02:01:41.185738 DATA sockfilt for passive data channel starting... 02:01:41.188525 DATA sockfilt for passive data channel started (pid 93059) 02:01:41.188626 DATA sockfilt for passive data channel listens on port 33807 02:01:41.188662 > "229 Entering Passive Mode (|||33807|)[LF]" 02:01:41.188677 Client has been notified that DATA conn will be accepted on port 33807 02:01:41.188943 Client connects to port 33807 02:01:41.188972 ====> Client established passive DATA connection on port 33807 02:01:41.189035 < "TYPE I" 02:01:41.189059 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:41.189201 < "SIZE verifiedserver" 02:01:41.189233 > "213 17[CR][LF]" 02:01:41.189369 < "RETR verifiedserver" 02:01:41.189400 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:41.189480 =====> Closing passive DATA connection... 02:01:41.189494 Server disconnects passive DATA connection 02:01:41.189731 Server disconnected passive DATA connection 02:01:41.189756 DATA sockfilt for passive data channel quits (pid 93059) 02:01:41.189956 DATA sockfilt for passive data channel quit (pid 93059) 02:01:41.189974 =====> Closed passive DATA connection 02:01:41.189997 > "226 File transfer complete[CR][LF]" 02:01:41.234272 < "QUIT" 02:01:41.234323 > "221 bye bye baby[CR][LF]" 02:01:41.234821 MAIN sockfilt said DISC 02:01:41.234849 ====> Client disconnected 02:01:41.234918 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:41.375192 ====> Client connect 02:01:41.375541 Received DATA (on stdin) 02:01:41.375560 > 160 bytes daCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind296 ../src/curl -q --output log/9/curl296.out --include --trace-ascii log/9/trace296 --trace-config all --trace-time --ftp-method multicwd ftp://127.0.0.1:35301/first/second/third/296 > log/9/stdout296 2> log/9/stderr296 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind286 ../src/curl -q --output log/8/curl286.out --include --trace-ascii log/8/trace286 --trace-config all --trace-time -T log/8/test286.txt tftp://127.0.0.1:34275// > log/8/stdout286 2> log/8/stderr286 ta, server => client 02:01:41.375573 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:41.375584 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:41.375595 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:41.382350 < 16 bytes data, client => server 02:01:41.382385 'USER anonymous\r\n' 02:01:41.382629 Received DATA (on stdin) 02:01:41.382643 > 33 bytes data, server => client 02:01:41.382654 '331 We are happy you popped in!\r\n' 02:01:41.385285 < 22 bytes data, client => server 02:01:41.385309 'PASS ftp@example.com\r\n' 02:01:41.385491 Received DATA (on stdin) 02:01:41.385503 > 30 bytes data, server => client 02:01:41.385514 '230 Welcome you silly person\r\n' 02:01:41.385567 < 5 bytes data, client => server 02:01:41.385578 'PWD\r\n' 02:01:41.385681 Received DATA (on stdin) 02:01:41.385692 > 30 bytes data, server => client 02:01:41.385704 '257 "/" is current directory\r\n' 02:01:41.385763 < 6 bytes data, client => server 02:01:41.385775 'EPSV\r\n' 02:01:41.388822 Received DATA (on stdin) 02:01:41.388838 > 38 bytes data, server => client 02:01:41.388849 '229 Entering Passive Mode (|||33807|)\n' 02:01:41.389006 < 8 bytes data, client => server 02:01:41.389021 'TYPE I\r\n' 02:01:41.389196 Received DATA (on stdin) 02:01:41.389207 > 33 bytes data, server => client 02:01:41.389218 '200 I modify TYPE as you wanted\r\n' 02:01:41.389267 < 21 bytes data, client => server 02:01:41.389278 'SIZE verifiedserver\r\n' 02:01:41.389371 Received DATA (on stdin) 02:01:41.389382 > 8 bytes data, server => client 02:01:41.389391 '213 17\r\n' 02:01:41.389437 < 21 bytes data, client => server 02:01:41.389448 'RETR verifiedserver\r\n' 02:01:41.389722 Received DATA (on stdin) 02:01:41.389734 > 29 bytes data, server => client 02:01:41.389763 '150 Binary junk (17 bytes).\r\n' 02:01:41.390134 Received DATA (on stdin) 02:01:41.390147 > 28 bytes data, server => client 02:01:41.390158 '226 File transfer complete\r\n' 02:01:41.434211 < 6 bytes data, client => server 02:01:41.434250 'QUIT\r\n' 02:01:41.434466 Received DATA (on stdin) 02:01:41.434477 > 18 bytes data, server => client 02:01:41.434487 '221 bye bye baby\r\n' 02:01:41.434915 ====> Client disconnect 02:01:41.435058 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:41.388324 Running IPv4 version 02:01:41.388401 Listening on port 33807 02:01:41.388437 Wrote pid 93059 to log/1/server/ftp_sockdata.pid 02:01:41.388602 Received PING (on stdin) 02:01:41.388686 Received PORT (on stdin) 02:01:41.389039 ====> Client connect 02:01:41.389632 Received DATA (on stdin) 02:01:41.389644 > 17 bytes data, server => client 02:01:41.389655 'WE ROOLZ: 88524\r\n' 02:01:41.389687 Received DISC (on stdin) 02:01:41.389699 ====> Client forcibly disconnected 02:01:41.389901 Received QUIT (on stdin) 02:01:41.389912 quits 02:01:41.389962 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 Give me an ACCT now REPLY ACCT 230 Thank-you for the ACCT Testnum 294 === End of file server.cmd === Start of file valgrind294 ==93077== ==93077== Process terminating with default action of signal 4 (SIGILL) ==93077== Illegal opcode at address 0x10B08D ==93077== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93077== by 0x10B08D: main (tool_main.c:232) === End of file valgrind294 test 0296...[FTP CWD with --ftp-method multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind296 ../src/curl -q --output log/9/curl296.out --include --trace-ascii log/9/trace296 --trace-config all --trace-time --ftp-method multicwd ftp://127.0.0.1:35301/first/second/third/296 > log/9/stdout296 2> log/9/stderr296 296: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 296 === Start of file ftp_server.log 02:01:41.758401 ====> Client connect 02:01:41.758564 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:41.805965 < "USER anonymous" 02:01:41.806032 > "331 We are happy you popped in![CR][LF]" 02:01:41.807262 < "PASS ftp@example.com" 02:01:41.807306 > "230 Welcome you silly person[CR][LF]" 02:01:41.807516 < "PWD" 02:01:41.807562 > "257 "/" is current directory[CR][LF]" 02:01:41.807769 < "EPSV" 02:01:41.807797 ====> Passive DATA channel requested by client 02:01:41.807811 DATA sockfilt for passive data channel starting... 02:01:41.819801 DATA sockfilt for passive data channel started (pid 93330) 02:01:41.819937 DATA sockfilt for passive data channel listens on port 39321 02:01:41.819983 > "229 Entering Passive Mode (|||39321|)[LF]" 02:01:41.820001 Client has been notified that DATA conn will be accepted on port 39321 02:01:41.825424 Client connects to port 39321 02:01:41.825466 ====> Client established passive DATA connection on port 39321 02:01:41.825561 < "TYPE I" 02:01:41.825600 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:41.825778 < "SIZE verifiedserver" 02:01:41.825819 > "213 17[CR][LF]" 02:01:41.825966 < "RETR verifiedserver" 02:01:41.825999 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:41.826078 =====> Closing passive DATA connection... 02:01:41.826092 Server disconnects passive DATA connection 02:01:41.826318 Server disconnected passive DATA connection 02:01:41.826344 DATA sockfilt for passive data channel quits (pid 93330) 02:01:41.826554 DATA sockfilt for passive data channel quit (pid 93330) 02:01:41.826573 =====> Closed passive DATA connection 02:01:41.826601 > "226 File transfer complete[CR][LF]" 02:01:41.873580 < "QUIT" 02:01:41.873641 > "221 bye bye baby[CR][LF]" 02:01:41.874570 MAIN sockfilt said DISC 02:01:41.874614 ====> Client disconnected 02:01:41.874700 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:41.948521 ====> Client connect 02:01:41.958726 Received DATA (on stdin) 02:01:41.958750 > 160 bytes data, server => client 02:01:41.958764 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:41.958776 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:41.958787 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:41.987740 < 16 bytes data, client => server 02:01:41.987770 'USER anonymous\r\n' 02:01:42.006188 Received DATA (on stdin) 02:01:42.006210 > 33 bytes data, server => client 02:01:42.006222 '331 We are happy you popped in!\r\n' 02:01:42.007258 < 22 bytes data, client => server 02:01:42.007282 'PASS ftp@example.com\r\n' 02:01:42.007450 Received DATA (on stdin) 02:01:42.007465 > 30 bytes data, server => client 02:01:42.007477 '230 Welcome you silly person\r\n' 02:01:42.007542 < 5 bytes data, client => server 02:01:42.007557 'PWD\r\n' 02:01:42.007704 Received DATA (on stdin) 02:01:42.007718 > 30 bytes data, server => client 02:01:42.007730 '257 "/" is current directory\r\n' 02:01:42.007802 < 6 bytes data, client => server 02:01:42.007816 'EPSV\r\n' 02:01:42.025203 Received DATA (on stdin) 02:01:42.025231 > 38 bytes data, server => client 02:01:42.025244 '229 Entering Passive Mode (|||39321|)\n' 02:01:42.025467 < 8 bytes data, client => server 02:01:42.025487 'TYPE I\r\n' 02:01:42.025741 Received DATA (on stdin) 02:01:42.025754 > 33 bytes data, server => client 02:01:42.025764 '200 I modify TYPE as you wanted\r\n' 02:01:42.025826 < 21 bytes data, client => server 02:01:42.025838 'SIZE verifiedserver\r\n' 02:01:42.025957 Received DATA (on stdin) 02:01:42.025968 > 8 bytes data, server => client 02:01:42.025978 '213 17\r\n' 02:01:42.026026 < 21 bytes data, client => server 02:01:42.026038 'RETR verifiedserver\r\n' 02:01:42.026231 Received DATA (on stdin) 02:01:42.026243 > 29 bytes data, server => client 02:01:42.026253 '150 Binary junk (17 bytes).\r\n' 02:01:42.026CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind285 ../src/curl -q --output log/7/curl285.out --include --trace-ascii log/7/trace285 --trace-config all --trace-time -T log/7/test285.txt tftp://127.0.0.1:36069// --connect-timeout 549 > log/7/stdout285 2> log/7/stderr285 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind295 ../src/curl -q --output log/10/curl295.out --include --trace-ascii log/10/trace295 --trace-config all --trace-time ftp://127.0.0.1:42661/295/ > log/10/stdout295 2> log/10/stderr295 741 Received DATA (on stdin) 02:01:42.026755 > 28 bytes data, server => client 02:01:42.026766 '226 File transfer complete\r\n' 02:01:42.073533 < 6 bytes data, client => server 02:01:42.073557 'QUIT\r\n' 02:01:42.073795 Received DATA (on stdin) 02:01:42.073813 > 18 bytes data, server => client 02:01:42.073827 '221 bye bye baby\r\n' 02:01:42.074651 ====> Client disconnect 02:01:42.074853 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:41.012863 Running IPv4 version 02:01:41.012946 Listening on port 39321 02:01:41.012988 Wrote pid 93330 to log/9/server/ftp_sockdata.pid 02:01:41.019237 Received PING (on stdin) 02:01:41.019978 Received PORT (on stdin) 02:01:41.025509 ====> Client connect 02:01:41.026282 Received DATA (on stdin) 02:01:41.026297 > 17 bytes data, server => client 02:01:41.026307 'WE ROOLZ: 80452\r\n' 02:01:41.026334 Received DISC (on stdin) 02:01:41.026345 ====> Client forcibly disconnected 02:01:41.026492 Received QUIT (on stdin) 02:01:41.026504 quits 02:01:41.026559 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 ==93387== ==93387== Process terminating with default action of signal 4 (SIGILL) ==93387== Illegal opcode at address 0x10B08D ==93387== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93387== by 0x10B08D: main (tool_main.c:232) === End of file valgrind296 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/8/server/tftp_server.pid" --portfile "log/8/server/tftp_server.port" --logfile "log/8/tftp_server.log" --logdir "log/8" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --silent --verbose --globoff "tftp://127.0.0.1:34275/verifiedserver" 2>log/8/tftp_verify.log RUN: Verifying our test tftp server took 0 seconds RUN: TFTP server on PID 92489 port 34275 * pid tftp => 92489 92489 test 0286...[TFTP send of boundary case 512 byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind286 ../src/curl -q --output log/8/curl286.out --include --trace-ascii log/8/trace286 --trace-config all --trace-time -T log/8/test286.txt tftp://127.0.0.1:34275// > log/8/stdout286 2> log/8/stderr286 286: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 286 === Start of file server.cmd Testnum 286 === End of file server.cmd === Start of file test286.txt A chunk of data which exactly fits into a 512 byte TFTP block, testing a boundary condition in the TFTP transmit code. 89ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF === End of file test286.txt === Start of file tftp_server.log 02:01:40.634177 Wrote pid 92489 to log/8/server/tftp_server.pid 02:01:40.634236 Wrote port 34275 to log/8/server/tftp_server.port 02:01:40.634250 Running IPv4 version on port UDP/34275 02:01:41.671935 trying to get file: verifiedserver mode 1 02:01:41.671953 Are-we-friendly question received 02:01:41.671966 write 02:01:41.672013 read 02:01:41.676010 read: 4 02:01:41.676075 end of one transfer === End of file tftp_server.log === Start of file valgrind286 ==93184== ==93184== Process terminating with default action of signal 4 (SIGILL) ==93184== Illegal opcode at address 0x10B08D ==93184== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93184== by 0x10B08D: main (tool_main.c:232) === End of file valgrind286 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/7/server/tftp_server.pid" --portfile "log/7/server/tftp_server.port" --logfile "log/7/tftp_server.log" --logdir "log/7" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --silent --verbose --globoff "tftp://127.0.0.1:36069/verifiedserver" 2>log/7/tftp_verify.log RUN: Verifying our test tftp server took 0 seconds RUN: TFTP server on PID 92487 port 36069 * pid tftp => 92487 92487 test 0285...[TFTP send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind285 ../src/curl -q --output log/7/curl285.out --include --trace-ascii log/7/trace285 --trace-config all --trace-time -T log/7/test285.txt tftp://127.0.0.1:36069// --connect-timeout 549 > log/7/stdout285 2> log/7/stderr285 285: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 285 === Start of file server.cmd Testnum 285 === End of file server.cmd === Start of file test285.txt a chunk of data sent to server === End of file test285.txt === Start of file tftp_server.log 02:01:40.509309 Wrote pid 92487 to log/7/server/tftp_server.pid 02:01:40.509363 Wrote port 36069 to log/7/server/tftp_server.port 02:01:40.509376 Running IPv4 version on port UDP/36069 02:01:41.594188 trying to get file: verifiedserver mode 1 02:01:41.594205 Are-we-friendly question received 02:01:41.594217 write 02:01:41.594249 read 02:01:41.596647 read: 4 02:01:41.596705 end of one transfer === End of file tftp_server.log === Start of file valgrind285 ==93141== ==93141== Process terminating with default action of signal 4 (SIGILL) ==93141== Illegal opcode at address 0x10B08D ==93141== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93141== by 0x10B08D: main (tool_main.c:232) === End of file valgrind285 test 0320 SKIPPED: no gnutls-serv (with SRP support) test 0322 SKIPPED: no gnutls-serv (with SRP support) test 0324 SKIPPED: no gnutls-serv (with SRP support) test 0295...[FTP ACCT request without --ftp-account] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind295 ../src/curl -q --output log/10/curl295.out --include --trace-ascii log/10/trace295 --trace-config all --trace-time ftp://127.0.0.1:42661/295/ > log/10/stdout295 2> log/10/stderr295 295: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 295 === Start of file ftp_server.log 02:01:41.623072 ====> Client connect 02:01:41.623221 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:41.625183 < "USER anonymous" 02:01:41.625223 > "331 We are happy you popped in![CR][LF]" 02:01:41.626129 < "PASS ftp@example.com" 02:01:41.626167 > "230 Welcome you silly person[CR][LF]" 02:01:41.626381 < "PWD" 02:01:41.626427 > "257 "/" is current directory[CR][LF]" 02:01:41.626626 < "EPSV" 02:01:41.626652 ====> Passive DATA channel requested by client 02:01:41.626664 DATA sockfilt for passive data channel starting... 02:01:41.632754 DATA sockfilt for passive data channel started (pid 93236) 02:01:41.632866 DATA sockfilt for passive data channel listens on port 39861 02:01:41.632906 > "229 Entering Passive Mode (|||39861|)[LF]" 02:01:41.632923 Client has been notified that DATA conn will be accepted on port 39861 02:01:41.633233 Client connects to port 39861 02:01:41.633271 ====> Client established passive DATA connection on port 39861 02:01:41.633353 < "TYPE I" 02:01:41.633383 > "200 I modify TYPE as you wanted[CR][LCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind297 ../src/curl -q --output log/11/curl297.out --include --trace-ascii log/11/trace297 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:45687/first/second/third/297 > log/11/stdout297 2> log/11/stderr297 F]" 02:01:41.633550 < "SIZE verifiedserver" 02:01:41.633587 > "213 17[CR][LF]" 02:01:41.633735 < "RETR verifiedserver" 02:01:41.633767 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:41.633845 =====> Closing passive DATA connection... 02:01:41.633860 Server disconnects passive DATA connection 02:01:41.634100 Server disconnected passive DATA connection 02:01:41.634128 DATA sockfilt for passive data channel quits (pid 93236) 02:01:41.634339 DATA sockfilt for passive data channel quit (pid 93236) 02:01:41.634362 =====> Closed passive DATA connection 02:01:41.634388 > "226 File transfer complete[CR][LF]" 02:01:41.686082 < "QUIT" 02:01:41.686135 > "221 bye bye baby[CR][LF]" 02:01:41.687399 MAIN sockfilt said DISC 02:01:41.687442 ====> Client disconnected 02:01:41.687502 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:41.821871 ====> Client connect 02:01:41.823376 Received DATA (on stdin) 02:01:41.823395 > 160 bytes data, server => client 02:01:41.823408 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:41.823418 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:41.823428 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:41.825171 < 16 bytes data, client => server 02:01:41.825190 'USER anonymous\r\n' 02:01:41.825364 Received DATA (on stdin) 02:01:41.825376 > 33 bytes data, server => client 02:01:41.825387 '331 We are happy you popped in!\r\n' 02:01:41.826139 < 22 bytes data, client => server 02:01:41.826159 'PASS ftp@example.com\r\n' 02:01:41.826313 Received DATA (on stdin) 02:01:41.826329 > 30 bytes data, server => client 02:01:41.826341 '230 Welcome you silly person\r\n' 02:01:41.826405 < 5 bytes data, client => server 02:01:41.826423 'PWD\r\n' 02:01:41.826574 Received DATA (on stdin) 02:01:41.826588 > 30 bytes data, server => client 02:01:41.826601 '257 "/" is current directory\r\n' 02:01:41.826672 < 6 bytes data, client => server 02:01:41.826690 'EPSV\r\n' 02:01:41.833072 Received DATA (on stdin) 02:01:41.833088 > 38 bytes data, server => client 02:01:41.833100 '229 Entering Passive Mode (|||39861|)\n' 02:01:41.833316 < 8 bytes data, client => server 02:01:41.833330 'TYPE I\r\n' 02:01:41.833523 Received DATA (on stdin) 02:01:41.833536 > 33 bytes data, server => client 02:01:41.833548 '200 I modify TYPE as you wanted\r\n' 02:01:41.833607 < 21 bytes data, client => server 02:01:41.833619 'SIZE verifiedserver\r\n' 02:01:41.833725 Received DATA (on stdin) 02:01:41.833737 > 8 bytes data, server => client 02:01:41.833747 '213 17\r\n' 02:01:41.833795 < 21 bytes data, client => server 02:01:41.833806 'RETR verifiedserver\r\n' 02:01:41.834101 Received DATA (on stdin) 02:01:41.834115 > 29 bytes data, server => client 02:01:41.834126 '150 Binary junk (17 bytes).\r\n' 02:01:41.834528 Received DATA (on stdin) 02:01:41.834541 > 28 bytes data, server => client 02:01:41.834552 '226 File transfer complete\r\n' 02:01:41.886040 < 6 bytes data, client => server 02:01:41.886068 'QUIT\r\n' 02:01:41.886281 Received DATA (on stdin) 02:01:41.886296 > 18 bytes data, server => client 02:01:41.886308 '221 bye bye baby\r\n' 02:01:41.887106 ====> Client disconnect 02:01:41.887642 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:41.832573 Running IPv4 version 02:01:41.832647 Listening on port 39861 02:01:41.832684 Wrote pid 93236 to log/10/server/ftp_sockdata.pid 02:01:41.832834 Received PING (on stdin) 02:01:41.832919 Received PORT (on stdin) 02:01:41.833286 ====> Client connect 02:01:41.834000 Received DATA (on stdin) 02:01:41.834018 > 17 bytes data, server => client 02:01:41.834029 'WE ROOLZ: 80449\r\n' 02:01:41.834062 Received DISC (on stdin) 02:01:41.834075 ====> Client forcibly disconnected 02:01:41.834275 Received QUIT (on stdin) 02:01:41.834288 quits 02:01:41.834343 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 Give me an ACCT now REPLY PWD 530 No ACCT, go away Testnum 295 === End of file server.cmd === Start of file valgrind295 ==93298== ==93298== Process terminating with default action of signal 4 (SIGILL) ==93298== Illegal opcode at address 0x10B08D ==93298== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93298== by 0x10B08D: main (tool_main.c:232) === End of file valgrind295 test 0297...[FTP CWD with --ftp-method singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind297 ../src/curl -q --output log/11/curl297.out --include --trace-ascii log/11/trace297 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:45687/first/second/third/297 > log/11/stdout297 2> log/11/stderr297 297: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 297 === Start of file ftp_server.log 02:01:41.846131 ====> Client connect 02:01:41.846287 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:41.846559 < "USER anonymous" 02:01:41.846589 > "331 We are happy you popped in![CR][LF]" 02:01:41.846738 < "PASS ftp@example.com" 02:01:41.846760 > "230 Welcome you silly person[CR][LF]" 02:01:41.846901 < "PWD" 02:01:41.846929 > "257 "/" is current directory[CR][LF]" 02:01:41.847073 < "EPSV" 02:01:41.847097 ====> Passive DATA channel requested by client 02:01:41.847109 DATA sockfilt for passive data channel starting... 02:01:41.851857 DATA sockfilt for passive data channel started (pid 93353) 02:01:41.855447 DATA sockfilt for passive data channel listens on port 35583 02:01:41.855513 > "229 Entering Passive Mode (|||35583|)[LF]" 02:01:41.855534 Client has been notified that DATA conn will be accepted on port 35583 02:01:41.857010 Client connects to port 35583 02:01:41.857044 ====> Client established passive DATA connection on port 35583 02:01:41.857166 < "TYPE I" 02:01:41.857197 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:41.857342 < "SIZE verifiedserver" 02:01:41.857373 > "213 17[CR][LF]" 02:01:41.857505 < "RETR verifiedserver" 02:01:41.857535 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:41.857614 =====> Closing passive DATA connection... 02:01:41.857627 Server disconnects passive DATA connection 02:01:41.857734 Server disconnected passive DATA connection 02:01:41.857753 DATA sockfilt for passive data channel quits (pid 93353) 02:01:41.857988 DATA sockfilt for passive data channel quit (pid 93353) 02:01:41.858008 =====> Closed passive DATA connection 02:01:41.858031 > "226 File transfer complete[CR][LF]" 02:01:41.899253 < "QUIT" 02:01:41.899307 > "221 bye bye baby[CR][LF]" 02:01:41.900079 MAIN sockfilt said DISC 02:01:41.900110 ====> Client disconnected 02:01:41.900174 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:42.046148 ====> Client connect 02:01:42.046437 Received DATA (on stdin) 02:01:42.046452 > 160 bytes data, server => client 02:01:42.046464 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:42.046476 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:42.046488 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:42.046563 < 16 bytes data, client => server 02:01:42.046575 'USER anonymous\r\n' 02:01:42.046729 Received DATA (on stdin) 02:01:42.046740 > 33 bytes data, server => client 02:01:42.046751 '331 We are happy you popped in!\r\n' 02:01:42.046800 < 22 bytes data, client => server 02:01:42.046811 'PASS ftp@example.com\r\n' 02:01:42.046896 Received DATA (on stdin) 02:01:42.046907 > 30 bytes data, server => client 02:01:42.046918 '230 Welcome you silly person\r\n' 02:01:42.046967 < 5 bytes data, client => server 02:01:42.046977 'PWD\r\n' 02:01:42.047067 Received DATA (on stdin) 02:01:42.047077 > 30 bytes data, server =>CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind298 ../src/curl -q --output log/4/curl298.out --include --trace-ascii log/4/trace298 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:34583/first/second/th%69rd/298 > log/4/stdout298 2> log/4/stderr298 client 02:01:42.047087 '257 "/" is current directory\r\n' 02:01:42.047140 < 6 bytes data, client => server 02:01:42.047151 'EPSV\r\n' 02:01:42.056254 Received DATA (on stdin) 02:01:42.056279 > 38 bytes data, server => client 02:01:42.056291 '229 Entering Passive Mode (|||35583|)\n' 02:01:42.057199 < 8 bytes data, client => server 02:01:42.057212 'TYPE I\r\n' 02:01:42.057335 Received DATA (on stdin) 02:01:42.057346 > 33 bytes data, server => client 02:01:42.057356 '200 I modify TYPE as you wanted\r\n' 02:01:42.057407 < 21 bytes data, client => server 02:01:42.057417 'SIZE verifiedserver\r\n' 02:01:42.057509 Received DATA (on stdin) 02:01:42.057519 > 8 bytes data, server => client 02:01:42.057529 '213 17\r\n' 02:01:42.057573 < 21 bytes data, client => server 02:01:42.057584 'RETR verifiedserver\r\n' 02:01:42.058048 Received DATA (on stdin) 02:01:42.058060 > 29 bytes data, server => client 02:01:42.058071 '150 Binary junk (17 bytes).\r\n' 02:01:42.058168 Received DATA (on stdin) 02:01:42.058178 > 28 bytes data, server => client 02:01:42.058188 '226 File transfer complete\r\n' 02:01:42.099214 < 6 bytes data, client => server 02:01:42.099242 'QUIT\r\n' 02:01:42.099450 Received DATA (on stdin) 02:01:42.099463 > 18 bytes data, server => client 02:01:42.099474 '221 bye bye baby\r\n' 02:01:42.100164 ====> Client disconnect 02:01:42.100317 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:41.048540 Running IPv4 version 02:01:41.048586 Listening on port 35583 02:01:41.048619 Wrote pid 93353 to log/11/server/ftp_sockdata.pid 02:01:41.051923 Received PING (on stdin) 02:01:41.052029 Received PORT (on stdin) 02:01:41.057095 ====> Client connect 02:01:41.057765 Received DATA (on stdin) 02:01:41.057778 > 17 bytes data, server => client 02:01:41.057788 'WE ROOLZ: 80480\r\n' 02:01:41.057815 Received DISC (on stdin) 02:01:41.057826 ====> Client forcibly disconnected 02:01:41.057895 Received QUIT (on stdin) 02:01:41.057905 quits 02:01:41.057957 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 ==93399== ==93399== Process terminating with default action of signal 4 (SIGILL) ==93399== Illegal opcode at address 0x10B08D ==93399== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93399== by 0x10B08D: main (tool_main.c:232) === End of file valgrind297 test 0298...[FTP CWD with --ftp-method nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind298 ../src/curl -q --output log/4/curl298.out --include --trace-ascii log/4/trace298 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:34583/first/second/th%69rd/298 > log/4/stdout298 2> log/4/stderr298 298: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 298 === Start of file ftp_server.log 02:01:41.826729 ====> Client connect 02:01:41.826864 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:41.827114 < "USER anonymous" 02:01:41.827148 > "331 We are happy you popped in![CR][LF]" 02:01:41.827307 < "PASS ftp@example.com" 02:01:41.827332 > "230 Welcome you silly person[CR][LF]" 02:01:41.827475 < "PWD" 02:01:41.827502 > "257 "/" is current directory[CR][LF]" 02:01:41.827653 < "EPSV" 02:01:41.827676 ====> Passive DATA channel requested by client 02:01:41.827689 DATA sockfilt for passive data channel starting... 02:01:41.829626 DATA sockfilt for passive data channel started (pid 93342) 02:01:41.829729 DATA sockfilt for passive data channel listens on port 35467 02:01:41.829772 > "229 Entering Passive Mode (|||35467|)[LF]" 02:01:41.829793 Client has been notified that DATA conn will be accepted on port 35467 02:01:41.830044 Client connects to port 35467 02:01:41.830071 ====> Client established passive DATA connection on port 35467 02:01:41.830138 < "TYPE I" 02:01:41.830166 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:41.830332 < "SIZE verifiedserver" 02:01:41.830370 > "213 17[CR][LF]" 02:01:41.830530 < "RETR verifiedserver" 02:01:41.830565 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:41.830649 =====> Closing passive DATA connection... 02:01:41.830667 Server disconnects passive DATA connection 02:01:41.837012 Server disconnected passive DATA connection 02:01:41.837076 DATA sockfilt for passive data channel quits (pid 93342) 02:01:41.840350 DATA sockfilt for passive data channel quit (pid 93342) 02:01:41.840423 =====> Closed passive DATA connection 02:01:41.840475 > "226 File transfer complete[CR][LF]" 02:01:41.875145 < "QUIT" 02:01:41.875197 > "221 bye bye baby[CR][LF]" 02:01:41.877363 MAIN sockfilt said DISC 02:01:41.877405 ====> Client disconnected 02:01:41.877481 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:42.026775 ====> Client connect 02:01:42.027011 Received DATA (on stdin) 02:01:42.027026 > 160 bytes data, server => client 02:01:42.027038 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:42.027050 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:42.027061 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:42.027128 < 16 bytes data, client => server 02:01:42.027141 'USER anonymous\r\n' 02:01:42.027289 Received DATA (on stdin) 02:01:42.027301 > 33 bytes data, server => client 02:01:42.027313 '331 We are happy you popped in!\r\n' 02:01:42.027364 < 22 bytes data, client => server 02:01:42.027376 'PASS ftp@example.com\r\n' 02:01:42.027470 Received DATA (on stdin) 02:01:42.027481 > 30 bytes data, server => client 02:01:42.027492 '230 Welcome you silly person\r\n' 02:01:42.027539 < 5 bytes data, client => server 02:01:42.027551 'PWD\r\n' 02:01:42.027639 Received DATA (on stdin) 02:01:42.027651 > 30 bytes data, server => client 02:01:42.027661 '257 "/" is current directory\r\n' 02:01:42.027715 < 6 bytes data, client => server 02:01:42.027727 'EPSV\r\n' 02:01:42.029943 Received DATA (on stdin) 02:01:42.029958 > 38 bytes data, server => client 02:01:42.029970 '229 Entering Passive Mode (|||35467|)\n' 02:01:42.030101 < 8 bytes data, client => server 02:01:42.030119 'TYPE I\r\n' 02:01:42.030307 Received DATA (on stdin) 02:01:42.030320 > 33 bytes data, server => client 02:01:42.030331 '200 I modify TYPE as you wanted\r\n' 02:01:42.030386 < 21 bytes data, client => server 02:01:42.030400 'SIZE verifiedserver\r\n' 02:01:42.030511 Received DATA (on stdin) 02:01:42.030523 > 8 bytes data, server => client 02:01:42.030534 '213 17\r\n' 02:01:42.030585 < 21 bytes data, client => server 02:01:42.030598 'RETR verifiedserver\r\n' 02:01:42.030821 Received DATA (on stdin) 02:01:42.030835 > 29 bytes data, server => client 02:01:42.030846 '150 Binary junk (17 bytes).\r\n' 02:01:42.040892 Received DATA (on stdin) 02:01:42.040920 > 28 bytes data, server => client 02:01:42.040934 '226 File transfer complete\r\n' 02:01:42.073376 < 6 bytes data, client => server 02:01:42.073413 'QUIT\r\n' 02:01:42.076665 Received DATA (on stdin) 02:01:42.076696 > 18 bytes data, server => client 02:01:42.076710 '221 bye bye baby\r\n' 02:01:42.077439 ====> Client disconnect 02:01:42.077630 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:41.029475 Running IPv4 version 02:01:41.029533 Listening on port 35467 02:01:41.029572 Wrote pid 93342 to log/4/server/ftp_sockdata.pid 02:01:41.029704 Received PING (on stdin) 02:01:41.029787 Received PORT (on stdin) 02:01:41.030139 ====> Client connect 02:01:41.031551 Received DATA (on stdin) 02:01:41.031576 > 17 bytes data, server => client 02:01:41.031587 'WE ROOLZ: 80536\r\n' 02:01:41.031623 Received DISC (on stdin) 02:01:41.031637 ====> Client forciCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind314 ../src/curl -q --output log/5/curl314.out --include --trace-ascii log/5/trace314 --trace-config all --trace-time http://127.0.0.1:33361/314 --compressed > log/5/stdout314 2> log/5/stderr314 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind299 ../src/curl -q --output log/12/curl299.out --include --trace-ascii log/12/trace299 --trace-config all --trace-time -x http://127.0.0.1:40653 -u michal:aybabtu ftp://host.com/we/want/299 > log/12/stdout299 2> log/12/stderr299 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind317 ../src/curl -q --output log/6/curl317.out --include --trace-ascii log/6/trace317 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:39457 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/6/stdout317 2> log/6/stderr317 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind315 ../src/curl -q --output log/2/curl315.out --include --trace-ascii log/2/trace315 --trace-config all --trace-time http://127.0.0.1:38781/315 --compressed > log/2/stdout315 2> log/2/stderr315 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind316 ../src/curl -q --output log/3/curl316.out --include --trace-ascii log/3/trace316 --trace-config all --trace-time http://127.0.0.1:34527/316 --compressed > log/3/stdout316 2> log/3/stderr316 bly disconnected 02:01:41.040169 Received QUIT (on stdin) 02:01:41.040211 quits 02:01:41.040288 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 ==93371== ==93371== Process terminating with default action of signal 4 (SIGILL) ==93371== Illegal opcode at address 0x10B08D ==93371== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93371== by 0x10B08D: main (tool_main.c:232) === End of file valgrind298 test 0314...[HTTP GET brotli compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind314 ../src/curl -q --output log/5/curl314.out --include --trace-ascii log/5/trace314 --trace-config all --trace-time http://127.0.0.1:33361/314 --compressed > log/5/stdout314 2> log/5/stderr314 314: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 314 === Start of file http_server.log 02:01:42.308566 ====> Client connect 02:01:42.308601 accept_connection 3 returned 4 02:01:42.308619 accept_connection 3 returned 0 02:01:42.308635 Read 93 bytes 02:01:42.308646 Process 93 bytes request 02:01:42.308661 Got request: GET /verifiedserver HTTP/1.1 02:01:42.308670 Are-we-friendly question received 02:01:42.308692 Wrote request (93 bytes) input to log/5/server.input 02:01:42.308709 Identifying ourselves as friends 02:01:42.308788 Response sent (56 bytes) and written to log/5/server.response 02:01:42.308801 special request received, no persistency 02:01:42.308810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 314 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind314 ==93635== ==93635== Process terminating with default action of signal 4 (SIGILL) ==93635== Illegal opcode at address 0x10B08D ==93635== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93635== by 0x10B08D: main (tool_main.c:232) === End of file valgrind314 test 0299...[FTP over HTTP proxy with user:pass not in url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind299 ../src/curl -q --output log/12/curl299.out --include --trace-ascii log/12/trace299 --trace-config all --trace-time -x http://127.0.0.1:40653 -u michal:aybabtu ftp://host.com/we/want/299 > log/12/stdout299 2> log/12/stderr299 299: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 299 === Start of file http_server.log 02:01:42.134022 ====> Client connect 02:01:42.134060 accept_connection 3 returned 4 02:01:42.134077 accept_connection 3 returned 0 02:01:42.134092 Read 93 bytes 02:01:42.134102 Process 93 bytes request 02:01:42.134117 Got request: GET /verifiedserver HTTP/1.1 02:01:42.134131 Are-we-friendly question received 02:01:42.134398 Wrote request (93 bytes) input to log/12/server.input 02:01:42.134426 Identifying ourselves as friends 02:01:42.134535 Response sent (56 bytes) and written to log/12/server.response 02:01:42.134550 special request received, no persistency 02:01:42.134569 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 299 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind299 ==93455== ==93455== Process terminating with default action of signal 4 (SIGILL) ==93455== Illegal opcode at address 0x10B08D ==93455== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93455== by 0x10B08D: main (tool_main.c:232) === End of file valgrind299 test 0317...[HTTP with custom Authorization: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind317 ../src/curl -q --output log/6/curl317.out --include --trace-ascii log/6/trace317 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:39457 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/6/stdout317 2> log/6/stderr317 317: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 317 === Start of file http_server.log 02:01:42.645501 ====> Client connect 02:01:42.645542 accept_connection 3 returned 4 02:01:42.645561 accept_connection 3 returned 0 02:01:42.645577 Read 93 bytes 02:01:42.645588 Process 93 bytes request 02:01:42.645603 Got request: GET /verifiedserver HTTP/1.1 02:01:42.645613 Are-we-friendly question received 02:01:42.645642 Wrote request (93 bytes) input to log/6/server.input 02:01:42.645660 Identifying ourselves as friends 02:01:42.645743 Response sent (56 bytes) and written to log/6/server.response 02:01:42.645757 special request received, no persistency 02:01:42.645766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 317 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind317 ==93829== ==93829== Process terminating with default action of signal 4 (SIGILL) ==93829== Illegal opcode at address 0x10B08D ==93829== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93829== by 0x10B08D: main (tool_main.c:232) === End of file valgrind317 test 0315...[HTTP GET brotli compressed content with broken header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind315 ../src/curl -q --output log/2/curl315.out --include --trace-ascii log/2/trace315 --trace-config all --trace-time http://127.0.0.1:38781/315 --compressed > log/2/stdout315 2> log/2/stderr315 315: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 315 =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind318 ../src/curl -q --output log/1/curl318.out --include --trace-ascii log/1/trace318 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:34215 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/1/stdout318 2> log/1/stderr318 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind327 ../src/curl -q --output log/7/curl327.out --include --trace-ascii log/7/trace327 --trace-config all --trace-time http://127.0.0.1:43753/we/want/327 -b none -c log/7/cookies327 http://127.0.0.1:43753/we/want/3270002 > log/7/stdout327 2> log/7/stderr327 == Start of file http_server.log 02:01:42.361935 ====> Client connect 02:01:42.361976 accept_connection 3 returned 4 02:01:42.361993 accept_connection 3 returned 0 02:01:42.362009 Read 93 bytes 02:01:42.362019 Process 93 bytes request 02:01:42.362035 Got request: GET /verifiedserver HTTP/1.1 02:01:42.362045 Are-we-friendly question received 02:01:42.362070 Wrote request (93 bytes) input to log/2/server.input 02:01:42.362087 Identifying ourselves as friends 02:01:42.362168 Response sent (56 bytes) and written to log/2/server.response 02:01:42.362181 special request received, no persistency 02:01:42.362190 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 315 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind315 ==93642== ==93642== Process terminating with default action of signal 4 (SIGILL) ==93642== Illegal opcode at address 0x10B08D ==93642== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93642== by 0x10B08D: main (tool_main.c:232) === End of file valgrind315 test 0316...[HTTP GET brotli compressed content of size more than CURL_MAX_WRITE_SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind316 ../src/curl -q --output log/3/curl316.out --include --trace-ascii log/3/trace316 --trace-config all --trace-time http://127.0.0.1:34527/316 --compressed > log/3/stdout316 2> log/3/stderr316 316: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 316 === Start of file http_server.log 02:01:42.472153 ====> Client connect 02:01:42.472200 accept_connection 3 returned 4 02:01:42.472218 accept_connection 3 returned 0 02:01:42.472233 Read 93 bytes 02:01:42.472245 Process 93 bytes request 02:01:42.472260 Got request: GET /verifiedserver HTTP/1.1 02:01:42.472269 Are-we-friendly question received 02:01:42.472292 Wrote request (93 bytes) input to log/3/server.input 02:01:42.472309 Identifying ourselves as friends 02:01:42.472646 Response sent (56 bytes) and written to log/3/server.response 02:01:42.472659 special request received, no persistency 02:01:42.472668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 316 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind316 ==93720== ==93720== Process terminating with default action of signal 4 (SIGILL) ==93720== Illegal opcode at address 0x10B08D ==93720== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93720== by 0x10B08D: main (tool_main.c:232) === End of file valgrind316 test 0318...[HTTP with custom Authorization: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind318 ../src/curl -q --output log/1/curl318.out --include --trace-ascii log/1/trace318 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:34215 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/1/stdout318 2> log/1/stderr318 318: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 318 === Start of file http_server.log 02:01:42.653170 ====> Client connect 02:01:42.653372 accept_connection 3 returned 4 02:01:42.653391 accept_connection 3 returned 0 02:01:42.653406 Read 93 bytes 02:01:42.653417 Process 93 bytes request 02:01:42.653432 Got request: GET /verifiedserver HTTP/1.1 02:01:42.653442 Are-we-friendly question received 02:01:42.653468 Wrote request (93 bytes) input to log/1/server.input 02:01:42.653485 Identifying ourselves as friends 02:01:42.653560 Response sent (56 bytes) and written to log/1/server.response 02:01:42.653571 special request received, no persistency 02:01:42.653580 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind318 ==93826== ==93826== Process terminating with default action of signal 4 (SIGILL) ==93826== Illegal opcode at address 0x10B08D ==93826== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93826== by 0x10B08D: main (tool_main.c:232) === End of file valgrind318 test 0327...[HTTP with cookiejar without cookies left] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind327 ../src/curl -q --output log/7/curl327.out --include --trace-ascii log/7/trace327 --trace-config all --trace-time http://127.0.0.1:43753/we/want/327 -b none -c log/7/cookies327 http://127.0.0.1:43753/we/want/3270002 > log/7/stdout327 2> log/7/stderr327 327: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 327 === Start of file http_server.log 02:01:43.143049 ====> Client connect 02:01:43.143097 accept_connection 3 returned 4 02:01:43.143115 accept_connection 3 returned 0 02:01:43.143132 Read 93 bytes 02:01:43.143143 Process 93 bytes request 02:01:43.143158 Got request: GET /verifiedserver HTTP/1.1 02:01:43.143167 Are-we-friendly question received 02:01:43.143191 Wrote request (93 bytes) input to log/7/server.input 02:01:43.143210 Identifying ourselves as friends 02:01:43.143309 Response sent (56 bytes) and written to log/7/server.response 02:01:43.143321 special request received, no persistency 02:01:43.143330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind319 ../src/curl -q --output log/9/curl319.out --trace-ascii log/9/trace319 --trace-config all --trace-time http://127.0.0.1:38509/319 --raw > log/9/stdout319 2> log/9/stderr319 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind329 ../src/curl -q --output log/11/curl329.out --include --trace-ascii log/11/trace329 --trace-config all --trace-time http://127.0.0.1:44137/we/want/329 -b log/11/jar329.txt -b log/11/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:44137/we/want/3290002 > log/11/stdout329 2> log/11/stderr329 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind326 ../src/curl -q --output log/8/curl326.out --trace-ascii log/8/trace326 --trace-config all --trace-time http://127.0.0.1:43803/326 --raw > log/8/stdout326 2> log/8/stderr326 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind328 ../src/curl -q --output log/10/curl328.out --include --trace-ascii log/10/trace328 --trace-config all --trace-time http://127.0.0.1:42929/hello/328 --compressed > log/10/stdout328 2> log/10/stderr328 http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 327 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind327 ==94028== ==94028== Process terminating with default action of signal 4 (SIGILL) ==94028== Illegal opcode at address 0x10B08D ==94028== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94028== by 0x10B08D: main (tool_main.c:232) === End of file valgrind327 test 0319...[HTTP GET gzip transfer-encoded data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind319 ../src/curl -q --output log/9/curl319.out --trace-ascii log/9/trace319 --trace-config all --trace-time http://127.0.0.1:38509/319 --raw > log/9/stdout319 2> log/9/stderr319 319: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 319 === Start of file http_server.log 02:01:43.093660 ====> Client connect 02:01:43.093702 accept_connection 3 returned 4 02:01:43.093721 accept_connection 3 returned 0 02:01:43.093825 Read 93 bytes 02:01:43.093837 Process 93 bytes request 02:01:43.093858 Got request: GET /verifiedserver HTTP/1.1 02:01:43.093868 Are-we-friendly question received 02:01:43.093889 Wrote request (93 bytes) input to log/9/server.input 02:01:43.093907 Identifying ourselves as friends 02:01:43.093983 Response sent (56 bytes) and written to log/9/server.response 02:01:43.093996 special request received, no persistency 02:01:43.094005 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 319 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind319 ==93997== ==93997== Process terminating with default action of signal 4 (SIGILL) ==93997== Illegal opcode at address 0x10B08D ==93997== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93997== by 0x10B08D: main (tool_main.c:232) === End of file valgrind319 setenv TZ = GMT test 0329...[HTTP cookie with Max-Age=0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind329 ../src/curl -q --output log/11/curl329.out --include --trace-ascii log/11/trace329 --trace-config all --trace-time http://127.0.0.1:44137/we/want/329 -b log/11/jar329.txt -b log/11/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:44137/we/want/3290002 > log/11/stdout329 2> log/11/stderr329 329: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 329 === Start of file http_server.log 02:01:43.329529 ====> Client connect 02:01:43.329568 accept_connection 3 returned 4 02:01:43.329587 accept_connection 3 returned 0 02:01:43.329602 Read 93 bytes 02:01:43.329613 Process 93 bytes request 02:01:43.329628 Got request: GET /verifiedserver HTTP/1.1 02:01:43.329638 Are-we-friendly question received 02:01:43.329665 Wrote request (93 bytes) input to log/11/server.input 02:01:43.329684 Identifying ourselves as friends 02:01:43.329756 Response sent (56 bytes) and written to log/11/server.response 02:01:43.329769 special request received, no persistency 02:01:43.329779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file jar329.txt .host.foo.com TRUE /we/want/ FALSE 22147483647 test no .host.foo.com TRUE /we/want/ FALSE 22147483647 tester yes === End of file jar329.txt === Start of file server.cmd Testnum 329 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind329 ==94193== ==94193== Process terminating with default action of signal 4 (SIGILL) ==94193== Illegal opcode at address 0x10B08D ==94193== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94193== by 0x10B08D: main (tool_main.c:232) === End of file valgrind329 test 0326...[HTTP GET chunked data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind326 ../src/curl -q --output log/8/curl326.out --trace-ascii log/8/trace326 --trace-config all --trace-time http://127.0.0.1:43803/326 --raw > log/8/stdout326 2> log/8/stderr326 326: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 326 === Start of file http_server.log 02:01:43.093878 ====> Client connect 02:01:43.093907 accept_connection 3 returned 4 02:01:43.093921 accept_connection 3 returned 0 02:01:43.093935 Read 93 bytes 02:01:43.093946 Process 93 bytes request 02:01:43.093958 Got request: GET /verifiedserver HTTP/1.1 02:01:43.093968 Are-we-friendly question received 02:01:43.093995 Wrote request (93 bytes) input to log/8/server.input 02:01:43.094013 Identifying ourselves as friends 02:01:43.094064 Response sent (56 bytes) and written to log/8/server.response 02:01:43.094075 special request received, no persistency 02:01:43.094084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 326 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind326 ==93999== ==93999== Process terminating with default action of signal 4 (SIGILL) ==93999== Illegal opcode at address 0x10B08D ==93999== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==93999== by 0x10B08D: main (tool_main.c:232) === End of file valgrind326 test 0328...[HTTP with "Content-Encoding: none] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind328 ../src/curl -q --output log/10/curl328.out --include --trace-ascii log/10/trace328 --trace-config all --trace-time http://127.0.0.1:42929/hello/328 --compressed > log/10/stdout328 2> log/10/stderr328 328: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitchCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind330 ../src/curl -q --output log/4/curl330.out --include --trace-ascii log/4/trace330 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:36813 -H "Cookie: test=yes" --location > log/4/stdout330 2> log/4/stderr330 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind332 ../src/curl -q --output log/12/curl332.out --include --trace-ascii log/12/trace332 --trace-config all --trace-time tftp://127.0.0.1:59336//332 --tftp-blksize 400 > log/12/stdout332 2> log/12/stderr332 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind331 ../src/curl -q --output log/5/curl331.out --include --trace-ascii log/5/trace331 --trace-config all --trace-time -x http://127.0.0.1:33361 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/5/stdout331 2> log/5/stderr331 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind335 ../src/curl -q --output log/3/curl335.out --include --trace-ascii log/3/trace335 --trace-config all --trace-time http://digest:alot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:34527 --proxy-digest --digest > log/3/stdout335 2> log/3/stderr335 ? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 328 === Start of file http_server.log 02:01:43.135348 ====> Client connect 02:01:43.135380 accept_connection 3 returned 4 02:01:43.135396 accept_connection 3 returned 0 02:01:43.135410 Read 93 bytes 02:01:43.135420 Process 93 bytes request 02:01:43.135434 Got request: GET /verifiedserver HTTP/1.1 02:01:43.135443 Are-we-friendly question received 02:01:43.135465 Wrote request (93 bytes) input to log/10/server.input 02:01:43.135481 Identifying ourselves as friends 02:01:43.135528 Response sent (56 bytes) and written to log/10/server.response 02:01:43.135539 special request received, no persistency 02:01:43.135548 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 328 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind328 ==94032== ==94032== Process terminating with default action of signal 4 (SIGILL) ==94032== Illegal opcode at address 0x10B08D ==94032== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94032== by 0x10B08D: main (tool_main.c:232) === End of file valgrind328 test 0330...[HTTP with custom Cookie: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind330 ../src/curl -q --output log/4/curl330.out --include --trace-ascii log/4/trace330 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:36813 -H "Cookie: test=yes" --location > log/4/stdout330 2> log/4/stderr330 330: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 330 === Start of file http_server.log 02:01:43.436151 ====> Client connect 02:01:43.436188 accept_connection 3 returned 4 02:01:43.436205 accept_connection 3 returned 0 02:01:43.436220 Read 93 bytes 02:01:43.436231 Process 93 bytes request 02:01:43.436247 Got request: GET /verifiedserver HTTP/1.1 02:01:43.436257 Are-we-friendly question received 02:01:43.436281 Wrote request (93 bytes) input to log/4/server.input 02:01:43.436300 Identifying ourselves as friends 02:01:43.436379 Response sent (56 bytes) and written to log/4/server.response 02:01:43.436392 special request received, no persistency 02:01:43.436402 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 330 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind330 ==94299== ==94299== Process terminating with default action of signal 4 (SIGILL) ==94299== Illegal opcode at address 0x10B08D ==94299== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94299== by 0x10B08D: main (tool_main.c:232) === End of file valgrind330 test 0332...[TFTP retrieve with blksize 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind332 ../src/curl -q --output log/12/curl332.out --include --trace-ascii log/12/trace332 --trace-config all --trace-time tftp://127.0.0.1:59336//332 --tftp-blksize 400 > log/12/stdout332 2> log/12/stderr332 332: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 332 === Start of file server.cmd Testnum 332 === End of file server.cmd === Start of file tftp_server.log 02:01:43.528707 trying to get file: verifiedserver mode 1 02:01:43.528745 Are-we-friendly question received 02:01:43.528761 write 02:01:43.528800 read 02:01:43.541373 read: 4 02:01:43.541448 end of one transfer === End of file tftp_server.log === Start of file valgrind332 ==94326== ==94326== Process terminating with default action of signal 4 (SIGILL) ==94326== Illegal opcode at address 0x10B08D ==94326== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94326== by 0x10B08D: main (tool_main.c:232) === End of file valgrind332 test 0331...[HTTP with cookie using host name 'moo'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind331 ../src/curl -q --output log/5/curl331.out --include --trace-ascii log/5/trace331 --trace-config all --trace-time -x http://127.0.0.1:33361 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/5/stdout331 2> log/5/stderr331 331: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 331 === Start of file http_server.log 02:01:43.548545 ====> Client connect 02:01:43.548587 accept_connection 3 returned 4 02:01:43.548606 accept_connection 3 returned 0 02:01:43.548622 Read 93 bytes 02:01:43.548632 Process 93 bytes request 02:01:43.548648 Got request: GET /verifiedserver HTTP/1.1 02:01:43.548659 Are-we-friendly question received 02:01:43.548691 Wrote request (93 bytes) input to log/5/server.input 02:01:43.548710 Identifying ourselves as friends 02:01:43.548790 Response sent (56 bytes) and written to log/5/server.response 02:01:43.548803 special request received, no persistency 02:01:43.548813 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 331 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind331 ==94350== ==94350== Process terminating with default action of signal 4 (SIGILL) ==94350== Illegal opcode at address 0x10B08D ==94350== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94350== by 0x10B08D: main (tool_main.c:232) === End of file valgrind331 test 0335...[HTTP with proxy Digest and site Digest with creds in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind335 ../src/curl -q --output log/3/curl335.out --include --trace-ascii log/3/trace335 --trace-config all --trace-time http://digest:alot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:34527 --pCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind333 ../src/curl -q --output log/6/curl333.out --include --trace-ascii log/6/trace333 --trace-config all --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/6/stdout333 2> log/6/stderr333 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind334 ../src/curl -q --output log/2/curl334.out --include --trace-ascii log/2/trace334 --trace-config all --trace-time http://127.0.0.1:38781/want/334 > log/2/stdout334 2> log/2/stderr334 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind338 ../src/curl -q --output log/9/curl338.out --include --trace-ascii log/9/trace338 --trace-config all --trace-time http://127.0.0.1:38509/338 --next http://127.0.0.1:38509/338 --anyauth -u foo:moo > log/9/stdout338 2> log/9/stderr338 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind341 ../src/curl -q --output log/10/curl341.out --include --trace-ascii log/10/trace341 --trace-config all --trace-time http://127.0.0.1:42929/341 --etag-compare log/10/etag341 > log/10/stdout341 2> log/10/stderr341 roxy-digest --digest > log/3/stdout335 2> log/3/stderr335 335: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 335 === Start of file http_server.log 02:01:44.102635 ====> Client connect 02:01:44.102672 accept_connection 3 returned 4 02:01:44.102692 accept_connection 3 returned 0 02:01:44.102707 Read 93 bytes 02:01:44.102719 Process 93 bytes request 02:01:44.102735 Got request: GET /verifiedserver HTTP/1.1 02:01:44.102746 Are-we-friendly question received 02:01:44.102773 Wrote request (93 bytes) input to log/3/server.input 02:01:44.102795 Identifying ourselves as friends 02:01:44.102874 Response sent (56 bytes) and written to log/3/server.response 02:01:44.102890 special request received, no persistency 02:01:44.102901 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 335 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind335 ==94521== ==94521== Process terminating with default action of signal 4 (SIGILL) ==94521== Illegal opcode at address 0x10B08D ==94521== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94521== by 0x10B08D: main (tool_main.c:232) === End of file valgrind335 test 0334...[HTTP 204 No content with chunked header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind334 ../src/curl -q --output log/2/curl334.out --include --trace-ascii log/2/trace334 --trace-config all --trace-time http://127.0.0.1:38781/want/334 > log/2/stdout334 2> log/2/stderr334 334: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 334 === Start of file http_server.log 02:01:44.113492 ====> Client connect 02:01:44.113524 accept_connection 3 returned 4 02:01:44.113542 accept_connection 3 returned 0 02:01:44.113557 Read 93 bytes 02:01:44.113567 Process 93 bytes request 02:01:44.113581 Got request: GET /verifiedserver HTTP/1.1 02:01:44.113591 Are-we-friendly question received 02:01:44.113615 Wrote request (93 bytes) input to log/2/server.input 02:01:44.113632 Identifying ourselves as friends 02:01:44.113698 Response sent (56 bytes) and written to log/2/server.response 02:01:44.113710 special request received, no persistency 02:01:44.113719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 334 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind334 ==94523== ==94523== Process terminating with default action of signal 4 (SIGILL) ==94523== Illegal opcode at address 0x10B08D ==94523== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94523== by 0x10B08D: main (tool_main.c:232) === End of file valgrind334 * starts no server test 0333...[Try a non-boolean command line option with --no-] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind333 ../src/curl -q --output log/6/curl333.out --include --trace-ascii log/6/trace333 --trace-config all --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/6/stdout333 2> log/6/stderr333 curl returned 132, when expecting 2 333: exit FAILED == Contents of files in the log/6/ dir after test 333 === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 ==94469== ==94469== Process terminating with default action of signal 4 (SIGILL) ==94469== Illegal opcode at address 0x10B08D ==94469== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94469== by 0x10B08D: main (tool_main.c:232) === End of file valgrind333 test 0338...[ANYAUTH connection reuse of non-authed connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind338 ../src/curl -q --output log/9/curl338.out --include --trace-ascii log/9/trace338 --trace-config all --trace-time http://127.0.0.1:38509/338 --next http://127.0.0.1:38509/338 --anyauth -u foo:moo > log/9/stdout338 2> log/9/stderr338 338: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 338 === Start of file http_server.log 02:01:44.429056 ====> Client connect 02:01:44.429091 accept_connection 3 returned 4 02:01:44.429106 accept_connection 3 returned 0 02:01:44.429120 Read 93 bytes 02:01:44.429131 Process 93 bytes request 02:01:44.429146 Got request: GET /verifiedserver HTTP/1.1 02:01:44.429155 Are-we-friendly question received 02:01:44.429179 Wrote request (93 bytes) input to log/9/server.input 02:01:44.429196 Identifying ourselves as friends 02:01:44.429261 Response sent (56 bytes) and written to log/9/server.response 02:01:44.429273 special request received, no persistency 02:01:44.429282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 338 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind338 ==94734== ==94734== Process terminating with default action of signal 4 (SIGILL) ==94734== Illegal opcode at address 0x10B08D ==94734== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94734== by 0x10B08D: main (tool_main.c:232) === End of file valgrind338 test 0341...[Try to open a non existing file with --etag-compare should return an error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind341 ../src/curl -q --output log/10/curl341.out --include --trace-ascii log/10/trace341 --trace-config all --trace-time http://127.0.0.1:42929/341 --etag-compare log/10/etag341 > log/10/stdout341 2> log/10/stderr341 curl returned 132, when expecting 26 341: exit FAILED == Contents of files in the log/10/ dir after test 341 === Start of file http_server.log 02:01:44.585728 ====> Client connect 02:01:44.58CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind339 ../src/curl -q --output log/11/curl339.out --include --trace-ascii log/11/trace339 --trace-config all --trace-time http://127.0.0.1:44137/339 --etag-save log/11/etag339 > log/11/stdout339 2> log/11/stderr339 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind336 ../src/curl -q --output log/1/curl336.out --include --trace-ascii log/1/trace336 --trace-config all --trace-time ftp://127.0.0.1:44405/336 --range 3-6 > log/1/stdout336 2> log/1/stderr336 5776 accept_connection 3 returned 4 02:01:44.585794 accept_connection 3 returned 0 02:01:44.585809 Read 93 bytes 02:01:44.585820 Process 93 bytes request 02:01:44.585835 Got request: GET /verifiedserver HTTP/1.1 02:01:44.585845 Are-we-friendly question received 02:01:44.585871 Wrote request (93 bytes) input to log/10/server.input 02:01:44.585893 Identifying ourselves as friends 02:01:44.585979 Response sent (56 bytes) and written to log/10/server.response 02:01:44.585994 special request received, no persistency 02:01:44.586004 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 341 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind341 ==94888== ==94888== Process terminating with default action of signal 4 (SIGILL) ==94888== Illegal opcode at address 0x10B08D ==94888== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94888== by 0x10B08D: main (tool_main.c:232) === End of file valgrind341 test 0339...[Check if --etag-save saved correct etag to a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind339 ../src/curl -q --output log/11/curl339.out --include --trace-ascii log/11/trace339 --trace-config all --trace-time http://127.0.0.1:44137/339 --etag-save log/11/etag339 > log/11/stdout339 2> log/11/stderr339 339: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 339 === Start of file http_server.log 02:01:44.470980 ====> Client connect 02:01:44.471009 accept_connection 3 returned 4 02:01:44.471023 accept_connection 3 returned 0 02:01:44.471037 Read 93 bytes 02:01:44.471046 Process 93 bytes request 02:01:44.471060 Got request: GET /verifiedserver HTTP/1.1 02:01:44.471068 Are-we-friendly question received 02:01:44.471089 Wrote request (93 bytes) input to log/11/server.input 02:01:44.471105 Identifying ourselves as friends 02:01:44.471168 Response sent (56 bytes) and written to log/11/server.response 02:01:44.471178 special request received, no persistency 02:01:44.471186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 339 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind339 ==94767== ==94767== Process terminating with default action of signal 4 (SIGILL) ==94767== Illegal opcode at address 0x10B08D ==94767== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94767== by 0x10B08D: main (tool_main.c:232) === End of file valgrind339 test 0336...[FTP range download when SIZE doesn't work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind336 ../src/curl -q --output log/1/curl336.out --include --trace-ascii log/1/trace336 --trace-config all --trace-time ftp://127.0.0.1:44405/336 --range 3-6 > log/1/stdout336 2> log/1/stderr336 336: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 336 === Start of file ftp_server.log 02:01:44.040343 ====> Client connect 02:01:44.040499 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:44.040793 < "USER anonymous" 02:01:44.040829 > "331 We are happy you popped in![CR][LF]" 02:01:44.041124 < "PASS ftp@example.com" 02:01:44.041154 > "230 Welcome you silly person[CR][LF]" 02:01:44.041315 < "PWD" 02:01:44.041347 > "257 "/" is current directory[CR][LF]" 02:01:44.041503 < "EPSV" 02:01:44.041525 ====> Passive DATA channel requested by client 02:01:44.041538 DATA sockfilt for passive data channel starting... 02:01:44.056330 DATA sockfilt for passive data channel started (pid 94611) 02:01:44.056473 DATA sockfilt for passive data channel listens on port 41743 02:01:44.056525 > "229 Entering Passive Mode (|||41743|)[LF]" 02:01:44.056546 Client has been notified that DATA conn will be accepted on port 41743 02:01:44.056866 Client connects to port 41743 02:01:44.056897 ====> Client established passive DATA connection on port 41743 02:01:44.056980 < "TYPE I" 02:01:44.057014 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:44.057198 < "SIZE verifiedserver" 02:01:44.057238 > "213 17[CR][LF]" 02:01:44.057411 < "RETR verifiedserver" 02:01:44.057449 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:44.057535 =====> Closing passive DATA connection... 02:01:44.057555 Server disconnects passive DATA connection 02:01:44.057806 Server disconnected passive DATA connection 02:01:44.057836 DATA sockfilt for passive data channel quits (pid 94611) 02:01:44.058038 DATA sockfilt for passive data channel quit (pid 94611) 02:01:44.058064 =====> Closed passive DATA connection 02:01:44.058087 > "226 File transfer complete[CR][LF]" 02:01:44.102010 < "QUIT" 02:01:44.102059 > "221 bye bye baby[CR][LF]" 02:01:44.103059 MAIN sockfilt said DISC 02:01:44.103172 ====> Client disconnected 02:01:44.103263 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:44.240361 ====> Client connect 02:01:44.240644 Received DATA (on stdin) 02:01:44.240662 > 160 bytes data, server => client 02:01:44.240675 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:44.240686 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:44.240696 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:44.240785 < 16 bytes data, client => server 02:01:44.240800 'USER anonymous\r\n' 02:01:44.240972 Received DATA (on stdin) 02:01:44.240985 > 33 bytes data, server => client 02:01:44.240996 '331 We are happy you popped in!\r\n' 02:01:44.241160 < 22 bytes data, client => server 02:01:44.241174 'PASS ftp@example.com\r\n' 02:01:44.241293 Received DATA (on stdin) 02:01:44.241305 > 30 bytes data, server => client 02:01:44.241316 '230 Welcome you silly person\r\n' 02:01:44.241367 < 5 bytes data, client => server 02:01:44.241380 'PWD\r\n' 02:01:44.241486 Received DATA (on stdin) 02:01:44.241497 > 30 bytes data, server => client 02:01:44.241507 '257 "/" is current directory\r\n' 02:01:44.241563 < 6 bytes data, client => server 02:01:44.241574 'EPSV\r\n' 02:01:44.256703 Received DATA (on stdin) 02:01:44.256722 > 38 bytes data, server => client 02:01:44.256735 '229 Entering Passive Mode (|||41743|)\n' 02:01:44.256920 < 8 bytes data, client => server 02:01:44.256939 'TYPE I\r\n' 02:01:44.257160 Received DATA (on stdin) 02:01:44.257174 > 33 bytes data, server => client 02:01:44.257186 '200 I modify TYPE as you wanted\r\n' 02:01:44.257247 < 21 bytes datCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind340 ../src/curl -q --output log/8/curl340.out --include --trace-ascii log/8/trace340 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:39101/%00first/second/third/340 > log/8/stdout340 2> log/8/stderr340 a, client => server 02:01:44.257263 'SIZE verifiedserver\r\n' 02:01:44.257382 Received DATA (on stdin) 02:01:44.257396 > 8 bytes data, server => client 02:01:44.257407 '213 17\r\n' 02:01:44.257462 < 21 bytes data, client => server 02:01:44.257477 'RETR verifiedserver\r\n' 02:01:44.257698 Received DATA (on stdin) 02:01:44.257712 > 29 bytes data, server => client 02:01:44.257723 '150 Binary junk (17 bytes).\r\n' 02:01:44.258228 Received DATA (on stdin) 02:01:44.258242 > 28 bytes data, server => client 02:01:44.258253 '226 File transfer complete\r\n' 02:01:44.301950 < 6 bytes data, client => server 02:01:44.301989 'QUIT\r\n' 02:01:44.302205 Received DATA (on stdin) 02:01:44.302221 > 18 bytes data, server => client 02:01:44.302233 '221 bye bye baby\r\n' 02:01:44.302428 ====> Client disconnect 02:01:44.303232 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:44.255947 Running IPv4 version 02:01:44.256346 Listening on port 41743 02:01:44.256389 Wrote pid 94611 to log/1/server/ftp_sockdata.pid 02:01:44.256410 Received PING (on stdin) 02:01:44.256510 Received PORT (on stdin) 02:01:44.256960 ====> Client connect 02:01:44.257755 Received DATA (on stdin) 02:01:44.257770 > 17 bytes data, server => client 02:01:44.257782 'WE ROOLZ: 88524\r\n' 02:01:44.257812 Received DISC (on stdin) 02:01:44.257829 ====> Client forcibly disconnected 02:01:44.257984 Received QUIT (on stdin) 02:01:44.257997 quits 02:01:44.258050 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY SIZE 500 no such command Testnum 336 === End of file server.cmd === Start of file valgrind336 ==94658== ==94658== Process terminating with default action of signal 4 (SIGILL) ==94658== Illegal opcode at address 0x10B08D ==94658== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94658== by 0x10B08D: main (tool_main.c:232) === End of file valgrind336 test 0340...[FTP using %00 in path with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind340 ../src/curl -q --output log/8/curl340.out --include --trace-ascii log/8/trace340 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:39101/%00first/second/third/340 > log/8/stdout340 2> log/8/stderr340 340: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 340 === Start of file ftp_server.log 02:01:44.301732 ====> Client connect 02:01:44.301886 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:44.302183 < "USER anonymous" 02:01:44.302221 > "331 We are happy you popped in![CR][LF]" 02:01:44.302401 < "PASS ftp@example.com" 02:01:44.302432 > "230 Welcome you silly person[CR][LF]" 02:01:44.303402 < "PWD" 02:01:44.303437 > "257 "/" is current directory[CR][LF]" 02:01:44.308769 < "EPSV" 02:01:44.308807 ====> Passive DATA channel requested by client 02:01:44.308822 DATA sockfilt for passive data channel starting... 02:01:44.315651 DATA sockfilt for passive data channel started (pid 94780) 02:01:44.315798 DATA sockfilt for passive data channel listens on port 35355 02:01:44.315860 > "229 Entering Passive Mode (|||35355|)[LF]" 02:01:44.315886 Client has been notified that DATA conn will be accepted on port 35355 02:01:44.316227 Client connects to port 35355 02:01:44.316259 ====> Client established passive DATA connection on port 35355 02:01:44.316354 < "TYPE I" 02:01:44.316398 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:44.316610 < "SIZE verifiedserver" 02:01:44.316660 > "213 17[CR][LF]" 02:01:44.316840 < "RETR verifiedserver" 02:01:44.316875 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:44.316958 =====> Closing passive DATA connection... 02:01:44.316975 Server disconnects passive DATA connection 02:01:44.317217 Server disconnected passive DATA connection 02:01:44.317247 DATA sockfilt for passive data channel quits (pid 94780) 02:01:44.317445 DATA sockfilt for passive data channel quit (pid 94780) 02:01:44.317468 =====> Closed passive DATA connection 02:01:44.317494 > "226 File transfer complete[CR][LF]" 02:01:44.365345 < "QUIT" 02:01:44.365404 > "221 bye bye baby[CR][LF]" 02:01:44.366358 MAIN sockfilt said DISC 02:01:44.366402 ====> Client disconnected 02:01:44.366474 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:44.499051 ====> Client connect 02:01:44.502044 Received DATA (on stdin) 02:01:44.502063 > 160 bytes data, server => client 02:01:44.502076 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:44.502088 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:44.502098 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:44.502185 < 16 bytes data, client => server 02:01:44.502199 'USER anonymous\r\n' 02:01:44.502363 Received DATA (on stdin) 02:01:44.502376 > 33 bytes data, server => client 02:01:44.502387 '331 We are happy you popped in!\r\n' 02:01:44.502443 < 22 bytes data, client => server 02:01:44.502456 'PASS ftp@example.com\r\n' 02:01:44.503349 Received DATA (on stdin) 02:01:44.503372 > 30 bytes data, server => client 02:01:44.503384 '230 Welcome you silly person\r\n' 02:01:44.503445 < 5 bytes data, client => server 02:01:44.503456 'PWD\r\n' 02:01:44.508505 Received DATA (on stdin) 02:01:44.508537 > 30 bytes data, server => client 02:01:44.508550 '257 "/" is current directory\r\n' 02:01:44.508710 < 6 bytes data, client => server 02:01:44.508728 'EPSV\r\n' 02:01:44.516042 Received DATA (on stdin) 02:01:44.516061 > 38 bytes data, server => client 02:01:44.516074 '229 Entering Passive Mode (|||35355|)\n' 02:01:44.516306 < 8 bytes data, client => server 02:01:44.516323 'TYPE I\r\n' 02:01:44.516550 Received DATA (on stdin) 02:01:44.516566 > 33 bytes data, server => client 02:01:44.516579 '200 I modify TYPE as you wanted\r\n' 02:01:44.516644 < 21 bytes data, client => server 02:01:44.516662 'SIZE verifiedserver\r\n' 02:01:44.516805 Received DATA (on stdin) 02:01:44.516820 > 8 bytes data, server => client 02:01:44.516831 '213 17\r\n' 02:01:44.516887 < 21 bytes data, client => server 02:01:44.516902 'RETR verifiedserver\r\n' 02:01:44.517213 Received DATA (on stdin) 02:01:44.517226 > 29 bytes data, server => client 02:01:44.517237 '150 Binary junk (17 bytes).\r\n' 02:01:44.517634 Received DATA (on stdin) 02:01:44.517647 > 28 bytes data, server => client 02:01:44.517657 '226 File transfer complete\r\n' 02:01:44.565290 < 6 bytes data, client => server 02:01:44.565332 'QUIT\r\n' 02:01:44.565554 Received DATA (on stdin) 02:01:44.565571 > 18 bytes data, server => client 02:01:44.565583 '221 bye bye baby\r\n' 02:01:44.566438 ====> Client disconnect 02:01:44.566619 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:44.514830 Running IPv4 version 02:01:44.514904 Listening on port 35355 02:01:44.514951 Wrote pid 94780 to log/8/server/ftp_sockdata.pid 02:01:44.515711 Received PING (on stdin) 02:01:44.515834 Received PORT (on stdin) 02:01:44.516272 ====> Client connect 02:01:44.517115 Received DATA (on stdin) 02:01:44.517129 > 17 bytes data, server => client 02:01:44.517140 'WE ROOLZ: 80441\r\n' 02:01:44.517173 Received DISC (on stdin) 02:01:44.517187 ====> Client forcibly disconnected 02:01:44.517396 Received QUIT (on stdin) 02:01:44.517409 quits 02:01:44.517464 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 340 === End of file server.cmd === Start of file valgrind340 ==94848== ==94848== Process terminating with default action of signal 4 (SIGILL) ==94848== Illegal opcode at address 0x10B08D ==94848== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94848== byCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind344 ../src/curl -q --output log/5/curl344.out --include --trace-ascii log/5/trace344 --trace-config all --trace-time http://127.0.0.1:33361/344 --etag-compare log/5/etag344 --etag-save log/5/etag344 > log/5/stdout344 2> log/5/stderr344 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind337 ../src/curl -q --output log/7/curl337.out --include --trace-ascii log/7/trace337 --trace-config all --trace-time ftp://127.0.0.1:41879/337 --range 3-6 > log/7/stdout337 2> log/7/stderr337 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind343 ../src/curl -q --output log/12/curl343.out --include --trace-ascii log/12/trace343 --trace-config all --trace-time http://127.0.0.1:40653/343 --etag-compare log/12/etag343 --etag-save log/12/out343 > log/12/stdout343 2> log/12/stderr343 0x10B08D: main (tool_main.c:232) === End of file valgrind340 test 0344...[Both --etag-compare and -save store new Etag using non-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind344 ../src/curl -q --output log/5/curl344.out --include --trace-ascii log/5/trace344 --trace-config all --trace-time http://127.0.0.1:33361/344 --etag-compare log/5/etag344 --etag-save log/5/etag344 > log/5/stdout344 2> log/5/stderr344 344: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 344 === Start of file http_server.log 02:01:44.850995 ====> Client connect 02:01:44.851032 accept_connection 3 returned 4 02:01:44.851052 accept_connection 3 returned 0 02:01:44.851069 Read 93 bytes 02:01:44.851080 Process 93 bytes request 02:01:44.851096 Got request: GET /verifiedserver HTTP/1.1 02:01:44.851107 Are-we-friendly question received 02:01:44.851133 Wrote request (93 bytes) input to log/5/server.input 02:01:44.851153 Identifying ourselves as friends 02:01:44.851231 Response sent (56 bytes) and written to log/5/server.response 02:01:44.851246 special request received, no persistency 02:01:44.851256 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind344 ==95113== ==95113== Process terminating with default action of signal 4 (SIGILL) ==95113== Illegal opcode at address 0x10B08D ==95113== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95113== by 0x10B08D: main (tool_main.c:232) === End of file valgrind344 test 0337...[FTP range download with SIZE returning extra crap] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind337 ../src/curl -q --output log/7/curl337.out --include --trace-ascii log/7/trace337 --trace-config all --trace-time ftp://127.0.0.1:41879/337 --range 3-6 > log/7/stdout337 2> log/7/stderr337 337: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 337 === Start of file ftp_server.log 02:01:44.229243 ====> Client connect 02:01:44.229379 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:44.230129 < "USER anonymous" 02:01:44.230164 > "331 We are happy you popped in![CR][LF]" 02:01:44.230318 < "PASS ftp@example.com" 02:01:44.230341 > "230 Welcome you silly person[CR][LF]" 02:01:44.237188 < "PWD" 02:01:44.237248 > "257 "/" is current directory[CR][LF]" 02:01:44.237484 < "EPSV" 02:01:44.237514 ====> Passive DATA channel requested by client 02:01:44.237529 DATA sockfilt for passive data channel starting... 02:01:44.248765 DATA sockfilt for passive data channel started (pid 94725) 02:01:44.248880 DATA sockfilt for passive data channel listens on port 36767 02:01:44.248921 > "229 Entering Passive Mode (|||36767|)[LF]" 02:01:44.248937 Client has been notified that DATA conn will be accepted on port 36767 02:01:44.255317 Client connects to port 36767 02:01:44.255388 ====> Client established passive DATA connection on port 36767 02:01:44.255509 < "TYPE I" 02:01:44.255555 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:44.255741 < "SIZE verifiedserver" 02:01:44.255781 > "213 17[CR][LF]" 02:01:44.255936 < "RETR verifiedserver" 02:01:44.255971 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:44.256057 =====> Closing passive DATA connection... 02:01:44.256076 Server disconnects passive DATA connection 02:01:44.256293 Server disconnected passive DATA connection 02:01:44.256319 DATA sockfilt for passive data channel quits (pid 94725) 02:01:44.256589 DATA sockfilt for passive data channel quit (pid 94725) 02:01:44.256610 =====> Closed passive DATA connection 02:01:44.256637 > "226 File transfer complete[CR][LF]" 02:01:44.299100 < "QUIT" 02:01:44.299157 > "221 bye bye baby[CR][LF]" 02:01:44.301195 MAIN sockfilt said DISC 02:01:44.301239 ====> Client disconnected 02:01:44.301385 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:44.429300 ====> Client connect 02:01:44.429533 Received DATA (on stdin) 02:01:44.429548 > 160 bytes data, server => client 02:01:44.429561 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:44.429572 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:44.429581 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:44.429653 < 16 bytes data, client => server 02:01:44.429665 'USER anonymous\r\n' 02:01:44.430304 Received DATA (on stdin) 02:01:44.430317 > 33 bytes data, server => client 02:01:44.430328 '331 We are happy you popped in!\r\n' 02:01:44.430380 < 22 bytes data, client => server 02:01:44.430392 'PASS ftp@example.com\r\n' 02:01:44.430477 Received DATA (on stdin) 02:01:44.430488 > 30 bytes data, server => client 02:01:44.430498 '230 Welcome you silly person\r\n' 02:01:44.435278 < 5 bytes data, client => server 02:01:44.435313 'PWD\r\n' 02:01:44.437397 Received DATA (on stdin) 02:01:44.437416 > 30 bytes data, server => client 02:01:44.437429 '257 "/" is current directory\r\n' 02:01:44.437516 < 6 bytes data, client => server 02:01:44.437532 'EPSV\r\n' 02:01:44.451928 Received DATA (on stdin) 02:01:44.451958 > 38 bytes data, server => client 02:01:44.451973 '229 Entering Passive Mode (|||36767|)\n' 02:01:44.455337 < 8 bytes data, client => server 02:01:44.455368 'TYPE I\r\n' 02:01:44.455701 Received DATA (on stdin) 02:01:44.455717 > 33 bytes data, server => client 02:01:44.455730 '200 I modify TYPE as you wanted\r\n' 02:01:44.455789 < 21 bytes data, client => server 02:01:44.455802 'SIZE verifiedserver\r\n' 02:01:44.455922 Received DATA (on stdin) 02:01:44.455935 > 8 bytes data, server => client 02:01:44.455946 '213 17\r\n' 02:01:44.455994 < 21 bytes data, client => server 02:01:44.456005 'RETR verifiedserver\r\n' 02:01:44.456219 Received DATA (on stdin) 02:01:44.456233 > 29 bytes data, server => client 02:01:44.456245 '150 Binary junk (17 bytes).\r\n' 02:01:44.456776 Received DATA (on stdin) 02:01:44.456789 > 28 bytes data, server => client 02:01:44.456800 '226 File transfer complete\r\n' 02:01:44.498989 < 6 bytes data, client => server 02:01:44.499018 'QUIT\r\n' 02:01:44.499307 Received DATA (on stdin) 02:01:44.499323 > 18 bytes data, server => client 02:01:44.499335 '221 bye bye baby\r\n' 02:01:44.501273 ====> Client disconnect 02:01:44.501419 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:44.444511 Running IPv4 version 02:01:44.444580 Listening on port 36767 02:01:44.444623 Wrote pid 94725 to log/7/server/ftp_sockdata.pid 02:01:44.448837 Received PING (on stdin) 02:01:44.448930 Received PORT (on stdin) 02:01:44.455395 ====> Client connect 02:01:44.456302 Received DATA (on stdin) 02:01:44.456321 > 17 bytes data, server => client 02:01:44.456333 'WE ROOLZ: 80479\r\n' 02:01:44.456365 Received DISC (on stdin) 02:01:44.456378 ====> Client forcibly disconnected 02:01:44.456520 Received QUIT (on stdin) 02:01:44.456535 quCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind342 ../src/curl -q --output log/4/curl342.out --include --trace-ascii log/4/trace342 --trace-config all --trace-time http://127.0.0.1:36813/342 --etag-compare log/4/etag342 > log/4/stdout342 2> log/4/stderr342 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind346 ../src/curl -q --output log/6/curl346.out --include --trace-ascii log/6/trace346 --trace-config all --trace-time -x http://127.0.0.1:39457/346 -U puser: -u suser: http://remote.example/346 > log/6/stdout346 2> log/6/stderr346 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind347 ../src/curl -q --output log/2/curl347.out --include --trace-ascii log/2/trace347 --trace-config all --trace-time http://127.0.0.1:38781/347 --etag-save log/2/etag347 > log/2/stdout347 2> log/2/stderr347 its 02:01:44.456589 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY SIZE 213 file: 213, Size =51 Testnum 337 === End of file server.cmd === Start of file valgrind337 ==94842== ==94842== Process terminating with default action of signal 4 (SIGILL) ==94842== Illegal opcode at address 0x10B08D ==94842== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==94842== by 0x10B08D: main (tool_main.c:232) === End of file valgrind337 test 0343...[Both --etag-compare and --etag-save to save new Etag] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind343 ../src/curl -q --output log/12/curl343.out --include --trace-ascii log/12/trace343 --trace-config all --trace-time http://127.0.0.1:40653/343 --etag-compare log/12/etag343 --etag-save log/12/out343 > log/12/stdout343 2> log/12/stderr343 343: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 343 === Start of file etag343 "21025-dc7-39462498" === End of file etag343 === Start of file http_server.log 02:01:44.795232 ====> Client connect 02:01:44.795270 accept_connection 3 returned 4 02:01:44.795291 accept_connection 3 returned 0 02:01:44.795306 Read 93 bytes 02:01:44.795316 Process 93 bytes request 02:01:44.795332 Got request: GET /verifiedserver HTTP/1.1 02:01:44.795342 Are-we-friendly question received 02:01:44.795364 Wrote request (93 bytes) input to log/12/server.input 02:01:44.795382 Identifying ourselves as friends 02:01:44.795462 Response sent (56 bytes) and written to log/12/server.response 02:01:44.795475 special request received, no persistency 02:01:44.795484 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 343 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind343 ==95067== ==95067== Process terminating with default action of signal 4 (SIGILL) ==95067== Illegal opcode at address 0x10B08D ==95067== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95067== by 0x10B08D: main (tool_main.c:232) === End of file valgrind343 test 0342...[Check if --etag-compare set correct etag in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind342 ../src/curl -q --output log/4/curl342.out --include --trace-ascii log/4/trace342 --trace-config all --trace-time http://127.0.0.1:36813/342 --etag-compare log/4/etag342 > log/4/stdout342 2> log/4/stderr342 342: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 342 === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 02:01:44.743534 ====> Client connect 02:01:44.743572 accept_connection 3 returned 4 02:01:44.743592 accept_connection 3 returned 0 02:01:44.745360 Read 93 bytes 02:01:44.745384 Process 93 bytes request 02:01:44.745401 Got request: GET /verifiedserver HTTP/1.1 02:01:44.745411 Are-we-friendly question received 02:01:44.745444 Wrote request (93 bytes) input to log/4/server.input 02:01:44.745465 Identifying ourselves as friends 02:01:44.745546 Response sent (56 bytes) and written to log/4/server.response 02:01:44.745559 special request received, no persistency 02:01:44.745570 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 342 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind342 ==95029== ==95029== Process terminating with default action of signal 4 (SIGILL) ==95029== Illegal opcode at address 0x10B08D ==95029== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95029== by 0x10B08D: main (tool_main.c:232) === End of file valgrind342 test 0346...[HTTP GET over proxy with credentials using blank passwords] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind346 ../src/curl -q --output log/6/curl346.out --include --trace-ascii log/6/trace346 --trace-config all --trace-time -x http://127.0.0.1:39457/346 -U puser: -u suser: http://remote.example/346 > log/6/stdout346 2> log/6/stderr346 346: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 346 === Start of file http_server.log 02:01:45.672544 ====> Client connect 02:01:45.672581 accept_connection 3 returned 4 02:01:45.672598 accept_connection 3 returned 0 02:01:45.672614 Read 93 bytes 02:01:45.672625 Process 93 bytes request 02:01:45.672641 Got request: GET /verifiedserver HTTP/1.1 02:01:45.672651 Are-we-friendly question received 02:01:45.672678 Wrote request (93 bytes) input to log/6/server.input 02:01:45.672698 Identifying ourselves as friends 02:01:45.672778 Response sent (56 bytes) and written to log/6/server.response 02:01:45.672794 special request received, no persistency 02:01:45.672805 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 346 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind346 ==95349== ==95349== Process terminating with default action of signal 4 (SIGILL) ==95349== Illegal opcode at address 0x10B08D ==95349== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95349== by 0x10B08D: main (tool_main.c:232) === End of file valgrind346 test 0347...[--etag-save with blank incoming header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind347 ../src/curl -q --output log/2/curl347.out --include --trace-ascii log/2/trace347 --trace-config all --trace-time http://127.0.0.1:38781/347 --etag-save log/2/etag347 > log/2/stdout347 2> log/2/stderr347 347: protocol FAILED! There was no content at all in thCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind349 ../src/curl -q --output log/10/curl349.out --include --trace-ascii log/10/trace349 --trace-config all --trace-time http://127.0.0.1:42929/349 --fail-with-body > log/10/stdout349 2> log/10/stderr349 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind348 ../src/curl -q --output log/9/curl348.out --include --trace-ascii log/9/trace348 --trace-config all --trace-time ftp://127.0.0.1:35301/348 -T log/9/test348.txt > log/9/stdout348 2> log/9/stderr348 e file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 347 === Start of file http_server.log 02:01:45.695215 ====> Client connect 02:01:45.695253 accept_connection 3 returned 4 02:01:45.695274 accept_connection 3 returned 0 02:01:45.695292 Read 93 bytes 02:01:45.695304 Process 93 bytes request 02:01:45.695320 Got request: GET /verifiedserver HTTP/1.1 02:01:45.695331 Are-we-friendly question received 02:01:45.695361 Wrote request (93 bytes) input to log/2/server.input 02:01:45.695382 Identifying ourselves as friends 02:01:45.695471 Response sent (56 bytes) and written to log/2/server.response 02:01:45.695487 special request received, no persistency 02:01:45.695497 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 347 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind347 ==95364== ==95364== Process terminating with default action of signal 4 (SIGILL) ==95364== Illegal opcode at address 0x10B08D ==95364== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95364== by 0x10B08D: main (tool_main.c:232) === End of file valgrind347 test 0349...[HTTP GET --fail-with-body on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind349 ../src/curl -q --output log/10/curl349.out --include --trace-ascii log/10/trace349 --trace-config all --trace-time http://127.0.0.1:42929/349 --fail-with-body > log/10/stdout349 2> log/10/stderr349 349: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 349 === Start of file http_server.log 02:01:45.713462 ====> Client connect 02:01:45.713495 accept_connection 3 returned 4 02:01:45.713511 accept_connection 3 returned 0 02:01:45.713643 Read 93 bytes 02:01:45.713657 Process 93 bytes request 02:01:45.713672 Got request: GET /verifiedserver HTTP/1.1 02:01:45.713681 Are-we-friendly question received 02:01:45.713709 Wrote request (93 bytes) input to log/10/server.input 02:01:45.713725 Identifying ourselves as friends 02:01:45.713787 Response sent (56 bytes) and written to log/10/server.response 02:01:45.713798 special request received, no persistency 02:01:45.713807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 349 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind349 ==95356== ==95356== Process terminating with default action of signal 4 (SIGILL) ==95356== Illegal opcode at address 0x10B08D ==95356== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95356== by 0x10B08D: main (tool_main.c:232) === End of file valgrind349 test 0348...[FTP upload file with 552 disk full response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind348 ../src/curl -q --output log/9/curl348.out --include --trace-ascii log/9/trace348 --trace-config all --trace-time ftp://127.0.0.1:35301/348 -T log/9/test348.txt > log/9/stdout348 2> log/9/stderr348 348: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 348 === Start of file ftp_server.log 02:01:45.487294 ====> Client connect 02:01:45.487471 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:45.487806 < "USER anonymous" 02:01:45.487846 > "331 We are happy you popped in![CR][LF]" 02:01:45.488043 < "PASS ftp@example.com" 02:01:45.488076 > "230 Welcome you silly person[CR][LF]" 02:01:45.488255 < "PWD" 02:01:45.488295 > "257 "/" is current directory[CR][LF]" 02:01:45.488494 < "EPSV" 02:01:45.488521 ====> Passive DATA channel requested by client 02:01:45.488536 DATA sockfilt for passive data channel starting... 02:01:45.498602 DATA sockfilt for passive data channel started (pid 95334) 02:01:45.498741 DATA sockfilt for passive data channel listens on port 43385 02:01:45.498795 > "229 Entering Passive Mode (|||43385|)[LF]" 02:01:45.498817 Client has been notified that DATA conn will be accepted on port 43385 02:01:45.499123 Client connects to port 43385 02:01:45.499155 ====> Client established passive DATA connection on port 43385 02:01:45.499246 < "TYPE I" 02:01:45.499283 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:45.499482 < "SIZE verifiedserver" 02:01:45.499523 > "213 17[CR][LF]" 02:01:45.499702 < "RETR verifiedserver" 02:01:45.499745 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:45.499828 =====> Closing passive DATA connection... 02:01:45.499846 Server disconnects passive DATA connection 02:01:45.500097 Server disconnected passive DATA connection 02:01:45.500127 DATA sockfilt for passive data channel quits (pid 95334) 02:01:45.500324 DATA sockfilt for passive data channel quit (pid 95334) 02:01:45.500349 =====> Closed passive DATA connection 02:01:45.500379 > "226 File transfer complete[CR][LF]" 02:01:45.552221 < "QUIT" 02:01:45.552275 > "221 bye bye baby[CR][LF]" 02:01:45.553228 MAIN sockfilt said DISC 02:01:45.553274 ====> Client disconnected 02:01:45.553343 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:45.687305 ====> Client connect 02:01:45.687632 Received DATA (on stdin) 02:01:45.687651 > 160 bytes data, server => client 02:01:45.687664 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:45.687676 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:45.687687 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:45.687782 < 16 bytes data, client => server 02:01:45.687800 'USER anonymous\r\n' 02:01:45.687990 Received DATA (on stdin) 02:01:45.688005 > 33 bytes data, server => client 02:01:45.688021 '331 We are happy you popped in!\r\n' 02:01:45.688083 < 22 bytes data, client => server 02:01:45.688096 'PASS ftp@example.com\r\n' 02:01:45.688218 Received DATA (on stdin) 02:01:45.688231 > 30 bytes data, server => client 02:01:45.688243 '230 Welcome you silly person\r\n' 02:01:45.688299 < 5 bytes data, client => server 02:01:45.688312 'PWD\r\n' 02:01:45.688436 Received DATA (on stdin) 02:01:45.688448 > 30 bytes data, server => client 02:01:45.688458 '257 "/" is current directory\r\n' 02:01:45.688542 < 6 bytes data, client => server 02:01:45.688555 'EPSV\r\n' 02:01:45.698973 Received DATA (on stdin) 02:01:45.698991 > 38 bytes data, server => client 02:01:45.699003 '229 Entering Passive Mode (|||43385|)\n' 02:01:45.699173 < 8 bytes data, client => serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind350 ../src/curl -q --output log/11/curl350.out --include --trace-ascii log/11/trace350 --trace-config all --trace-time ftp://127.0.0.1:45687// --ftp-method multicwd > log/11/stdout350 2> log/11/stderr350 r 02:01:45.699193 'TYPE I\r\n' 02:01:45.699427 Received DATA (on stdin) 02:01:45.699442 > 33 bytes data, server => client 02:01:45.699454 '200 I modify TYPE as you wanted\r\n' 02:01:45.699519 < 21 bytes data, client => server 02:01:45.699534 'SIZE verifiedserver\r\n' 02:01:45.699665 Received DATA (on stdin) 02:01:45.699679 > 8 bytes data, server => client 02:01:45.699689 '213 17\r\n' 02:01:45.699747 < 21 bytes data, client => server 02:01:45.699761 'RETR verifiedserver\r\n' 02:01:45.700096 Received DATA (on stdin) 02:01:45.700110 > 29 bytes data, server => client 02:01:45.700121 '150 Binary junk (17 bytes).\r\n' 02:01:45.700520 Received DATA (on stdin) 02:01:45.700533 > 28 bytes data, server => client 02:01:45.700544 '226 File transfer complete\r\n' 02:01:45.751550 < 6 bytes data, client => server 02:01:45.751580 'QUIT\r\n' 02:01:45.752425 Received DATA (on stdin) 02:01:45.752442 > 18 bytes data, server => client 02:01:45.752453 '221 bye bye baby\r\n' 02:01:45.753239 ====> Client disconnect 02:01:45.753484 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:45.693475 Running IPv4 version 02:01:45.693631 Listening on port 43385 02:01:45.693676 Wrote pid 95334 to log/9/server/ftp_sockdata.pid 02:01:45.698667 Received PING (on stdin) 02:01:45.698778 Received PORT (on stdin) 02:01:45.699215 ====> Client connect 02:01:45.699988 Received DATA (on stdin) 02:01:45.700003 > 17 bytes data, server => client 02:01:45.700015 'WE ROOLZ: 80452\r\n' 02:01:45.700055 Received DISC (on stdin) 02:01:45.700069 ====> Client forcibly disconnected 02:01:45.700277 Received QUIT (on stdin) 02:01:45.700290 quits 02:01:45.700340 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd STOR 552 disk full Testnum 348 === End of file server.cmd === Start of file test348.txt data to see that FTP works so does it? === End of file test348.txt === Start of file valgrind348 ==95398== ==95398== Process terminating with default action of signal 4 (SIGILL) ==95398== Illegal opcode at address 0x10B08D ==95398== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95398== by 0x10B08D: main (tool_main.c:232) === End of file valgrind348 test 0350...[FTP root dir list multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind350 ../src/curl -q --output log/11/curl350.out --include --trace-ascii log/11/trace350 --trace-config all --trace-time ftp://127.0.0.1:45687// --ftp-method multicwd > log/11/stdout350 2> log/11/stderr350 350: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 350 === Start of file ftp_server.log 02:01:45.560559 ====> Client connect 02:01:45.560712 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:45.562077 < "USER anonymous" 02:01:45.562123 > "331 We are happy you popped in![CR][LF]" 02:01:45.562313 < "PASS ftp@example.com" 02:01:45.562345 > "230 Welcome you silly person[CR][LF]" 02:01:45.563667 < "PWD" 02:01:45.563707 > "257 "/" is current directory[CR][LF]" 02:01:45.563877 < "EPSV" 02:01:45.563904 ====> Passive DATA channel requested by client 02:01:45.563918 DATA sockfilt for passive data channel starting... 02:01:45.571357 DATA sockfilt for passive data channel started (pid 95390) 02:01:45.571467 DATA sockfilt for passive data channel listens on port 45351 02:01:45.571503 > "229 Entering Passive Mode (|||45351|)[LF]" 02:01:45.571518 Client has been notified that DATA conn will be accepted on port 45351 02:01:45.575357 Client connects to port 45351 02:01:45.575396 ====> Client established passive DATA connection on port 45351 02:01:45.575482 < "TYPE I" 02:01:45.575517 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:45.575672 < "SIZE verifiedserver" 02:01:45.575709 > "213 17[CR][LF]" 02:01:45.575850 < "RETR verifiedserver" 02:01:45.575883 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:45.575962 =====> Closing passive DATA connection... 02:01:45.575977 Server disconnects passive DATA connection 02:01:45.576204 Server disconnected passive DATA connection 02:01:45.576229 DATA sockfilt for passive data channel quits (pid 95390) 02:01:45.576420 DATA sockfilt for passive data channel quit (pid 95390) 02:01:45.576439 =====> Closed passive DATA connection 02:01:45.576463 > "226 File transfer complete[CR][LF]" 02:01:45.622594 < "QUIT" 02:01:45.622646 > "221 bye bye baby[CR][LF]" 02:01:45.623560 MAIN sockfilt said DISC 02:01:45.623600 ====> Client disconnected 02:01:45.623664 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:45.760574 ====> Client connect 02:01:45.761881 Received DATA (on stdin) 02:01:45.761911 > 160 bytes data, server => client 02:01:45.761925 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:45.761938 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:45.761950 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:45.762048 < 16 bytes data, client => server 02:01:45.762062 'USER anonymous\r\n' 02:01:45.762268 Received DATA (on stdin) 02:01:45.762282 > 33 bytes data, server => client 02:01:45.762293 '331 We are happy you popped in!\r\n' 02:01:45.762351 < 22 bytes data, client => server 02:01:45.762365 'PASS ftp@example.com\r\n' 02:01:45.763615 Received DATA (on stdin) 02:01:45.763633 > 30 bytes data, server => client 02:01:45.763645 '230 Welcome you silly person\r\n' 02:01:45.763707 < 5 bytes data, client => server 02:01:45.763719 'PWD\r\n' 02:01:45.763848 Received DATA (on stdin) 02:01:45.763861 > 30 bytes data, server => client 02:01:45.763872 '257 "/" is current directory\r\n' 02:01:45.763933 < 6 bytes data, client => server 02:01:45.763945 'EPSV\r\n' 02:01:45.775180 Received DATA (on stdin) 02:01:45.775204 > 38 bytes data, server => client 02:01:45.775216 '229 Entering Passive Mode (|||45351|)\n' 02:01:45.775406 < 8 bytes data, client => server 02:01:45.775423 'TYPE I\r\n' 02:01:45.775656 Received DATA (on stdin) 02:01:45.775668 > 33 bytes data, server => client 02:01:45.775679 '200 I modify TYPE as you wanted\r\n' 02:01:45.775733 < 21 bytes data, client => server 02:01:45.775744 'SIZE verifiedserver\r\n' 02:01:45.775846 Received DATA (on stdin) 02:01:45.775857 > 8 bytes data, server => client 02:01:45.775867 '213 17\r\n' 02:01:45.775914 < 21 bytes data, client => server 02:01:45.775925 'RETR verifiedserver\r\n' 02:01:45.776115 Received DATA (on stdin) 02:01:45.776127 > 29 bytes data, server => client 02:01:45.776137 '150 Binary junk (17 bytes).\r\n' 02:01:45.776602 Received DATA (on stdin) 02:01:45.776615 > 28 bytes data, server => client 02:01:45.776626 '226 File transfer complete\r\n' 02:01:45.821061 < 6 bytes data, client => server 02:01:45.821094 'QUIT\r\n' 02:01:45.822792 Received DATA (on stdin) 02:01:45.822809 > 18 bytes data, server => client 02:01:45.822820 '221 bye bye baby\r\n' 02:01:45.823642 ====> Client disconnect 02:01:45.823802 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:45.769412 Running IPv4 version 02:01:45.769465 Listening on port 45351 02:01:45.769500 Wrote pid 95390 to log/11/server/ftp_sockdata.pid 02:01:45.771433 Received PING (on stdin) 02:01:45.771523 Received PORT (on stdin) 02:01:45.775444 ====> Client connect 02:01:45.776170 Received DATA (on stdin) 02:01:45.776184 > 17 bytes data, server => client 02:01:45.776195 'WE ROOLZ: 80480\r\n' 02:01:45.776222 Received DISC (on stdin) 02:01:45.776233 ====> Client forcibly disconnected 02:01:45.776375 Received QUIT (on stdin) 02:01:45.776386 quits 02:01:45.776437 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind345 ../src/curl -q --output log/3/curl345.out --include --trace-ascii log/3/trace345 --trace-config all --trace-time http://127.0.0.1:34527/345 --etag-compare log/3/etag345 --etag-save log/3/etag345 > log/3/stdout345 2> log/3/stderr345 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind352 ../src/curl -q --output log/8/curl352.out --include --trace-ascii log/8/trace352 --trace-config all --trace-time ftp://127.0.0.1:39101// --ftp-method singlecwd > log/8/stdout352 2> log/8/stderr352 rver.cmd === Start of file valgrind350 ==95469== ==95469== Process terminating with default action of signal 4 (SIGILL) ==95469== Illegal opcode at address 0x10B08D ==95469== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95469== by 0x10B08D: main (tool_main.c:232) === End of file valgrind350 test 0345...[Both --etag-compare and -save store new Etag using one pre-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind345 ../src/curl -q --output log/3/curl345.out --include --trace-ascii log/3/trace345 --trace-config all --trace-time http://127.0.0.1:34527/345 --etag-compare log/3/etag345 --etag-save log/3/etag345 > log/3/stdout345 2> log/3/stderr345 345: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 345 === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 02:01:45.602123 ====> Client connect 02:01:45.602194 accept_connection 3 returned 4 02:01:45.602216 accept_connection 3 returned 0 02:01:45.602231 Read 93 bytes 02:01:45.602241 Process 93 bytes request 02:01:45.602257 Got request: GET /verifiedserver HTTP/1.1 02:01:45.602267 Are-we-friendly question received 02:01:45.602295 Wrote request (93 bytes) input to log/3/server.input 02:01:45.602314 Identifying ourselves as friends 02:01:45.602415 Response sent (56 bytes) and written to log/3/server.response 02:01:45.602428 special request received, no persistency 02:01:45.602438 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 345 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind345 ==95283== ==95283== Process terminating with default action of signal 4 (SIGILL) ==95283== Illegal opcode at address 0x10B08D ==95283== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95283== by 0x10B08D: main (tool_main.c:232) === End of file valgrind345 test 0352...[FTP root dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind352 ../src/curl -q --output log/8/curl352.out --include --trace-ascii log/8/trace352 --trace-config all --trace-time ftp://127.0.0.1:39101// --ftp-method singlecwd > log/8/stdout352 2> log/8/stderr352 352: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 352 === Start of file ftp_server.log 02:01:45.754959 ====> Client connect 02:01:45.755134 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:45.755441 < "USER anonymous" 02:01:45.755480 > "331 We are happy you popped in![CR][LF]" 02:01:45.755670 < "PASS ftp@example.com" 02:01:45.755701 > "230 Welcome you silly person[CR][LF]" 02:01:45.755869 < "PWD" 02:01:45.755902 > "257 "/" is current directory[CR][LF]" 02:01:45.756057 < "EPSV" 02:01:45.756081 ====> Passive DATA channel requested by client 02:01:45.756093 DATA sockfilt for passive data channel starting... 02:01:45.763439 DATA sockfilt for passive data channel started (pid 95642) 02:01:45.763571 DATA sockfilt for passive data channel listens on port 39903 02:01:45.763620 > "229 Entering Passive Mode (|||39903|)[LF]" 02:01:45.763639 Client has been notified that DATA conn will be accepted on port 39903 02:01:45.763946 Client connects to port 39903 02:01:45.763980 ====> Client established passive DATA connection on port 39903 02:01:45.764062 < "TYPE I" 02:01:45.764098 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:45.764265 < "SIZE verifiedserver" 02:01:45.764304 > "213 17[CR][LF]" 02:01:45.764445 < "RETR verifiedserver" 02:01:45.764478 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:45.764546 =====> Closing passive DATA connection... 02:01:45.764560 Server disconnects passive DATA connection 02:01:45.764783 Server disconnected passive DATA connection 02:01:45.764811 DATA sockfilt for passive data channel quits (pid 95642) 02:01:45.764997 DATA sockfilt for passive data channel quit (pid 95642) 02:01:45.765017 =====> Closed passive DATA connection 02:01:45.765059 > "226 File transfer complete[CR][LF]" 02:01:45.805397 < "QUIT" 02:01:45.805463 > "221 bye bye baby[CR][LF]" 02:01:45.806475 MAIN sockfilt said DISC 02:01:45.806526 ====> Client disconnected 02:01:45.806589 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:45.955005 ====> Client connect 02:01:45.955292 Received DATA (on stdin) 02:01:45.955309 > 160 bytes data, server => client 02:01:45.955322 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:45.955333 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:45.955343 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:45.955434 < 16 bytes data, client => server 02:01:45.955449 'USER anonymous\r\n' 02:01:45.955624 Received DATA (on stdin) 02:01:45.955637 > 33 bytes data, server => client 02:01:45.955648 '331 We are happy you popped in!\r\n' 02:01:45.955706 < 22 bytes data, client => server 02:01:45.955720 'PASS ftp@example.com\r\n' 02:01:45.955839 Received DATA (on stdin) 02:01:45.955852 > 30 bytes data, server => client 02:01:45.955863 '230 Welcome you silly person\r\n' 02:01:45.955914 < 5 bytes data, client => server 02:01:45.955926 'PWD\r\n' 02:01:45.956041 Received DATA (on stdin) 02:01:45.956051 > 30 bytes data, server => client 02:01:45.956062 '257 "/" is current directory\r\n' 02:01:45.956117 < 6 bytes data, client => server 02:01:45.956128 'EPSV\r\n' 02:01:45.963790 Received DATA (on stdin) 02:01:45.963806 > 38 bytes data, server => client 02:01:45.963817 '229 Entering Passive Mode (|||39903|)\n' 02:01:45.964028 < 8 bytes data, client => server 02:01:45.964042 'TYPE I\r\n' 02:01:45.964237 Received DATA (on stdin) 02:01:45.964249 > 33 bytes data, server => client 02:01:45.964259 '200 I modify TYPE as you wanted\r\n' 02:01:45.964317 < 21 bytes data, client => server 02:01:45.964328 'SIZE verifiedserver\r\n' 02:01:45.964442 Received DATA (on stdin) 02:01:45.964452 > 8 bytes data, server => client 02:01:45.964461 '213 17\r\n' 02:01:45.964509 < 21 bytes data, client => server 02:01:45.964519 'RETR verifiedserver\r\n' 02:01:45.964790 Received DATA (on stdin) 02:01:45.964803 > 29 bytes data, server => client 02:01:45.964813 '150 Binary junk (17 bytes).\r\n' 02:01:45.965200 Received DATA (on stdin) 02:01:45.965213 > 28 bytes data, server => client 02:01:45.965222 '226 File transfer complete\r\n' 02:01:46.005379 < 6 bytes data, client => server 02:01:46.005405 'QUIT\r\n' 02:01:46.005610 Received DATA (on stdin) 02:01:46.005625 > 18 bytes data, server => client 02:01:46.005641 '221 bye bye baby\r\n' 02:01:46.006243 ====> Client disconnect 02:01:46.006729 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:45.963221 Running IPv4 version 02:01:45.963288 Listening on port 39903 02:01:45.963324 Wrote pid 95642 to log/8/server/ftp_sockdata.pid 02:01:45.963515 Received PING (on stdin) 02:01:45.963615 Received PORT (on stdin) 02:01:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind351 ../src/curl -q --output log/1/curl351.out --include --trace-ascii log/1/trace351 --trace-config all --trace-time ftp://127.0.0.1:44405// --ftp-method nocwd > log/1/stdout351 2> log/1/stderr351 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind355 ../src/curl -q --output log/12/curl355.out --include --trace-ascii log/12/trace355 --trace-config all --trace-time http://127.0.0.1:40653/355 --alt-svc "" > log/12/stdout355 2> log/12/stderr355 45.963998 ====> Client connect 02:01:45.964699 Received DATA (on stdin) 02:01:45.964712 > 17 bytes data, server => client 02:01:45.964723 'WE ROOLZ: 80441\r\n' 02:01:45.964753 Received DISC (on stdin) 02:01:45.964766 ====> Client forcibly disconnected 02:01:45.964958 Received QUIT (on stdin) 02:01:45.964970 quits 02:01:45.965016 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 ==95666== ==95666== Process terminating with default action of signal 4 (SIGILL) ==95666== Illegal opcode at address 0x10B08D ==95666== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95666== by 0x10B08D: main (tool_main.c:232) === End of file valgrind352 test 0351...[FTP root dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind351 ../src/curl -q --output log/1/curl351.out --include --trace-ascii log/1/trace351 --trace-config all --trace-time ftp://127.0.0.1:44405// --ftp-method nocwd > log/1/stdout351 2> log/1/stderr351 351: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 351 === Start of file ftp_server.log 02:01:45.737388 ====> Client connect 02:01:45.737585 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:45.740523 < "USER anonymous" 02:01:45.740566 > "331 We are happy you popped in![CR][LF]" 02:01:45.745643 < "PASS ftp@example.com" 02:01:45.745696 > "230 Welcome you silly person[CR][LF]" 02:01:45.745917 < "PWD" 02:01:45.745961 > "257 "/" is current directory[CR][LF]" 02:01:45.746153 < "EPSV" 02:01:45.746184 ====> Passive DATA channel requested by client 02:01:45.746197 DATA sockfilt for passive data channel starting... 02:01:45.756431 DATA sockfilt for passive data channel started (pid 95635) 02:01:45.756577 DATA sockfilt for passive data channel listens on port 33817 02:01:45.756635 > "229 Entering Passive Mode (|||33817|)[LF]" 02:01:45.756657 Client has been notified that DATA conn will be accepted on port 33817 02:01:45.757919 Client connects to port 33817 02:01:45.757956 ====> Client established passive DATA connection on port 33817 02:01:45.758136 < "TYPE I" 02:01:45.758178 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:45.758387 < "SIZE verifiedserver" 02:01:45.758433 > "213 17[CR][LF]" 02:01:45.758595 < "RETR verifiedserver" 02:01:45.758630 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:45.758720 =====> Closing passive DATA connection... 02:01:45.758736 Server disconnects passive DATA connection 02:01:45.764217 Server disconnected passive DATA connection 02:01:45.764267 DATA sockfilt for passive data channel quits (pid 95635) 02:01:45.764600 DATA sockfilt for passive data channel quit (pid 95635) 02:01:45.764632 =====> Closed passive DATA connection 02:01:45.764668 > "226 File transfer complete[CR][LF]" 02:01:45.802941 < "QUIT" 02:01:45.802993 > "221 bye bye baby[CR][LF]" 02:01:45.803757 MAIN sockfilt said DISC 02:01:45.803801 ====> Client disconnected 02:01:45.803872 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:45.937335 ====> Client connect 02:01:45.937742 Received DATA (on stdin) 02:01:45.937760 > 160 bytes data, server => client 02:01:45.937773 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:45.937785 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:45.937795 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:45.939275 < 16 bytes data, client => server 02:01:45.939294 'USER anonymous\r\n' 02:01:45.945451 Received DATA (on stdin) 02:01:45.945481 > 33 bytes data, server => client 02:01:45.945494 '331 We are happy you popped in!\r\n' 02:01:45.945587 < 22 bytes data, client => server 02:01:45.945603 'PASS ftp@example.com\r\n' 02:01:45.945846 Received DATA (on stdin) 02:01:45.945861 > 30 bytes data, server => client 02:01:45.945872 '230 Welcome you silly person\r\n' 02:01:45.945944 < 5 bytes data, client => server 02:01:45.945957 'PWD\r\n' 02:01:45.946103 Received DATA (on stdin) 02:01:45.946114 > 30 bytes data, server => client 02:01:45.946124 '257 "/" is current directory\r\n' 02:01:45.946195 < 6 bytes data, client => server 02:01:45.946206 'EPSV\r\n' 02:01:45.957751 Received DATA (on stdin) 02:01:45.957777 > 38 bytes data, server => client 02:01:45.957789 '229 Entering Passive Mode (|||33817|)\n' 02:01:45.957970 < 8 bytes data, client => server 02:01:45.957987 'TYPE I\r\n' 02:01:45.958322 Received DATA (on stdin) 02:01:45.958337 > 33 bytes data, server => client 02:01:45.958348 '200 I modify TYPE as you wanted\r\n' 02:01:45.958419 < 21 bytes data, client => server 02:01:45.958431 'SIZE verifiedserver\r\n' 02:01:45.958573 Received DATA (on stdin) 02:01:45.958585 > 8 bytes data, server => client 02:01:45.958595 '213 17\r\n' 02:01:45.958648 < 21 bytes data, client => server 02:01:45.958659 'RETR verifiedserver\r\n' 02:01:45.958877 Received DATA (on stdin) 02:01:45.958890 > 29 bytes data, server => client 02:01:45.958900 '150 Binary junk (17 bytes).\r\n' 02:01:45.964820 Received DATA (on stdin) 02:01:45.964838 > 28 bytes data, server => client 02:01:45.964848 '226 File transfer complete\r\n' 02:01:46.002888 < 6 bytes data, client => server 02:01:46.002922 'QUIT\r\n' 02:01:46.003139 Received DATA (on stdin) 02:01:46.003153 > 18 bytes data, server => client 02:01:46.003165 '221 bye bye baby\r\n' 02:01:46.003838 ====> Client disconnect 02:01:46.004012 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:45.952470 Running IPv4 version 02:01:45.952542 Listening on port 33817 02:01:45.952577 Wrote pid 95635 to log/1/server/ftp_sockdata.pid 02:01:45.956491 Received PING (on stdin) 02:01:45.956610 Received PORT (on stdin) 02:01:45.958007 ====> Client connect 02:01:45.958956 Received DATA (on stdin) 02:01:45.958972 > 17 bytes data, server => client 02:01:45.958983 'WE ROOLZ: 88524\r\n' 02:01:45.959013 Received DISC (on stdin) 02:01:45.959025 ====> Client forcibly disconnected 02:01:45.964429 Received QUIT (on stdin) 02:01:45.964445 quits 02:01:45.964501 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 ==95665== ==95665== Process terminating with default action of signal 4 (SIGILL) ==95665== Illegal opcode at address 0x10B08D ==95665== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95665== by 0x10B08D: main (tool_main.c:232) === End of file valgrind351 test 0355...[load Alt-Svc from file and use] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind355 ../src/curl -q --output log/12/curl355.out --include --trace-ascii log/12/trace355 --trace-config all --trace-time http://127.0.0.1:40653/355 --alt-svc "" > log/12/stdout355 2> log/12/stderr355 355: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 355 === Start of file altsvc-355 h1 example.com 80 h1 127.0.0.1 40653 "20290222 22:19:28" 0 0 === End of file altsvc-355 === Start of file http_server.log 02:01:46.182187 ====> Client connect 02:01:46.182221 accept_connection 3 returned 4 02:01:46.182237 accept_connection 3 returned 0 02:01:46.182251 Read 93 bytes 02:01:46.182260 Process 93 bytes request 02:01:46.182274 Got request: GET /verifiedserver HTTP/1.1 02:01:46.182283 Are-we-friendly question received 02:01:46.182305 Wrote request (93 bytes) input to log/12/server.input 02:01:46.182323 Identifying ourselves as friends CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind353 ../src/curl -q --output log/5/curl353.out --include --trace-ascii log/5/trace353 --trace-config all --trace-time ftp://127.0.0.1:36485/ --ftp-method singlecwd > log/5/stdout353 2> log/5/stderr353 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind354 ../src/curl -q --output log/7/curl354.out --include --trace-ascii log/7/trace354 --trace-config all --trace-time ftp://127.0.0.1:41879/354 > log/7/stdout354 2> log/7/stderr354 02:01:46.182400 Response sent (56 bytes) and written to log/12/server.response 02:01:46.182413 special request received, no persistency 02:01:46.182422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 355 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind355 ==95827== ==95827== Process terminating with default action of signal 4 (SIGILL) ==95827== Illegal opcode at address 0x10B08D ==95827== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95827== by 0x10B08D: main (tool_main.c:232) === End of file valgrind355 test 0353...[FTP home dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind353 ../src/curl -q --output log/5/curl353.out --include --trace-ascii log/5/trace353 --trace-config all --trace-time ftp://127.0.0.1:36485/ --ftp-method singlecwd > log/5/stdout353 2> log/5/stderr353 353: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 353 === Start of file ftp_server.log 02:01:45.969453 ====> Client connect 02:01:45.969620 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:45.970008 < "USER anonymous" 02:01:45.970056 > "331 We are happy you popped in![CR][LF]" 02:01:45.970257 < "PASS ftp@example.com" 02:01:45.970291 > "230 Welcome you silly person[CR][LF]" 02:01:45.970460 < "PWD" 02:01:45.970494 > "257 "/" is current directory[CR][LF]" 02:01:45.970667 < "EPSV" 02:01:45.970696 ====> Passive DATA channel requested by client 02:01:45.970709 DATA sockfilt for passive data channel starting... 02:01:45.981962 DATA sockfilt for passive data channel started (pid 95790) 02:01:45.983966 DATA sockfilt for passive data channel listens on port 42369 02:01:45.984030 > "229 Entering Passive Mode (|||42369|)[LF]" 02:01:45.984049 Client has been notified that DATA conn will be accepted on port 42369 02:01:45.985038 Client connects to port 42369 02:01:45.985077 ====> Client established passive DATA connection on port 42369 02:01:45.985169 < "TYPE I" 02:01:45.985206 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:45.993222 < "SIZE verifiedserver" 02:01:45.993279 > "213 17[CR][LF]" 02:01:45.993455 < "RETR verifiedserver" 02:01:45.993490 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:45.993575 =====> Closing passive DATA connection... 02:01:45.993590 Server disconnects passive DATA connection 02:01:46.004186 Server disconnected passive DATA connection 02:01:46.004248 DATA sockfilt for passive data channel quits (pid 95790) 02:01:46.004469 DATA sockfilt for passive data channel quit (pid 95790) 02:01:46.004495 =====> Closed passive DATA connection 02:01:46.004534 > "226 File transfer complete[CR][LF]" 02:01:46.046476 < "QUIT" 02:01:46.046523 > "221 bye bye baby[CR][LF]" 02:01:46.050166 MAIN sockfilt said DISC 02:01:46.050299 ====> Client disconnected 02:01:46.050375 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:45.169463 ====> Client connect 02:01:45.169775 Received DATA (on stdin) 02:01:45.169795 > 160 bytes data, server => client 02:01:45.169809 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:45.169821 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:45.169831 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:45.169958 < 16 bytes data, client => server 02:01:45.169975 'USER anonymous\r\n' 02:01:45.170201 Received DATA (on stdin) 02:01:45.170216 > 33 bytes data, server => client 02:01:45.170228 '331 We are happy you popped in!\r\n' 02:01:45.170288 < 22 bytes data, client => server 02:01:45.170302 'PASS ftp@example.com\r\n' 02:01:45.170434 Received DATA (on stdin) 02:01:45.170447 > 30 bytes data, server => client 02:01:45.170458 '230 Welcome you silly person\r\n' 02:01:45.170511 < 5 bytes data, client => server 02:01:45.170524 'PWD\r\n' 02:01:45.170634 Received DATA (on stdin) 02:01:45.170647 > 30 bytes data, server => client 02:01:45.170658 '257 "/" is current directory\r\n' 02:01:45.170719 < 6 bytes data, client => server 02:01:45.170732 'EPSV\r\n' 02:01:45.184906 Received DATA (on stdin) 02:01:45.184928 > 38 bytes data, server => client 02:01:45.184941 '229 Entering Passive Mode (|||42369|)\n' 02:01:45.185082 < 8 bytes data, client => server 02:01:45.185098 'TYPE I\r\n' 02:01:45.185593 Received DATA (on stdin) 02:01:45.185614 > 33 bytes data, server => client 02:01:45.185627 '200 I modify TYPE as you wanted\r\n' 02:01:45.191016 < 21 bytes data, client => server 02:01:45.191041 'SIZE verifiedserver\r\n' 02:01:45.193424 Received DATA (on stdin) 02:01:45.193439 > 8 bytes data, server => client 02:01:45.193450 '213 17\r\n' 02:01:45.193516 < 21 bytes data, client => server 02:01:45.193528 'RETR verifiedserver\r\n' 02:01:45.194294 Received DATA (on stdin) 02:01:45.194314 > 29 bytes data, server => client 02:01:45.194325 '150 Binary junk (17 bytes).\r\n' 02:01:45.204687 Received DATA (on stdin) 02:01:45.204736 > 28 bytes data, server => client 02:01:45.204749 '226 File transfer complete\r\n' 02:01:45.245175 < 6 bytes data, client => server 02:01:45.245200 'QUIT\r\n' 02:01:45.246669 Received DATA (on stdin) 02:01:45.246684 > 18 bytes data, server => client 02:01:45.246696 '221 bye bye baby\r\n' 02:01:45.250247 ====> Client disconnect 02:01:45.250517 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:45.179175 Running IPv4 version 02:01:45.179240 Listening on port 42369 02:01:45.179277 Wrote pid 95790 to log/5/server/ftp_sockdata.pid 02:01:45.182033 Received PING (on stdin) 02:01:45.182129 Received PORT (on stdin) 02:01:45.185117 ====> Client connect 02:01:45.204063 Received DATA (on stdin) 02:01:45.204104 > 17 bytes data, server => client 02:01:45.204118 'WE ROOLZ: 80534\r\n' 02:01:45.204169 Received DISC (on stdin) 02:01:45.204184 ====> Client forcibly disconnected 02:01:45.204403 Received QUIT (on stdin) 02:01:45.204415 quits 02:01:45.204466 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 ==95867== ==95867== Process terminating with default action of signal 4 (SIGILL) ==95867== Illegal opcode at address 0x10B08D ==95867== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95867== by 0x10B08D: main (tool_main.c:232) === End of file valgrind353 test 0354...[FTP without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind354 ../src/curl -q --output log/7/curl354.out --include --trace-ascii log/7/trace354 --trace-config all --trace-time ftp://127.0.0.1:41879/354 > log/7/stdout354 2> log/7/stderr354 354: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 354 === Start of file ftp_server.log 02:01:45.980497 ====> Client connect 02:01:45.980664 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind357 ../src/curl -q --output log/4/curl357.out --include --trace-ascii log/4/trace357 --trace-config all --trace-time http://127.0.0.1:36813/we/want/357 -T log/4/test357.txt --expect100-timeout 99 > log/4/stdout357 2> log/4/stderr357 | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:45.985355 < "USER anonymous" 02:01:45.985404 > "331 We are happy you popped in![CR][LF]" 02:01:45.985612 < "PASS ftp@example.com" 02:01:45.985653 > "230 Welcome you silly person[CR][LF]" 02:01:45.985863 < "PWD" 02:01:45.985903 > "257 "/" is current directory[CR][LF]" 02:01:45.986097 < "EPSV" 02:01:45.986122 ====> Passive DATA channel requested by client 02:01:45.986135 DATA sockfilt for passive data channel starting... 02:01:45.992629 DATA sockfilt for passive data channel started (pid 95806) 02:01:45.992765 DATA sockfilt for passive data channel listens on port 41657 02:01:45.992812 > "229 Entering Passive Mode (|||41657|)[LF]" 02:01:45.992829 Client has been notified that DATA conn will be accepted on port 41657 02:01:45.993121 Client connects to port 41657 02:01:45.993155 ====> Client established passive DATA connection on port 41657 02:01:45.993238 < "TYPE I" 02:01:45.993273 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:45.993452 < "SIZE verifiedserver" 02:01:45.993493 > "213 17[CR][LF]" 02:01:45.993654 < "RETR verifiedserver" 02:01:45.993689 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:45.993762 =====> Closing passive DATA connection... 02:01:45.993778 Server disconnects passive DATA connection 02:01:45.994006 Server disconnected passive DATA connection 02:01:45.994033 DATA sockfilt for passive data channel quits (pid 95806) 02:01:45.994224 DATA sockfilt for passive data channel quit (pid 95806) 02:01:45.994245 =====> Closed passive DATA connection 02:01:45.994273 > "226 File transfer complete[CR][LF]" 02:01:46.044147 < "QUIT" 02:01:46.044202 > "221 bye bye baby[CR][LF]" 02:01:46.052302 MAIN sockfilt said DISC 02:01:46.052352 ====> Client disconnected 02:01:46.052413 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:46.171256 ====> Client connect 02:01:46.185173 Received DATA (on stdin) 02:01:46.185203 > 160 bytes data, server => client 02:01:46.185217 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:46.185228 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:46.185239 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:46.185336 < 16 bytes data, client => server 02:01:46.185352 'USER anonymous\r\n' 02:01:46.185547 Received DATA (on stdin) 02:01:46.185561 > 33 bytes data, server => client 02:01:46.185572 '331 We are happy you popped in!\r\n' 02:01:46.185635 < 22 bytes data, client => server 02:01:46.185650 'PASS ftp@example.com\r\n' 02:01:46.185801 Received DATA (on stdin) 02:01:46.185817 > 30 bytes data, server => client 02:01:46.185829 '230 Welcome you silly person\r\n' 02:01:46.185894 < 5 bytes data, client => server 02:01:46.185913 'PWD\r\n' 02:01:46.186048 Received DATA (on stdin) 02:01:46.186063 > 30 bytes data, server => client 02:01:46.186075 '257 "/" is current directory\r\n' 02:01:46.186144 < 6 bytes data, client => server 02:01:46.186161 'EPSV\r\n' 02:01:46.192984 Received DATA (on stdin) 02:01:46.193001 > 38 bytes data, server => client 02:01:46.193014 '229 Entering Passive Mode (|||41657|)\n' 02:01:46.193178 < 8 bytes data, client => server 02:01:46.193195 'TYPE I\r\n' 02:01:46.193414 Received DATA (on stdin) 02:01:46.193427 > 33 bytes data, server => client 02:01:46.193438 '200 I modify TYPE as you wanted\r\n' 02:01:46.193499 < 21 bytes data, client => server 02:01:46.193512 'SIZE verifiedserver\r\n' 02:01:46.193635 Received DATA (on stdin) 02:01:46.193647 > 8 bytes data, server => client 02:01:46.193658 '213 17\r\n' 02:01:46.193711 < 21 bytes data, client => server 02:01:46.193723 'RETR verifiedserver\r\n' 02:01:46.193917 Received DATA (on stdin) 02:01:46.193929 > 29 bytes data, server => client 02:01:46.193940 '150 Binary junk (17 bytes).\r\n' 02:01:46.194413 Received DATA (on stdin) 02:01:46.194426 > 28 bytes data, server => client 02:01:46.194436 '226 File transfer complete\r\n' 02:01:46.243943 < 6 bytes data, client => server 02:01:46.244108 'QUIT\r\n' 02:01:46.244351 Received DATA (on stdin) 02:01:46.244365 > 18 bytes data, server => client 02:01:46.244377 '221 bye bye baby\r\n' 02:01:46.245147 ====> Client disconnect 02:01:46.252557 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:45.192430 Running IPv4 version 02:01:45.192499 Listening on port 41657 02:01:45.192533 Wrote pid 95806 to log/7/server/ftp_sockdata.pid 02:01:45.192706 Received PING (on stdin) 02:01:45.192808 Received PORT (on stdin) 02:01:45.193214 ====> Client connect 02:01:45.193968 Received DATA (on stdin) 02:01:45.193981 > 17 bytes data, server => client 02:01:45.193992 'WE ROOLZ: 80479\r\n' 02:01:45.194021 Received DISC (on stdin) 02:01:45.194033 ====> Client forcibly disconnected 02:01:45.194180 Received QUIT (on stdin) 02:01:45.194192 quits 02:01:45.194242 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 200 fine, proceed without password Testnum 354 === End of file server.cmd === Start of file valgrind354 ==95929== ==95929== Process terminating with default action of signal 4 (SIGILL) ==95929== Illegal opcode at address 0x10B08D ==95929== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95929== by 0x10B08D: main (tool_main.c:232) === End of file valgrind354 test 0357...[HTTP PUT with Expect: 100-continue and 417 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind357 ../src/curl -q --output log/4/curl357.out --include --trace-ascii log/4/trace357 --trace-config all --trace-time http://127.0.0.1:36813/we/want/357 -T log/4/test357.txt --expect100-timeout 99 > log/4/stdout357 2> log/4/stderr357 357: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 357 === Start of file http_server.log 02:01:46.202295 ====> Client connect 02:01:46.202332 accept_connection 3 returned 4 02:01:46.202349 accept_connection 3 returned 0 02:01:46.202364 Read 93 bytes 02:01:46.202375 Process 93 bytes request 02:01:46.202390 Got request: GET /verifiedserver HTTP/1.1 02:01:46.202400 Are-we-friendly question received 02:01:46.202423 Wrote request (93 bytes) input to log/4/server.input 02:01:46.202439 Identifying ourselves as friends 02:01:46.202515 Response sent (56 bytes) and written to log/4/server.response 02:01:46.202528 special request received, no persistency 02:01:46.202538 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd no-expect Testnum 357 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind360 ../src/curl -q --output log/6/curl360.out --include --trace-ascii log/6/trace360 --trace-config all --trace-time http://127.0.0.1:39457/360 --fail-with-body --fail > log/6/stdout360 2> log/6/stderr360 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind366 ../src/curl -q --output log/11/curl366.out --include --trace-ascii log/11/trace366 --trace-config all --trace-time http://127.0.0.1:44137/366 --retry 2 --retry-max-time 10 > log/11/stdout366 2> log/11/stderr366 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 ==95838== ==95838== Process terminating with default action of signal 4 (SIGILL) ==95838== Illegal opcode at address 0x10B08D ==95838== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==95838== by 0x10B08D: main (tool_main.c:232) === End of file valgrind357 test 0360...[Error on both --fail-with-body and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind360 ../src/curl -q --output log/6/curl360.out --include --trace-ascii log/6/trace360 --trace-config all --trace-time http://127.0.0.1:39457/360 --fail-with-body --fail > log/6/stdout360 2> log/6/stderr360 curl returned 132, when expecting 2 360: exit FAILED == Contents of files in the log/6/ dir after test 360 === Start of file http_server.log 02:01:46.830589 ====> Client connect 02:01:46.830621 accept_connection 3 returned 4 02:01:46.830637 accept_connection 3 returned 0 02:01:46.830651 Read 93 bytes 02:01:46.830661 Process 93 bytes request 02:01:46.830675 Got request: GET /verifiedserver HTTP/1.1 02:01:46.830684 Are-we-friendly question received 02:01:46.830707 Wrote request (93 bytes) input to log/6/server.input 02:01:46.830722 Identifying ourselves as friends 02:01:46.830784 Response sent (56 bytes) and written to log/6/server.response 02:01:46.830795 special request received, no persistency 02:01:46.830804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 360 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind360 ==96086== ==96086== Process terminating with default action of signal 4 (SIGILL) ==96086== Illegal opcode at address 0x10B08D ==96086== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96086== by 0x10B08D: main (tool_main.c:232) === End of file valgrind360 test 0366...[HTTP --retry-max-time with too long Retry-After] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind366 ../src/curl -q --output log/11/curl366.out --include --trace-ascii log/11/trace366 --trace-config all --trace-time http://127.0.0.1:44137/366 --retry 2 --retry-max-time 10 > log/11/stdout366 2> log/11/stderr366 366: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 366 === Start of file http_server.log 02:01:47.131882 ====> Client connect 02:01:47.131918 accept_connection 3 returned 4 02:01:47.131935 accept_connection 3 returned 0 02:01:47.131951 Read 93 bytes 02:01:47.131962 Process 93 bytes request 02:01:47.131977 Got request: GET /verifiedserver HTTP/1.1 02:01:47.131986 Are-we-friendly question received 02:01:47.132009 Wrote request (93 bytes) input to log/11/server.input 02:01:47.132026 Identifying ourselves as friends 02:01:47.132099 Response sent (56 bytes) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind362 ../src/curl -q --output log/10/curl362.out --include --trace-ascii log/10/trace362 --trace-config all --trace-time ftp://127.0.0.1:42661/362 -T log/10/test362.txt --continue-at - > log/10/stdout362 2> log/10/stderr362 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind361 ../src/curl -q --output log/2/curl361.out --include --trace-ascii log/2/trace361 --trace-config all --trace-time http://127.0.0.1:38781/361 http://127.0.0.1:38781/361 --fail-with-body > log/2/stdout361 2> log/2/stderr361 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind365 ../src/curl -q --output log/9/curl365.out --include --trace-ascii log/9/trace365 --trace-config all --trace-time http://127.0.0.1:38509/365 > log/9/stdout365 2> log/9/stderr365 and written to log/11/server.response 02:01:47.132111 special request received, no persistency 02:01:47.132120 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 366 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind366 ==96257== ==96257== Process terminating with default action of signal 4 (SIGILL) ==96257== Illegal opcode at address 0x10B08D ==96257== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96257== by 0x10B08D: main (tool_main.c:232) === End of file valgrind366 test 0362...[FTP resume upload file with nothing to start from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind362 ../src/curl -q --output log/10/curl362.out --include --trace-ascii log/10/trace362 --trace-config all --trace-time ftp://127.0.0.1:42661/362 -T log/10/test362.txt --continue-at - > log/10/stdout362 2> log/10/stderr362 362: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 362 === Start of file ftp_server.log 02:01:46.688516 ====> Client connect 02:01:46.688663 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:46.694057 < "USER anonymous" 02:01:46.694105 > "331 We are happy you popped in![CR][LF]" 02:01:46.695112 < "PASS ftp@example.com" 02:01:46.695150 > "230 Welcome you silly person[CR][LF]" 02:01:46.695322 < "PWD" 02:01:46.695357 > "257 "/" is current directory[CR][LF]" 02:01:46.695514 < "EPSV" 02:01:46.695538 ====> Passive DATA channel requested by client 02:01:46.695551 DATA sockfilt for passive data channel starting... 02:01:46.715295 DATA sockfilt for passive data channel started (pid 96115) 02:01:46.715450 DATA sockfilt for passive data channel listens on port 46399 02:01:46.715513 > "229 Entering Passive Mode (|||46399|)[LF]" 02:01:46.715535 Client has been notified that DATA conn will be accepted on port 46399 02:01:46.715915 Client connects to port 46399 02:01:46.715949 ====> Client established passive DATA connection on port 46399 02:01:46.716042 < "TYPE I" 02:01:46.716082 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:46.716292 < "SIZE verifiedserver" 02:01:46.716338 > "213 17[CR][LF]" 02:01:46.716525 < "RETR verifiedserver" 02:01:46.716566 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:46.716663 =====> Closing passive DATA connection... 02:01:46.716683 Server disconnects passive DATA connection 02:01:46.716968 Server disconnected passive DATA connection 02:01:46.717002 DATA sockfilt for passive data channel quits (pid 96115) 02:01:46.717236 DATA sockfilt for passive data channel quit (pid 96115) 02:01:46.717266 =====> Closed passive DATA connection 02:01:46.717295 > "226 File transfer complete[CR][LF]" 02:01:46.761795 < "QUIT" 02:01:46.761859 > "221 bye bye baby[CR][LF]" 02:01:46.763017 MAIN sockfilt said DISC 02:01:46.763059 ====> Client disconnected 02:01:46.763137 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:46.888531 ====> Client connect 02:01:46.891840 Received DATA (on stdin) 02:01:46.891866 > 160 bytes data, server => client 02:01:46.891879 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:46.891892 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:46.891903 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:46.894028 < 16 bytes data, client => server 02:01:46.894048 'USER anonymous\r\n' 02:01:46.894246 Received DATA (on stdin) 02:01:46.894258 > 33 bytes data, server => client 02:01:46.894269 '331 We are happy you popped in!\r\n' 02:01:46.894328 < 22 bytes data, client => server 02:01:46.894339 'PASS ftp@example.com\r\n' 02:01:46.895291 Received DATA (on stdin) 02:01:46.895305 > 30 bytes data, server => client 02:01:46.895316 '230 Welcome you silly person\r\n' 02:01:46.895376 < 5 bytes data, client => server 02:01:46.895387 'PWD\r\n' 02:01:46.895494 Received DATA (on stdin) 02:01:46.895505 > 30 bytes data, server => client 02:01:46.895516 '257 "/" is current directory\r\n' 02:01:46.895574 < 6 bytes data, client => server 02:01:46.895585 'EPSV\r\n' 02:01:46.915691 Received DATA (on stdin) 02:01:46.915712 > 38 bytes data, server => client 02:01:46.915725 '229 Entering Passive Mode (|||46399|)\n' 02:01:46.915955 < 8 bytes data, client => server 02:01:46.915978 'TYPE I\r\n' 02:01:46.916228 Received DATA (on stdin) 02:01:46.916244 > 33 bytes data, server => client 02:01:46.916256 '200 I modify TYPE as you wanted\r\n' 02:01:46.916325 < 21 bytes data, client => server 02:01:46.916341 'SIZE verifiedserver\r\n' 02:01:46.916482 Received DATA (on stdin) 02:01:46.916496 > 8 bytes data, server => client 02:01:46.916507 '213 17\r\n' 02:01:46.916568 < 21 bytes data, client => server 02:01:46.916583 'RETR verifiedserver\r\n' 02:01:46.916826 Received DATA (on stdin) 02:01:46.916841 > 29 bytes data, server => client 02:01:46.916854 '150 Binary junk (17 bytes).\r\n' 02:01:46.917438 Received DATA (on stdin) 02:01:46.917452 > 28 bytes data, server => client 02:01:46.917464 '226 File transfer complete\r\n' 02:01:46.961689 < 6 bytes data, client => server 02:01:46.961726 'QUIT\r\n' 02:01:46.962012 Received DATA (on stdin) 02:01:46.962030 > 18 bytes data, server => client 02:01:46.962043 '221 bye bye baby\r\n' 02:01:46.963086 ====> Client disconnect 02:01:46.963515 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:46.903516 Running IPv4 version 02:01:46.903666 Listening on port 46399 02:01:46.903703 Wrote pid 96115 to log/10/server/ftp_sockdata.pid 02:01:46.915336 Received PING (on stdin) 02:01:46.915481 Received PORT (on stdin) 02:01:46.916004 ====> Client connect 02:01:46.916913 Received DATA (on stdin) 02:01:46.916932 > 17 bytes data, server => client 02:01:46.916944 'WE ROOLZ: 80449\r\n' 02:01:46.916979 Received DISC (on stdin) 02:01:46.916995 ====> Client forcibly disconnected 02:01:46.917153 Received QUIT (on stdin) 02:01:46.917168 quits 02:01:46.917227 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 362 === End of file server.cmd === Start of file test362.txt data to see that FTP works so does it? === End of file test362.txt === Start of file valgrind362 ==96152== ==96152== Process terminating with default action of signal 4 (SIGILL) ==96152== Illegal opcode at address 0x10B08D ==96152== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96152== by 0x10B08D: main (tool_main.c:232) === End of file valgrind362 test 0361...[HTTP GET --fail-with-body on HTTP error return - twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind361 ../src/curl -q --output log/2/curl361.out --include --trace-ascii log/2/trace361 --trace-config all --trace-time http://127.0.0.1:38781/361 http://127.0.0.1:38781/361 --fail-with-body > log/2/stdout361 2> log/2/stderr361 361: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir afterCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind370 ../src/curl -q --output log/12/curl370.out --include --trace-ascii log/12/trace370 --trace-config all --trace-time http://127.0.0.1:47/370 --etag-save log/12/nowhere/etag370 > log/12/stdout370 2> log/12/stderr370 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind368 ../src/curl -q --output log/8/curl368.out --include --trace-ascii log/8/trace368 --trace-config all --trace-time http://127.0.0.1:43803/368 -r 4 > log/8/stdout368 2> log/8/stderr368 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind367 ../src/curl -q --output log/3/curl367.out --include --trace-ascii log/3/trace367 --trace-config all --trace-time http://:example@127.0.0.1:34527/367 > log/3/stdout367 2> log/3/stderr367 test 361 === Start of file http_server.log 02:01:46.868553 ====> Client connect 02:01:46.868600 accept_connection 3 returned 4 02:01:46.868618 accept_connection 3 returned 0 02:01:46.868632 Read 93 bytes 02:01:46.868643 Process 93 bytes request 02:01:46.868659 Got request: GET /verifiedserver HTTP/1.1 02:01:46.868669 Are-we-friendly question received 02:01:46.868694 Wrote request (93 bytes) input to log/2/server.input 02:01:46.868711 Identifying ourselves as friends 02:01:46.868790 Response sent (56 bytes) and written to log/2/server.response 02:01:46.868802 special request received, no persistency 02:01:46.868811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 361 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind361 ==96116== ==96116== Process terminating with default action of signal 4 (SIGILL) ==96116== Illegal opcode at address 0x10B08D ==96116== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96116== by 0x10B08D: main (tool_main.c:232) === End of file valgrind361 test 0365...[HTTP/1.1 with chunked AND Content-Length headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind365 ../src/curl -q --output log/9/curl365.out --include --trace-ascii log/9/trace365 --trace-config all --trace-time http://127.0.0.1:38509/365 > log/9/stdout365 2> log/9/stderr365 365: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 365 === Start of file http_server.log 02:01:47.120755 ====> Client connect 02:01:47.120808 accept_connection 3 returned 4 02:01:47.120826 accept_connection 3 returned 0 02:01:47.120842 Read 93 bytes 02:01:47.120853 Process 93 bytes request 02:01:47.120868 Got request: GET /verifiedserver HTTP/1.1 02:01:47.120877 Are-we-friendly question received 02:01:47.120901 Wrote request (93 bytes) input to log/9/server.input 02:01:47.120918 Identifying ourselves as friends 02:01:47.120997 Response sent (56 bytes) and written to log/9/server.response 02:01:47.121008 special request received, no persistency 02:01:47.121018 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 365 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind365 ==96256== ==96256== Process terminating with default action of signal 4 (SIGILL) ==96256== Illegal opcode at address 0x10B08D ==96256== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96256== by 0x10B08D: main (tool_main.c:232) === End of file valgrind365 * starts no server test 0370...[--etag-save with bad path - no transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind370 ../src/curl -q --output log/12/curl370.out --include --trace-ascii log/12/trace370 --trace-config all --trace-time http://127.0.0.1:47/370 --etag-save log/12/nowhere/etag370 > log/12/stdout370 2> log/12/stderr370 curl returned 132, when expecting 26 370: exit FAILED == Contents of files in the log/12/ dir after test 370 === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 ==96364== ==96364== Process terminating with default action of signal 4 (SIGILL) ==96364== Illegal opcode at address 0x10B08D ==96364== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96364== by 0x10B08D: main (tool_main.c:232) === End of file valgrind370 test 0368...[Append dash if -r range specified without one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind368 ../src/curl -q --output log/8/curl368.out --include --trace-ascii log/8/trace368 --trace-config all --trace-time http://127.0.0.1:43803/368 -r 4 > log/8/stdout368 2> log/8/stderr368 368: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 368 === Start of file http_server.log 02:01:47.338559 ====> Client connect 02:01:47.338598 accept_connection 3 returned 4 02:01:47.338619 accept_connection 3 returned 0 02:01:47.338637 Read 93 bytes 02:01:47.338650 Process 93 bytes request 02:01:47.338666 Got request: GET /verifiedserver HTTP/1.1 02:01:47.338676 Are-we-friendly question received 02:01:47.338703 Wrote request (93 bytes) input to log/8/server.input 02:01:47.338724 Identifying ourselves as friends 02:01:47.338809 Response sent (56 bytes) and written to log/8/server.response 02:01:47.338826 special request received, no persistency 02:01:47.338837 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 368 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind368 ==96446== ==96446== Process terminating with default action of signal 4 (SIGILL) ==96446== Illegal opcode at address 0x10B08D ==96446== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96446== by 0x10B08D: main (tool_main.c:232) === End of file valgrind368 test 0367...[Empty user name provided in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind367 ../src/curl -q --output log/3/curl367.out --include --trace-ascii log/3/trace367 --trace-config all --trace-time http://:example@127.0.0.1:34527/367 > log/3/stdout367 2> log/3/stderr367 367: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 367 === Start of file http_server.log 02:01:47.341892 ====> Client connect 02:01:47.341926 accept_connection 3 returned 4 02:01:47.341943 accept_connection 3 returned 0 02:01:47.341957 Read 93 bytes 02:01:47.341967 Process 93 bytes request 02:01:47.341979 Got request: GET /verifiedserver HTTP/1.1 02:01:47.341988 Are-we-friendly question received 02:01:47.34201CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind369 ../src/curl -q --output log/1/curl369.out --include --trace-ascii log/1/trace369 --trace-config all --trace-time http://127.0.0.1:34215/369 --etag-save log/1/nowhere/etag369 --next http://127.0.0.1:34215/369 --include --output log/1/curl369.out > log/1/stdout369 2> log/1/stderr369 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind371 ../src/curl -q --output log/5/curl371.out --include --trace-ascii log/5/trace371 --trace-config all --trace-time http://127.0.0.1:33361/371 -o log/5/dump -o log/5/dump2 --no-progress-meter > log/5/stdout371 2> log/5/stderr371 2 Wrote request (93 bytes) input to log/3/server.input 02:01:47.342029 Identifying ourselves as friends 02:01:47.342098 Response sent (56 bytes) and written to log/3/server.response 02:01:47.342109 special request received, no persistency 02:01:47.342118 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 367 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind367 ==96444== ==96444== Process terminating with default action of signal 4 (SIGILL) ==96444== Illegal opcode at address 0x10B08D ==96444== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96444== by 0x10B08D: main (tool_main.c:232) === End of file valgrind367 test 0369...[--etag-save with bad path then working transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind369 ../src/curl -q --output log/1/curl369.out --include --trace-ascii log/1/trace369 --trace-config all --trace-time http://127.0.0.1:34215/369 --etag-save log/1/nowhere/etag369 --next http://127.0.0.1:34215/369 --include --output log/1/curl369.out > log/1/stdout369 2> log/1/stderr369 369: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 369 === Start of file http_server.log 02:01:47.308959 ====> Client connect 02:01:47.308996 accept_connection 3 returned 4 02:01:47.309014 accept_connection 3 returned 0 02:01:47.309028 Read 93 bytes 02:01:47.309040 Process 93 bytes request 02:01:47.309055 Got request: GET /verifiedserver HTTP/1.1 02:01:47.309065 Are-we-friendly question received 02:01:47.309088 Wrote request (93 bytes) input to log/1/server.input 02:01:47.309106 Identifying ourselves as friends 02:01:47.309182 Response sent (56 bytes) and written to log/1/server.response 02:01:47.309193 special request received, no persistency 02:01:47.309203 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 369 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind369 ==96433== ==96433== Process terminating with default action of signal 4 (SIGILL) ==96433== Illegal opcode at address 0x10B08D ==96433== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96433== by 0x10B08D: main (tool_main.c:232) === End of file valgrind369 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind372 ../src/curl -q --output log/7/curl372.out --include --trace-ascii log/7/trace372 --trace-config all --trace-time --raw http://127.0.0.1:43753/binary-zero-in-data-section/372 > log/7/stdout372 2> log/7/stderr372 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind373 ../src/curl -q --output log/4/curl373.out --include --trace-ascii log/4/trace373 --trace-config all --trace-time http://127.0.0.1:36813/chunked-transfer-encoding/373 > log/4/stdout373 2> log/4/stderr373 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind374 ../src/curl -q --output log/6/curl374.out --include --trace-ascii log/6/trace374 --trace-config all --trace-time http://127.0.0.1:39457/gif/374 > log/6/stdout374 2> log/6/stderr374 test 0371...[using more -o than URLs in the command line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind371 ../src/curl -q --output log/5/curl371.out --include --trace-ascii log/5/trace371 --trace-config all --trace-time http://127.0.0.1:33361/371 -o log/5/dump -o log/5/dump2 --no-progress-meter > log/5/stdout371 2> log/5/stderr371 371: stderr FAILED: --- log/5/check-expected 2024-12-15 02:01:48.685276290 +0000 +++ log/5/check-generated 2024-12-15 02:01:48.681942897 +0000 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/5/ dir after test 371 === Start of file check-expected Warning: Got more output options than URLs[CR][LF] === End of file check-expected === Start of file http_server.log 02:01:47.647561 ====> Client connect 02:01:47.647595 accept_connection 3 returned 4 02:01:47.647612 accept_connection 3 returned 0 02:01:47.647628 Read 93 bytes 02:01:47.647639 Process 93 bytes request 02:01:47.647653 Got request: GET /verifiedserver HTTP/1.1 02:01:47.647663 Are-we-friendly question received 02:01:47.647689 Wrote request (93 bytes) input to log/5/server.input 02:01:47.647706 Identifying ourselves as friends 02:01:47.647785 Response sent (56 bytes) and written to log/5/server.response 02:01:47.647801 special request received, no persistency 02:01:47.647810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 371 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind371 ==96656== ==96656== Process terminating with default action of signal 4 (SIGILL) ==96656== Illegal opcode at address 0x10B08D ==96656== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96656== by 0x10B08D: main (tool_main.c:232) === End of file valgrind371 test 0372...[Binary zero in data element.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind372 ../src/curl -q --output log/7/curl372.out --include --trace-ascii log/7/trace372 --trace-config all --trace-time --raw http://127.0.0.1:43753/binary-zero-in-data-section/372 > log/7/stdout372 2> log/7/stderr372 372: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 372 === Start of file http_server.log 02:01:47.655217 ====> Client connect 02:01:47.655253 accept_connection 3 returned 4 02:01:47.655271 accept_connection 3 returned 0 02:01:47.655286 Read 93 bytes 02:01:47.655297 Process 93 bytes request 02:01:47.655311 Got request: GET /verifiedserver HTTP/1.1 02:01:47.655320 Are-we-friendly question received 02:01:47.655344 Wrote request (93 bytes) input to log/7/server.input 02:01:47.655361 Identifying ourselves as friends 02:01:47.655431 Response sent (56 bytes) and written to log/7/server.response 02:01:47.655443 special request received, no persistency 02:01:47.655452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 372 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind372 ==96666== ==96666== Process terminating with default action of signal 4 (SIGILL) ==96666== Illegal opcode at address 0x10B08D ==96666== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96666== by 0x10B08D: main (tool_main.c:232) === End of file valgrind372 test 0373...[Chunked transfer encoding - Multiple valid chunks with binary zeros.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind373 ../src/curl -q --output log/4/curl373.out --include --trace-ascii log/4/trace373 --trace-config all --trace-time http://127.0.0.1:36813/chunked-transfer-encoding/373 > log/4/stdout373 2> log/4/stderr373 373: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 373 === Start of file http_server.log 02:01:47.718579 ====> Client connect 02:01:47.718619 accept_connection 3 returned 4 02:01:47.718639 accept_connection 3 returned 0 02:01:47.718655 Read 93 bytes 02:01:47.718667 Process 93 bytes request 02:01:47.718683 Got request: GET /verifiedserver HTTP/1.1 02:01:47.718693 Are-we-friendly question received 02:01:47.718722 Wrote request (93 bytes) input to log/4/server.input 02:01:47.718740 Identifying ourselves as friends 02:01:47.718822 Response sent (56 bytes) and written to log/4/server.response 02:01:47.718836 special request received, no persistency 02:01:47.718847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 373 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind373 ==96683== ==96683== Process terminating with default action of signal 4 (SIGILL) ==96683== Illegal opcode at address 0x10B08D ==96683== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96683== by 0x10B08D: main (tool_main.c:232) === End of file valgrind373 test 0374...[Valid gif with two frames. No new line in data section.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind374 ../src/curl -q --output log/6/curl374.out --include --trace-ascii log/6/trace374 --trace-config all --trace-time http://127.0.0.1:39457/gif/374 > log/6/stdout374 2> log/6/stderr374 374: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 374 === Start of file http_server.log 02:01:48.016867 ====> Client connect 02:01:48.016903 accept_connection 3 returned 4 02:01:48.016922 accept_connection 3 returned 0 02:01:48.016938 Read 93 bytes 02:01:48.016950 Process 93 bytes request 02:01:48.016966 Got request: GET /verifiedserver HTTP/1.1 02:01:48.016977 Are-we-friendly question received 02:01:48.017005 Wrote request (93 bytes) input to log/6/sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind378 ../src/curl -q --output log/10/curl378.out --include --trace-ascii log/10/trace378 --trace-config all --trace-time -T log/10/378 -d input http://never-accessed > log/10/stdout378 2> log/10/stderr378 erver.input 02:01:48.017026 Identifying ourselves as friends 02:01:48.017109 Response sent (56 bytes) and written to log/6/server.response 02:01:48.017124 special request received, no persistency 02:01:48.017135 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 374 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind374 ==96825== ==96825== Process terminating with default action of signal 4 (SIGILL) ==96825== Illegal opcode at address 0x10B08D ==96825== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96825== by 0x10B08D: main (tool_main.c:232) === End of file valgrind374 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind380 ../src/curl -q --output log/2/curl380.out --include --trace-ascii log/2/trace380 --trace-config all --trace-time --netrc --netrc-file log/2/netrc380 ftp://mary@127.0.0.1:36595/ > log/2/stdout380 2> log/2/stderr380 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind376 ../src/curl -q --include --trace-ascii log/11/trace376 --trace-config all --trace-time http://127.0.0.1:44137/376 -o log/11/save-376 --remove-on-error > log/11/stdout376 2> log/11/stderr376 * starts no server test 0378...[Reject using -T and -d at once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind378 ../src/curl -q --output log/10/curl378.out --include --trace-ascii log/10/trace378 --trace-config all --trace-time -T log/10/378 -d input http://never-accessed > log/10/stdout378 2> log/10/stderr378 378: stderr FAILED: --- log/10/check-expected 2024-12-15 02:01:49.175285109 +0000 +++ log/10/check-generated 2024-12-15 02:01:49.175285109 +0000 @@ -1,2 +0,0 @@ -Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF] -Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF] == Contents of files in the log/10/ dir after test 378 === Start of file check-expected Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF] Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 ==96869== ==96869== Process terminating with default action of signal 4 (SIGILL) ==96869== Illegal opcode at address 0x10B08D ==96869== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96869== by 0x10B08D: main (tool_main.c:232) === End of file valgrind378 test 0380...[pick netrc password based on user name in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind380 ../src/curl -q --output log/2/curl380.out --include --trace-ascii log/2/trace380 --trace-config all --trace-time --netrc --netrc-file log/2/netrc380 ftp://mary@127.0.0.1:36595/ > log/2/stdout380 2> log/2/stderr380 380: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 380 === Start of file ftp_server.log 02:01:48.164116 ====> Client connect 02:01:48.164246 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:48.164506 < "USER anonymous" 02:01:48.164540 > "331 We are happy you popped in![CR][LF]" 02:01:48.164694 < "PASS ftp@example.com" 02:01:48.164717 > "230 Welcome you silly person[CR][LF]" 02:01:48.164850 < "PWD" 02:01:48.164877 > "257 "/" is current directory[CR][LF]" 02:01:48.165014 < "EPSV" 02:01:48.167970 ====> Passive DATA channel requested by client 02:01:48.168002 DATA sockfilt for passive data channel starting... 02:01:48.188583 DATA sockfilt for passive data channel started (pid 96953) 02:01:48.190107 DATA sockfilt for passive data channel listens on port 34815 02:01:48.190159 > "229 Entering Passive Mode (|||34815|)[LF]" 02:01:48.190176 Client has been notified that DATA conn will be accepted on port 34815 02:01:48.192274 Client connects to port 34815 02:01:48.192308 ====> Client established passive DATA connection on port 34815 02:01:48.192393 < "TYPE I" 02:01:48.192425 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:48.192568 < "SIZE verifiedserver" 02:01:48.192600 > "213 17[CR][LF]" 02:01:48.192728 < "RETR verifiedserver" 02:01:48.192753 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:48.192831 =====> Closing passive DATA connection... 02:01:48.192844 Server disconnects passive DATA connection 02:01:48.193049 Server disconnected passive DATA connection 02:01:48.193072 DATA sockfilt for passive data channel quits (pid 96953) 02:01:48.193261 DATA sockfilt for passive data channel quit (pid 96953) 02:01:48.193280 =====> Closed passive DATA connection 02:01:48.193303 > "226 File transfer complete[CR][LF]" 02:01:48.244262 < "QUIT" 02:01:48.244314 > "221 bye bye baby[CR][LF]" 02:01:48.246075 MAIN sockfilt said DISC 02:01:48.246120 ====> Client disconnected 02:01:48.246177 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:48.364138 ====> Client connect 02:01:48.364395 Received DATA (on stdin) 02:01:48.364409 > 160 bytes data, server => client 02:01:48.364421 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:48.364432 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:48.364442 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:48.364515 < 16 bytes data, client => server 02:01:48.364526 'USER anonymous\r\n' 02:01:48.364680 Received DATA (on stdin) 02:01:48.364691 > 33 bytes data, server => client 02:01:48.364701 '331 We are happy you popped in!\r\n' 02:01:48.364750 < 22 bytes data, client => server 02:01:48.364761 'PASS ftp@example.com\r\n' 02:01:48.364853 Received DATA (on stdin) 02:01:48.364864 > 30 bytes data, server => client 02:01:48.364874 '230 Welcome you silly person\r\n' 02:01:48.364917 < 5 bytes data, client => server 02:01:48.364928 'PWD\r\n' 02:01:48.365013 Received DATA (on stdin) 02:01:48.365023 > 30 bytes data, server => client 02:01:48.365033 '257 "/" is current directory\r\n' 02:01:48.365082 < 6 bytes data, client => server 02:01:48.365092 'EPSV\r\n' 02:01:48.390324 Received DATA (on stdin) 02:01:48.390341 > 38 bytes data, server => client 02:01:48.390351 '229 Entering Passive Mode (|||34815|)\n' 02:01:48.392360 < 8 bytes data, client => server 02:01:48.392374 'TYPE I\r\n' 02:01:48.392564 Received DATA (on stdin) 02:01:48.392575 > 33 bytes data, server => client 02:01:48.392586 '200 I modify TYPE as you wanted\r\n' 02:01:48.392635 < 21 bytes data, client => server 02:01:48.392645 'SIZE verifiedserver\r\n' 02:01:48.392737 Received DATA (on stdin) 02:01:48.392747 > 8 bytes data, server => client 02:01:48.392756 '213 17\r\n' 02:01:48.392798 < 21 bytes data, client => server 02:01:48.392808 'RETR verifiedserver\r\n' 02:01:48.393065 Received DATA (on stdin) 02:01:48.393077 > 29 bytes data, server => client 02:01:48.393086 '150 Binary junk (17 bytes).\r\n' 02:01:48.393440 Received DATA (on stdin) 02:01:48.393452 > 28 bytes data, server => client 02:01:48.393462 '226 File transfer complete\r\n' 02:01:48.438610 < 6 bytes data, client => server 02:01:48.438634 'QUIT\r\n' 02:01:48.445265 Received DATA (on stdin) 02:01:48.445290 > 18 bytes data, server => client 02:01:48.445302 '221 bye bye baby\r\n' 02:01:48.446151 ====> Client disconnect 02:01:48.446317 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:48.381352 Running IPv4 version 02:01:48.388601 Listening on port 34815 02:01:48.388633 Wrote pid 96953 to log/2/server/ftp_sockdata.pid 02:01:48.388650 Received PING (on stdin) 02:01:48.390141 Received PORT (on stdin) 02:01:48.392329 ====> Client connect 02:01:48.392982 Received DATA (on stdin) 02:01:48.392993 > 17 bytes data, server => client 02:01:48.393003 'WE ROOLZ: 80457\r\n' 02:01:48.393030 Received DISC (on stdin) 02:01:48.393042 ====> Client forcibly disconnected 02:01:48.393216 Received QUIT (on stdin) 02:01:48.393227 quits 02:01:48.393275 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc380 # the following two lines were created while testing curl machine 127.0.0.1 login frankenstein password wrongone machine 127.0.0.1 login mary password yram === End of file netrc380 === Start of file server.cmd Testnum 380 === End of file server.cmd === Start of file valgrind380 ==97023== ==97023== Process terminating with default action of signal 4 (SIGILL) ==97023== Illegal opcode at address 0x10B08D ==97023== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97023== by 0x10B08D: main (tool_main.c:232) === End of file valgrind380 test 0376...[--remove-on-error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind376 ../src/curl -q --include --trace-ascii log/11/trace376 --trace-config all --trace-time http://127.0.0.1:4413CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind379 ../src/curl -q --include --trace-ascii log/9/trace379 --trace-config all --trace-time http://127.0.0.1:38509/379 -o log/9/save --remove-on-error --no-clobber > log/9/stdout379 2> log/9/stderr379 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind385 ../src/curl -q --output log/1/curl385.out --include --trace-ascii log/1/trace385 --trace-config all --trace-time --json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://127.0.0.1:34215/385 -H "Content-Type: drinks/hot" > log/1/stdout385 2> log/1/stderr385 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind383 ../src/curl -q --output log/8/curl383.out --include --trace-ascii log/8/trace383 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:43803/383 > log/8/stdout383 2> log/8/stderr383 7/376 -o log/11/save-376 --remove-on-error > log/11/stdout376 2> log/11/stderr376 376: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 376 === Start of file http_server.log 02:01:48.306391 ====> Client connect 02:01:48.306429 accept_connection 3 returned 4 02:01:48.306446 accept_connection 3 returned 0 02:01:48.306462 Read 93 bytes 02:01:48.306474 Process 93 bytes request 02:01:48.306491 Got request: GET /verifiedserver HTTP/1.1 02:01:48.306501 Are-we-friendly question received 02:01:48.306527 Wrote request (93 bytes) input to log/11/server.input 02:01:48.306545 Identifying ourselves as friends 02:01:48.306622 Response sent (56 bytes) and written to log/11/server.response 02:01:48.306634 special request received, no persistency 02:01:48.306644 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 376 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind376 ==96941== ==96941== Process terminating with default action of signal 4 (SIGILL) ==96941== Illegal opcode at address 0x10B08D ==96941== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96941== by 0x10B08D: main (tool_main.c:232) === End of file valgrind376 test 0379...[--remove-on-error with --no-clobber and an added number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind379 ../src/curl -q --include --trace-ascii log/9/trace379 --trace-config all --trace-time http://127.0.0.1:38509/379 -o log/9/save --remove-on-error --no-clobber > log/9/stdout379 2> log/9/stderr379 379: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 379 === Start of file http_server.log 02:01:48.345146 ====> Client connect 02:01:48.345195 accept_connection 3 returned 4 02:01:48.345212 accept_connection 3 returned 0 02:01:48.345227 Read 93 bytes 02:01:48.345237 Process 93 bytes request 02:01:48.345251 Got request: GET /verifiedserver HTTP/1.1 02:01:48.345260 Are-we-friendly question received 02:01:48.345288 Wrote request (93 bytes) input to log/9/server.input 02:01:48.345308 Identifying ourselves as friends 02:01:48.345388 Response sent (56 bytes) and written to log/9/server.response 02:01:48.345404 special request received, no persistency 02:01:48.345414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file save exists before command runs === End of file save === Start of file server.cmd Testnum 379 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind379 ==96960== ==96960== Process terminating with default action of signal 4 (SIGILL) ==96960== Illegal opcode at address 0x10B08D ==96960== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==96960== by 0x10B08D: main (tool_main.c:232) === End of file valgrind379 test 0385...[HTTP with --json x 2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind385 ../src/curl -q --output log/1/curl385.out --include --trace-ascii log/1/trace385 --trace-config all --trace-time --json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://127.0.0.1:34215/385 -H "Content-Type: drinks/hot" > log/1/stdout385 2> log/1/stderr385 385: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 385 === Start of file http_server.log 02:01:48.777846 ====> Client connect 02:01:48.777880 accept_connection 3 returned 4 02:01:48.777896 accept_connection 3 returned 0 02:01:48.777910 Read 93 bytes 02:01:48.777920 Process 93 bytes request 02:01:48.777935 Got request: GET /verifiedserver HTTP/1.1 02:01:48.777945 Are-we-friendly question received 02:01:48.777968 Wrote request (93 bytes) input to log/1/server.input 02:01:48.777988 Identifying ourselves as friends 02:01:48.778052 Response sent (56 bytes) and written to log/1/server.response 02:01:48.778063 special request received, no persistency 02:01:48.778072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 385 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind385 ==97264== ==97264== Process terminating with default action of signal 4 (SIGILL) ==97264== Illegal opcode at address 0x10B08D ==97264== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97264== by 0x10B08D: main (tool_main.c:232) === End of file valgrind385 test 0383...[HTTP with --json] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind383 ../src/curl -q --output log/8/curl383.out --include --trace-ascii log/8/trace383 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:43803/383 > log/8/stdout383 2> log/8/stderr383 383: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 383 === Start of file http_server.log 02:01:48.568555 ====> Client connect 02:01:48.568595 accept_connection 3 returned 4 02:01:48.568616 accept_connection 3 returned 0 02:01:48.568633 Read 93 bytes 02:01:48.568645 Process 93 bytes request 02:01:48.568660 Got request: GET /verifiedserver HTTP/1.1 02:01:48.568670 Are-we-friendly question received 02:01:48.568697 Wrote request (93 bytes) input to log/8/server.input 02:01:48.568717 Identifying ourselves as friends 02:01:48.568801 Response sent (56 bytes) and written to log/8/server.response 02:01:48.568817 special request received, no persistency 02:01:48.568828 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind381 ../src/curl -q --output log/12/curl381.out --include --trace-ascii log/12/trace381 --trace-config all --trace-time --netrc-optional --netrc-file log/12/netrc381 ftp://mary:drfrank@127.0.0.1:40171/ > log/12/stdout381 2> log/12/stderr381 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind384 ../src/curl -q --output log/3/curl384.out --include --trace-ascii log/3/trace384 --trace-config all --trace-time --json @- http://127.0.0.1:34527/384 -H "Accept: foobar/*" log/3/stdout384 2> log/3/stderr384 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 383 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind383 ==97137== ==97137== Process terminating with default action of signal 4 (SIGILL) ==97137== Illegal opcode at address 0x10B08D ==97137== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97137== by 0x10B08D: main (tool_main.c:232) === End of file valgrind383 test 0381...[netrc-optional lets URL creds override netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind381 ../src/curl -q --output log/12/curl381.out --include --trace-ascii log/12/trace381 --trace-config all --trace-time --netrc-optional --netrc-file log/12/netrc381 ftp://mary:drfrank@127.0.0.1:40171/ > log/12/stdout381 2> log/12/stderr381 381: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 381 === Start of file ftp_server.log 02:01:48.332738 ====> Client connect 02:01:48.332897 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:48.333936 < "USER anonymous" 02:01:48.333972 > "331 We are happy you popped in![CR][LF]" 02:01:48.335237 < "PASS ftp@example.com" 02:01:48.335274 > "230 Welcome you silly person[CR][LF]" 02:01:48.336244 < "PWD" 02:01:48.336276 > "257 "/" is current directory[CR][LF]" 02:01:48.336445 < "EPSV" 02:01:48.336476 ====> Passive DATA channel requested by client 02:01:48.336489 DATA sockfilt for passive data channel starting... 02:01:48.348409 DATA sockfilt for passive data channel started (pid 97077) 02:01:48.348544 DATA sockfilt for passive data channel listens on port 34001 02:01:48.348591 > "229 Entering Passive Mode (|||34001|)[LF]" 02:01:48.348607 Client has been notified that DATA conn will be accepted on port 34001 02:01:48.348927 Client connects to port 34001 02:01:48.348955 ====> Client established passive DATA connection on port 34001 02:01:48.349030 < "TYPE I" 02:01:48.349060 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:48.349215 < "SIZE verifiedserver" 02:01:48.349250 > "213 17[CR][LF]" 02:01:48.349395 < "RETR verifiedserver" 02:01:48.349426 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:48.349511 =====> Closing passive DATA connection... 02:01:48.349527 Server disconnects passive DATA connection 02:01:48.351900 Server disconnected passive DATA connection 02:01:48.351932 DATA sockfilt for passive data channel quits (pid 97077) 02:01:48.352135 DATA sockfilt for passive data channel quit (pid 97077) 02:01:48.352159 =====> Closed passive DATA connection 02:01:48.352188 > "226 File transfer complete[CR][LF]" 02:01:48.396775 < "QUIT" 02:01:48.396821 > "221 bye bye baby[CR][LF]" 02:01:48.401731 MAIN sockfilt said DISC 02:01:48.401778 ====> Client disconnected 02:01:48.401843 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:48.531856 ====> Client connect 02:01:48.533048 Received DATA (on stdin) 02:01:48.533064 > 160 bytes data, server => client 02:01:48.533077 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:48.533089 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:48.533101 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:48.533925 < 16 bytes data, client => server 02:01:48.533944 'USER anonymous\r\n' 02:01:48.534115 Received DATA (on stdin) 02:01:48.534128 > 33 bytes data, server => client 02:01:48.534139 '331 We are happy you popped in!\r\n' 02:01:48.534194 < 22 bytes data, client => server 02:01:48.534207 'PASS ftp@example.com\r\n' 02:01:48.535416 Received DATA (on stdin) 02:01:48.535429 > 30 bytes data, server => client 02:01:48.535440 '230 Welcome you silly person\r\n' 02:01:48.535493 < 5 bytes data, client => server 02:01:48.535505 'PWD\r\n' 02:01:48.536414 Received DATA (on stdin) 02:01:48.536426 > 30 bytes data, server => client 02:01:48.536437 '257 "/" is current directory\r\n' 02:01:48.536499 < 6 bytes data, client => server 02:01:48.536512 'EPSV\r\n' 02:01:48.548756 Received DATA (on stdin) 02:01:48.548775 > 38 bytes data, server => client 02:01:48.548787 '229 Entering Passive Mode (|||34001|)\n' 02:01:48.549013 < 8 bytes data, client => server 02:01:48.549026 'TYPE I\r\n' 02:01:48.549200 Received DATA (on stdin) 02:01:48.549211 > 33 bytes data, server => client 02:01:48.549223 '200 I modify TYPE as you wanted\r\n' 02:01:48.549275 < 21 bytes data, client => server 02:01:48.549288 'SIZE verifiedserver\r\n' 02:01:48.549388 Received DATA (on stdin) 02:01:48.549399 > 8 bytes data, server => client 02:01:48.549410 '213 17\r\n' 02:01:48.549457 < 21 bytes data, client => server 02:01:48.549469 'RETR verifiedserver\r\n' 02:01:48.551764 Received DATA (on stdin) 02:01:48.551783 > 29 bytes data, server => client 02:01:48.551795 '150 Binary junk (17 bytes).\r\n' 02:01:48.552329 Received DATA (on stdin) 02:01:48.552342 > 28 bytes data, server => client 02:01:48.552353 '226 File transfer complete\r\n' 02:01:48.596755 < 6 bytes data, client => server 02:01:48.596781 'QUIT\r\n' 02:01:48.596963 Received DATA (on stdin) 02:01:48.596976 > 18 bytes data, server => client 02:01:48.596987 '221 bye bye baby\r\n' 02:01:48.598608 ====> Client disconnect 02:01:48.601987 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:48.546275 Running IPv4 version 02:01:48.546339 Listening on port 34001 02:01:48.546371 Wrote pid 97077 to log/12/server/ftp_sockdata.pid 02:01:48.548458 Received PING (on stdin) 02:01:48.548584 Received PORT (on stdin) 02:01:48.548984 ====> Client connect 02:01:48.551870 Received DATA (on stdin) 02:01:48.551886 > 17 bytes data, server => client 02:01:48.551896 'WE ROOLZ: 80450\r\n' 02:01:48.551926 Received DISC (on stdin) 02:01:48.551939 ====> Client forcibly disconnected 02:01:48.552081 Received QUIT (on stdin) 02:01:48.552094 quits 02:01:48.552147 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc381 # the following two lines were created while testing curl machine 127.0.0.1 login frankenstein password wrongone machine 127.0.0.1 login mary password yram === End of file netrc381 === Start of file server.cmd Testnum 381 === End of file server.cmd === Start of file valgrind381 ==97161== ==97161== Process terminating with default action of signal 4 (SIGILL) ==97161== Illegal opcode at address 0x10B08D ==97161== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97161== by 0x10B08D: main (tool_main.c:232) === End of file valgrind381 test 0384...[HTTP with --json from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind384 ../src/curl -q --output log/3/curl384.out --include --trace-ascii log/3/trace384 --trace-config all --trace-time --json @- http://127.0.0.1:34527/384 -H "Accept: foobar/*" log/3/stdout384 2> log/3/stderr384 384: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 384 === Start of file http_server.log 02:01:48.745243 ====> Client connect 02:01:48.745282 accept_connection 3 returned 4 02:01:48.745301 accept_connection 3 returned 0 02:01:48.745315 Read 93 bytes 02:01:48.745326 Process 93 bytes request 02:01:48.745339 Got request: GET /verifiedserCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind387 ../src/curl -q --output log/7/curl387.out --include --trace-ascii log/7/trace387 --trace-config all --trace-time http://127.0.0.1:43753/387 -sS --tr-encoding > log/7/stdout387 2> log/7/stderr387 ver HTTP/1.1 02:01:48.745348 Are-we-friendly question received 02:01:48.745370 Wrote request (93 bytes) input to log/3/server.input 02:01:48.745387 Identifying ourselves as friends 02:01:48.745467 Response sent (56 bytes) and written to log/3/server.response 02:01:48.745477 special request received, no persistency 02:01:48.745486 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 384 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stdin-for-384 { "drink": "coffe" } === End of file stdin-for-384 === Start of file valgrind384 ==97254== ==97254== Process terminating with default action of signal 4 (SIGILL) ==97254== Illegal opcode at address 0x10B08D ==97254== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97254== by 0x10B08D: main (tool_main.c:232) === End of file valgrind384 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind386 ../src/curl -q --output log/5/curl386.out --include --trace-ascii log/5/trace386 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:33361/386 --next http://127.0.0.1:33361/3860002 > log/5/stdout386 2> log/5/stderr386 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind388 ../src/curl -q --include --trace-ascii log/4/trace388 --trace-config all --trace-time http://127.0.0.1:36813/3880001 -u testuser:testpass --digest http://127.0.0.1:36813/3880002 > log/4/stdout388 2> log/4/stderr388 test 0387...[Response with overly long compression chain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind387 ../src/curl -q --output log/7/curl387.out --include --trace-ascii log/7/trace387 --trace-config all --trace-time http://127.0.0.1:43753/387 -sS --tr-encoding > log/7/stdout387 2> log/7/stderr387 387: stderr FAILED: --- log/7/check-expected 2024-12-15 02:01:49.978632899 +0000 +++ log/7/check-generated 2024-12-15 02:01:49.978632899 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/7/ dir after test 387 === Start of file check-expected curl: (61) Reject response due to more than 5 content encodings[CR][LF] === End of file check-expected === Start of file http_server.log 02:01:49.055212 ====> Client connect 02:01:49.055247 accept_connection 3 returned 4 02:01:49.055266 accept_connection 3 returned 0 02:01:49.055281 Read 93 bytes 02:01:49.055292 Process 93 bytes request 02:01:49.055307 Got request: GET /verifiedserver HTTP/1.1 02:01:49.055317 Are-we-friendly question received 02:01:49.055453 Wrote request (93 bytes) input to log/7/server.input 02:01:49.055473 Identifying ourselves as friends 02:01:49.055552 Response sent (56 bytes) and written to log/7/server.response 02:01:49.055563 special request received, no persistency 02:01:49.055572 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 387 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind387 ==97429== ==97429== Process terminating with default action of signal 4 (SIGILL) ==97429== Illegal opcode at address 0x10B08D ==97429== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97429== by 0x10B08D: main (tool_main.c:232) === End of file valgrind387 test 0386...[HTTP with --json + --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind386 ../src/curl -q --output log/5/curl386.out --include --trace-ascii log/5/trace386 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:33361/386 --next http://127.0.0.1:33361/3860002 > log/5/stdout386 2> log/5/stderr386 386: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 386 === Start of file http_server.log 02:01:49.020762 ====> Client connect 02:01:49.020797 accept_connection 3 returned 4 02:01:49.020814 accept_connection 3 returned 0 02:01:49.020829 Read 93 bytes 02:01:49.020839 Process 93 bytes request 02:01:49.020854 Got request: GET /verifiedserver HTTP/1.1 02:01:49.020864 Are-we-friendly question received 02:01:49.020889 Wrote request (93 bytes) input to log/5/server.input 02:01:49.020906 Identifying ourselves as friends 02:01:49.020977 Response sent (56 bytes) and written to log/5/server.response 02:01:49.020989 special request received, no persistency 02:01:49.020999 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 386 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind386 ==97419== ==97419== Process terminating with default action of signal 4 (SIGILL) ==97419== Illegal opcode at address 0x10B08D ==97419== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97419== by 0x10B08D: main (tool_main.c:232) === End of file valgrind386 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind389 ../src/curl -q --output log/6/curl389.out --include --trace-ascii log/6/trace389 --trace-config all --trace-time -4 http://curlmachine.localhost:39457/389 > log/6/stdout389 2> log/6/stderr389 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind393 ../src/curl -q --output log/9/curl393.out --include --trace-ascii log/9/trace393 --trace-config all --trace-time http://127.0.0.1:38509/393 --max-filesize 2000000 > log/9/stdout393 2> log/9/stderr393 test 0388...[HTTP with Digest and multiple qop values with leading space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind388 ../src/curl -q --include --trace-ascii log/4/trace388 --trace-config all --trace-time http://127.0.0.1:36813/3880001 -u testuser:testpass --digest http://127.0.0.1:36813/3880002 > log/4/stdout388 2> log/4/stderr388 388: stdout FAILED: --- log/4/check-expected 2024-12-15 02:01:50.348639555 +0000 +++ log/4/check-generated 2024-12-15 02:01:50.348639555 +0000 @@ -1,30 +0,0 @@ -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 30[CR][LF] -[CR][LF] -This IS the second real page![LF] == Contents of files in the log/4/ dir after test 388 === Start of file check-expected HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 30[CR][LF] [CR][LF] This IS the second real page![LF] === End of file check-expected === Start of file http_server.log 02:01:49.225581 ====> Client connect 02:01:49.225617 accept_connection 3 returned 4 02:01:49.225636 accept_connection 3 returned 0 02:01:49.225651 Read 93 bytes 02:01:49.225662 Process 93 bytes request 02:01:49.225676 Got request: GET /verifiedserver HTTP/1.1 02:01:49.225686 Are-we-friendly question received 02:01:49.225827 Wrote request (93 bytes) input to log/4/server.input 02:01:49.225854 Identifying ourselves as friends 02:01:49.225937 Response sent (56 bytes) and written to log/4/server.response 02:01:49.225952 special request received, no persistency 02:01:49.225962 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 388 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind388 ==97546== ==97546== Process terminating with default action of signal 4 (SIGILL) ==97546== Illegal opcode at address 0x10B08D ==97546== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97546== by 0x10B08D: main (tool_main.c:232) === End of file valgrind388 test 0389...[*.localhost is a local host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind389 ../src/curl -q --output log/6/curl389.out --include --trace-ascii log/6/trace389 --trace-config all --trace-time -4 http://curlmachine.localhost:39457/389 > log/6/stdout389 2> log/6/stderr389 389: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 389 === Start of file http_server.log 02:01:49.318555 ====> Client connect 02:01:49.318601 accept_connection 3 returned 4 02:01:49.318619 accept_connection 3 returned 0 02:01:49.318636 Read 93 bytes 02:01:49.318647 Process 93 bytes request 02:01:49.318663 Got request: GET /verifiedserver HTTP/1.1 02:01:49.318673 Are-we-friendly question received 02:01:49.318696 Wrote request (93 bytes) input to log/6/server.input 02:01:49.318714 Identifying ourselves as friends 02:01:49.318809 Response sent (56 bytes) and written to log/6/server.response 02:01:49.318821 special request received, no persistency 02:01:49.318830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 389 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind389 ==97568== ==97568== Process terminating with default action of signal 4 (SIGILL) ==97568== Illegal opcode at address 0x10B08D ==97568== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97568== by 0x10B08D: main (tool_main.c:232) === End of file valgrind389 test 0393...[HTTP max-filesize and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind393 ../src/curl -q --output log/9/curl393.out --include --trace-ascii log/9/trace393 --trace-config all --trace-time http://127.0.0.1:38509/393 --max-filesize 2000000 > log/9/stdout393 2> log/9/stderr393 393: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 393 === Start of file http_server.log 02:01:49.820663 ====> Client connect 02:01:49.820702 accept_connection 3 returned 4 02:01:49.820720 accept_connection 3 returned 0 02:01:49.820735 Read 93 bytes 02:01:49.820746 Process 93 bytes request 02:01:49.820763 Got request: GET /verifiedserver HTTP/1.1 02:01:49.820773 Are-we-friendly question CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind391 ../src/curl -q --output log/2/curl391.out --include --trace-ascii log/2/trace391 --trace-config all --trace-time http://127.0.0.1:38781/../../391 --path-as-is -L > log/2/stdout391 2> log/2/stderr391 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind390 ../src/curl -q --include --trace-ascii log/10/trace390 --trace-config all --trace-time http://127.0.0.1:42929/390 file://localhost/startdir/src/build-curl/tests/log/10/test390.txt ftp://127.0.0.1:42661/3900002 --parallel -o log/10/390.a -o log/10/390.b -o log/10/390.c > log/10/stdout390 2> log/10/stderr390 received 02:01:49.820802 Wrote request (93 bytes) input to log/9/server.input 02:01:49.820822 Identifying ourselves as friends 02:01:49.820902 Response sent (56 bytes) and written to log/9/server.response 02:01:49.820916 special request received, no persistency 02:01:49.820926 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 393 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind393 ==97825== ==97825== Process terminating with default action of signal 4 (SIGILL) ==97825== Illegal opcode at address 0x10B08D ==97825== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97825== by 0x10B08D: main (tool_main.c:232) === End of file valgrind393 test 0391...[--path-as-is with redirect, keeping dotdots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind391 ../src/curl -q --output log/2/curl391.out --include --trace-ascii log/2/trace391 --trace-config all --trace-time http://127.0.0.1:38781/../../391 --path-as-is -L > log/2/stdout391 2> log/2/stderr391 391: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 391 === Start of file http_server.log 02:01:49.688093 ====> Client connect 02:01:49.688125 accept_connection 3 returned 4 02:01:49.688142 accept_connection 3 returned 0 02:01:49.688157 Read 93 bytes 02:01:49.688169 Process 93 bytes request 02:01:49.688182 Got request: GET /verifiedserver HTTP/1.1 02:01:49.688192 Are-we-friendly question received 02:01:49.688219 Wrote request (93 bytes) input to log/2/server.input 02:01:49.688238 Identifying ourselves as friends 02:01:49.688316 Response sent (56 bytes) and written to log/2/server.response 02:01:49.688331 special request received, no persistency 02:01:49.688342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 391 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind391 ==97748== ==97748== Process terminating with default action of signal 4 (SIGILL) ==97748== Illegal opcode at address 0x10B08D ==97748== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97748== by 0x10B08D: main (tool_main.c:232) === End of file valgrind391 test 0390...[curl HTTP, FILE and FTP in parallel] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind390 ../src/curl -q --include --trace-ascii log/10/trace390 --trace-config all --trace-time http://127.0.0.1:42929/390 file://localhost/startdir/src/build-curl/tests/log/10/test390.txt ftp://127.0.0.1:42661/3900002 --parallel -o log/10/390.a -o log/10/390.b -o log/10/390.c > log/10/stdout390 2> log/10/stderr390 curl returned 132, when expecting 0 390: exit FAILED == Contents of files in the log/10/ dir after test 390 === Start of file ftp_server.log 02:01:49.354166 ====> Client connect 02:01:49.354342 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:49.354688 < "USER anonymous" 02:01:49.354733 > "331 We are happy you popped in![CR][LF]" 02:01:49.354935 < "PASS ftp@example.com" 02:01:49.354971 > "230 Welcome you silly person[CR][LF]" 02:01:49.355187 < "PWD" 02:01:49.355218 > "257 "/" is current directory[CR][LF]" 02:01:49.355368 < "EPSV" 02:01:49.355395 ====> Passive DATA channel requested by client 02:01:49.355408 DATA sockfilt for passive data channel starting... 02:01:49.357181 DATA sockfilt for passive data channel started (pid 97670) 02:01:49.357296 DATA sockfilt for passive data channel listens on port 41139 02:01:49.357342 > "229 Entering Passive Mode (|||41139|)[LF]" 02:01:49.357360 Client has been notified that DATA conn will be accepted on port 41139 02:01:49.357621 Client connects to port 41139 02:01:49.357655 ====> Client established passive DATA connection on port 41139 02:01:49.357722 < "TYPE I" 02:01:49.357754 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:49.357939 < "SIZE verifiedserver" 02:01:49.357982 > "213 17[CR][LF]" 02:01:49.358168 < "RETR verifiedserver" 02:01:49.358209 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:49.358298 =====> Closing passive DATA connection... 02:01:49.358320 Server disconnects passive DATA connection 02:01:49.360329 Server disconnected passive DATA connection 02:01:49.360358 DATA sockfilt for passive data channel quits (pid 97670) 02:01:49.360573 DATA sockfilt for passive data channel quit (pid 97670) 02:01:49.360599 =====> Closed passive DATA connection 02:01:49.360628 > "226 File transfer complete[CR][LF]" 02:01:49.402246 < "QUIT" 02:01:49.402302 > "221 bye bye baby[CR][LF]" 02:01:49.403303 MAIN sockfilt said DISC 02:01:49.403343 ====> Client disconnected 02:01:49.403409 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:49.554096 ====> Client connect 02:01:49.554510 Received DATA (on stdin) 02:01:49.554532 > 160 bytes data, server => client 02:01:49.554547 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:49.554559 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:49.554570 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:49.554667 < 16 bytes data, client => server 02:01:49.554686 'USER anonymous\r\n' 02:01:49.554880 Received DATA (on stdin) 02:01:49.554896 > 33 bytes data, server => client 02:01:49.554908 '331 We are happy you popped in!\r\n' 02:01:49.554970 < 22 bytes data, client => server 02:01:49.554985 'PASS ftp@example.com\r\n' 02:01:49.555117 Received DATA (on stdin) 02:01:49.555131 > 30 bytes data, server => client 02:01:49.555143 '230 Welcome you silly person\r\n' 02:01:49.555235 < 5 bytes data, client => server 02:01:49.555246 'PWD\r\n' 02:01:49.555355 Received DATA (on stdin) 02:01:49.555366 > 30 bytes data, server => client 02:01:49.555376 '257 "/" is current directory\r\n' 02:01:49.555430 < 6 bytes data, client => server 02:01:49.555441 'EPSV\r\n' 02:01:49.557506 Received DATA (on stdin) 02:01:49.557525 > 38 bytes data, server => client 02:01:49.557538 '229 Entering Passive Mode (|||41139|)\n' 02:01:49.557675 < 8 bytes data, client => server 02:01:49.557694 'TYPE I\r\n' 02:01:49.557897 Received DATA (on stdin) 02:01:49.557911 > 33 bytes data, server => client 02:01:49.557923 '200 I modify TYPE as you wanted\r\n' 02:01:49.557982 < 21 bytes data, client => server 02:01:49.558000 'SIZE verifiedserver\r\n' 02:01:49.558126 Received DATA (on stdin) 02:01:49.558141 > 8 bytes data, server => client 02:01:49.558152 '213 17\r\n' 02:01:49.558209 < 21 bytes data, client => server 02:01:49.558227 'RETR verifiedserver\r\n' 02:01:49.558464 Received DATA (on stdin) 02:01:49.558479 > 29 bytes data, server => client 02:01:49.558508 '150 Binary junk (17 bytes).\r\n' 02:01:49.560771 Received DATA (on stdin) 02:01:49.560786 > 28 bytes data, server => client 02:01:49.560799 '226 File transfer complete\r\n' 02:01:49.602200 < 6 bytes data, client => server 02:01:49.602227 'QUIT\r\n' 02:01:49.602445 Received DATA (on stdin) 02:01:49.602458 > 18 bytes data, server => client 02:01:49.602468 '221 bye bye baby\r\n' 02:01:49.602918 ====> Client disconnect 02:01:49.603555 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:49.557137 Running IPv4 version 02:01:49.557200 Listening on port 41139 02:01:49.557239 Wrote pid 97670 to log/10/server/ftp_sockdata.pid 02:01:49.557260 Received PING (on stdin) 02:01:49.557348 Received PORT (on stdin) 02:01:49.557715 ====> Client connect 02:01:49.560269 Received DATA (on stdin) 02:01:49.560289 > 17 bytes data, server => client 02:01:49.560301 'WE ROOLZ: 80449\r\n' 02:01:49.560335 Received DISC (on stdin) 02:01:49.560349 ====> Client forcibly disconnected 02:01:49.560509 Received QUIT (on stdin) 02:01:49.560521 quits 02:01:49.560582 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:01:49.493879 ====> Client connect 02:01:49.493913 accept_connection 3 returned 4 02:01:49.493930 accept_connection 3 returned 0 02:01:49.493945 Read 93 bytes 02:01:49.493956 Process 93 bytes request 02:01:49.493971 Got request: GET /verifiedserver HTTP/1.1 02:01:49.493980 Are-we-friendly question received 02:01:49.494004 Wrote request (93 bytes) input to log/10/server.input 02:01:49.494022 Identifying ourselves as friends 02:01:49.494091 Response sent (56 bytes) and written to log/10/server.response 02:01:49.494103 special request received, no persistency 02:01:49.494113 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 390 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file test390.txt hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind392 ../src/curl -q --output log/11/curl392.out --include --trace-ascii log/11/trace392 --trace-config all --trace-time -4 http://localhost:44137/392 -b none http://localhost:44137/392 > log/11/stdout392 2> log/11/stderr392 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind395 ../src/curl -q --output log/8/curl395.out --include --trace-ascii log/8/trace395 --trace-config all --trace-time http://127.0.0.1:43803/395 > log/8/stdout395 2> log/8/stderr395 ofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile === End of file test390.txt === Start of file valgrind390 ==97705== ==97705== Process terminating with default action of signal 4 (SIGILL) ==97705== Illegal opcode at address 0x10B08D ==97705== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97705== by 0x10B08D: main (tool_main.c:232) === End of file valgrind390 setenv TZ = GMT test 0392...[HTTP secure cookies over localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind392 ../src/curl -q --output log/11/curl392.out --include --trace-ascii log/11/trace392 --trace-config all --trace-time -4 http://localhost:44137/392 -b none http://localhost:44137/392 > log/11/stdout392 2> log/11/stderr392 392: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 392 === Start of file http_server.log 02:01:49.687749 ====> Client connect 02:01:49.687787 accept_connection 3 returned 4 02:01:49.687806 accept_connection 3 returned 0 02:01:49.687822 Read 93 bytes 02:01:49.687833 Process 93 bytes request 02:01:49.687848 Got request: GET /verifiedserver HTTP/1.1 02:01:49.687858 Are-we-friendly question received 02:01:49.687885 Wrote request (93 bytes) input to log/11/server.input 02:01:49.687904 Identifying ourselves as friends 02:01:49.687979 Response sent (56 bytes) and written to log/11/server.response 02:01:49.687994 special request received, no persistency 02:01:49.688005 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 392 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind392 ==97734== ==97734== Process terminating with default action of signal 4 (SIGILL) ==97734== Illegal opcode at address 0x10B08D ==97734== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97734== by 0x10B08D: main (tool_main.c:232) === End of file valgrind392 test 0395...[HTTP and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind395 ../src/curl -q --output log/8/curl395.out --include --trace-ascii log/8/trace395 --trace-config all --trace-time http://127.0.0.1:43803/395 > log/8/stdout395 2> log/8/stderr395 395: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 395 === Start of file http_server.log 02:01:49.991884 ====> Client connect 02:01:49.991924 accept_connection 3 returned 4 02:01:49.991941 accept_connection 3 returned 0 02:01:49.991956 Read 93 bytes 02:01:49.991967 Process 93 bytes request 02:01:49.991980 Got request: GET /verifiedserver HTTP/1.1 02:01:49.991990 Are-we-friendly question received 02:01:49.992010 Wrote request (93 bytesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind396 ../src/curl -q --output log/12/curl396.out --include --trace-ascii log/12/trace396 --trace-config all --trace-time http://127.0.0.1:40653/396 --compressed > log/12/stdout396 2> log/12/stderr396 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind394 ../src/curl -q --output log/1/curl394.out --include --trace-ascii log/1/trace394 --trace-config all --trace-time http://127.0.0.1:34215/394 > log/1/stdout394 2> log/1/stderr394 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind397 ../src/curl -q --output log/3/curl397.out --include --trace-ascii log/3/trace397 --trace-config all --trace-time http://127.0.0.1:34527/397 --compressed > log/3/stdout397 2> log/3/stderr397 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind398 ../src/curl -q --output log/7/curl398.out --include --trace-ascii log/7/trace398 --trace-config all --trace-time http://127.0.0.1:43753/398 > log/7/stdout398 2> log/7/stderr398 ) input to log/8/server.input 02:01:49.992027 Identifying ourselves as friends 02:01:49.992120 Response sent (56 bytes) and written to log/8/server.response 02:01:49.992131 special request received, no persistency 02:01:49.992141 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 395 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind395 ==97998== ==97998== Process terminating with default action of signal 4 (SIGILL) ==97998== Illegal opcode at address 0x10B08D ==97998== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97998== by 0x10B08D: main (tool_main.c:232) === End of file valgrind395 test 0396...[HTTP GET zstd compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind396 ../src/curl -q --output log/12/curl396.out --include --trace-ascii log/12/trace396 --trace-config all --trace-time http://127.0.0.1:40653/396 --compressed > log/12/stdout396 2> log/12/stderr396 396: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 396 === Start of file http_server.log 02:01:50.001889 ====> Client connect 02:01:50.001927 accept_connection 3 returned 4 02:01:50.001946 accept_connection 3 returned 0 02:01:50.001960 Read 93 bytes 02:01:50.001972 Process 93 bytes request 02:01:50.001987 Got request: GET /verifiedserver HTTP/1.1 02:01:50.001997 Are-we-friendly question received 02:01:50.002023 Wrote request (93 bytes) input to log/12/server.input 02:01:50.002041 Identifying ourselves as friends 02:01:50.002118 Response sent (56 bytes) and written to log/12/server.response 02:01:50.002131 special request received, no persistency 02:01:50.008552 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 396 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind396 ==98026== ==98026== Process terminating with default action of signal 4 (SIGILL) ==98026== Illegal opcode at address 0x10B08D ==98026== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98026== by 0x10B08D: main (tool_main.c:232) === End of file valgrind396 test 0394...[HTTP with rubbish in Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind394 ../src/curl -q --output log/1/curl394.out --include --trace-ascii log/1/trace394 --trace-config all --trace-time http://127.0.0.1:34215/394 > log/1/stdout394 2> log/1/stderr394 394: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 394 === Start of file http_server.log 02:01:49.963867 ====> Client connect 02:01:49.963903 accept_connection 3 returned 4 02:01:49.963923 accept_connection 3 returned 0 02:01:49.963940 Read 93 bytes 02:01:49.963952 Process 93 bytes request 02:01:49.963966 Got request: GET /verifiedserver HTTP/1.1 02:01:49.963976 Are-we-friendly question received 02:01:49.964005 Wrote request (93 bytes) input to log/1/server.input 02:01:49.964025 Identifying ourselves as friends 02:01:49.964106 Response sent (56 bytes) and written to log/1/server.response 02:01:49.964122 special request received, no persistency 02:01:49.964133 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 394 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind394 ==97955== ==97955== Process terminating with default action of signal 4 (SIGILL) ==97955== Illegal opcode at address 0x10B08D ==97955== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==97955== by 0x10B08D: main (tool_main.c:232) === End of file valgrind394 test 0397...[HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind397 ../src/curl -q --output log/3/curl397.out --include --trace-ascii log/3/trace397 --trace-config all --trace-time http://127.0.0.1:34527/397 --compressed > log/3/stdout397 2> log/3/stderr397 397: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 397 === Start of file http_server.log 02:01:50.075091 ====> Client connect 02:01:50.075128 accept_connection 3 returned 4 02:01:50.075147 accept_connection 3 returned 0 02:01:50.075305 Read 93 bytes 02:01:50.075320 Process 93 bytes request 02:01:50.075335 Got request: GET /verifiedserver HTTP/1.1 02:01:50.075345 Are-we-friendly question received 02:01:50.075373 Wrote request (93 bytes) input to log/3/server.input 02:01:50.075390 Identifying ourselves as friends 02:01:50.075453 Response sent (56 bytes) and written to log/3/server.response 02:01:50.075464 special request received, no persistency 02:01:50.075473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 397 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind397 ==98052== ==98052== Process terminating with default action of signal 4 (SIGILL) ==98052== Illegal opcode at address 0x10B08D ==98052== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98052== by 0x10B08D: main (tool_main.c:232) === End of file valgrind397 test 0398...[Reject HTCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind399 ../src/curl -q --output log/5/curl399.out --include --trace-ascii log/5/trace399 --trace-config all --trace-time -K log/5/input%TESTNUM > log/5/stdout399 2> log/5/stderr399 TP/1.1 response with colon-less header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind398 ../src/curl -q --output log/7/curl398.out --include --trace-ascii log/7/trace398 --trace-config all --trace-time http://127.0.0.1:43753/398 > log/7/stdout398 2> log/7/stderr398 398: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 398 === Start of file http_server.log 02:01:50.291901 ====> Client connect 02:01:50.291941 accept_connection 3 returned 4 02:01:50.291960 accept_connection 3 returned 0 02:01:50.291975 Read 93 bytes 02:01:50.291986 Process 93 bytes request 02:01:50.292000 Got request: GET /verifiedserver HTTP/1.1 02:01:50.292009 Are-we-friendly question received 02:01:50.292031 Wrote request (93 bytes) input to log/7/server.input 02:01:50.292048 Identifying ourselves as friends 02:01:50.292129 Response sent (56 bytes) and written to log/7/server.response 02:01:50.292141 special request received, no persistency 02:01:50.292150 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 398 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind398 ==98191== ==98191== Process terminating with default action of signal 4 (SIGILL) ==98191== Illegal opcode at address 0x10B08D ==98191== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98191== by 0x10B08D: main (tool_main.c:232) === End of file valgrind398 test 0399...[65536 bytes long host name in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind399 ../src/curl -q --output log/5/curl399.out --include --trace-ascii log/5/trace399 --trace-config all --trace-time -K log/5/input%TESTNUM > log/5/stdout399 2> log/5/stderr399 curl returned 132, when expecting 3 399: exit FAILED == Contents of files in the log/5/ dir after test 399 === Start of file http_server.log 02:01:50.586227 ====> Client connect 02:01:50.586264 accept_connection 3 returned 4 02:01:50.586282 accept_connection 3 returned 0 02:01:50.586298 Read 93 bytes 02:01:50.586308 Process 93 bytes request 02:01:50.586323 Got request: GET /verifiedserver HTTP/1.1 02:01:50.586332 Are-we-friendly question received 02:01:50.586357 Wrote request (93 bytes) input to log/5/server.input 02:01:50.586374 Identifying ourselves as friends 02:01:50.586445 Response sent (56 bytes) and written to log/5/server.response 02:01:50.586456 special request received, no persistency 02:01:50.586466 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind402 ../src/curl -q --output log/4/curl402.out --include --trace-ascii log/4/trace402 --trace-config all --trace-time -k --ftp-ssl-reqd ftp://127.0.0.1:34583/402 > log/4/stdout402 2> log/4/stderr402 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/399 === End of file input%TESTNUM === Start of file server.cmd Testnum 399 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind399 ==98274== ==98274== Process terminating with default action of signal 4 (SIGILL) ==98274== Illegal opcode at address 0x10B08D ==98274== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98274== by 0x10B08D: main (tool_main.c:232) === End of file valgrind399 test 0402...[FTP SSL required on non-SSL server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind402 ../src/curl -q --output log/4/curl402.out --include --trace-ascii log/4/trace402 --trace-config all --trace-time -k --ftp-ssl-reqd ftp://127.0.0.1:34583/402 > log/4/stdout402 2> log/4/stderr402 402: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 402 === Start of file ftp_server.log 02:01:50.476034 ====> Client connect 02:01:50.476203 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:50.476540 < "USER anonymous" 02:01:50.476585 > "331 We are happy you popped in![CR][LF]" 02:01:50.476796 < "PASS ftp@example.com" 02:01:50.476831 > "230 Welcome you silly person[CR][LF]" 02:01:50.477019 < "PWD" 02:01:50.477058 > "257 "/" is current directory[CR][LF]" 02:01:50.478832 < "EPSV" 02:01:50.478861 ====> Passive DATA channel requested by client 02:01:50.478876 DATA sockfilt for passive data channel starting... 02:01:50.486414 DATA sockfilt for passive data channel started (pid 98299) 02:01:50.486519 DATA sockfilt for passive data channel listens on port 32935 02:01:50.486562 > "229 Entering Passive Mode (|||32935|)[LF]" 02:01:50.486579 Client has been notified that DATA conn will be accepted on port 32935 02:01:50.486825 Client connects to port 32935 02:01:50.486852 ====> Client established passive DATA connection on port 32935 02:01:50.486956 < "TYPE I" 02:01:50.486984 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:50.487127 < "SIZE verifiedserver" 02:01:50.487157 > "213 17[CR][LF]" 02:01:50.487296 < "RETR verifiedserver" 02:01:50.487326 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:50.487396 =====> Closing passive DATA connection... 02:01:50.487411 Server disconnects passive DATA connection 02:01:50.487566 Server disconnected passive DATA connection 02:01:50.487587 DATA sockfilt for passive data channel quits (pid 98299) 02:01:50.487779 DATA sockfilt for passive data channel quit (pid 98299) 02:01:50.487799 =====> Closed passive DATA connection 02:01:50.487823 > "226 File transfer complete[CR][LF]" 02:01:50.532108 < "QUIT" 02:01:50.532159 > "221 bye bye baby[CR][LF]" 02:01:50.533302 MAIN sockfilt said DISC 02:01:50.533336 ====> Client disconnected 02:01:50.533405 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:50.676040 ====> Client connect 02:01:50.676363 Received DATA (on stdin) 02:01:50.676382 > 160 bytes data, server => client 02:01:50.676395 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:50.676406 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:50.676418 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:50.676511 < 16 bytes data, client => server 02:01:50.676530 'USER anonymous\r\n' 02:01:50.676734 Received DATA (on stdin) 02:01:50.676749 > 33 bytes data, server => client 02:01:50.676760 '331 We are happy you popped in!\r\n' 02:01:50.676821 < 22 bytes data, client => server 02:01:50.676837 'PASS ftp@example.com\r\n' 02:01:50.676975 Received DATA (on stdin) 02:01:50.676989 > 30 bytes data, server => client 02:01:50.677001 '230 Welcome you silly person\r\n' 02:01:50.677059 < 5 bytes data, client => server 02:01:50.677074 'PWD\r\n' 02:01:50.677201CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind405 ../src/curl -q --output log/6/curl405.out --include --trace-ascii log/6/trace405 --trace-config all --trace-time -m 5 -k ftps://127.0.0.1:40433/path/to/file/405 > log/6/stdout405 2> log/6/stderr405 Received DATA (on stdin) 02:01:50.677215 > 30 bytes data, server => client 02:01:50.677226 '257 "/" is current directory\r\n' 02:01:50.677291 < 6 bytes data, client => server 02:01:50.677306 'EPSV\r\n' 02:01:50.686733 Received DATA (on stdin) 02:01:50.686750 > 38 bytes data, server => client 02:01:50.686761 '229 Entering Passive Mode (|||32935|)\n' 02:01:50.687002 < 8 bytes data, client => server 02:01:50.687014 'TYPE I\r\n' 02:01:50.687122 Received DATA (on stdin) 02:01:50.687133 > 33 bytes data, server => client 02:01:50.687144 '200 I modify TYPE as you wanted\r\n' 02:01:50.687192 < 21 bytes data, client => server 02:01:50.687202 'SIZE verifiedserver\r\n' 02:01:50.687293 Received DATA (on stdin) 02:01:50.687304 > 8 bytes data, server => client 02:01:50.687314 '213 17\r\n' 02:01:50.687359 < 21 bytes data, client => server 02:01:50.687371 'RETR verifiedserver\r\n' 02:01:50.687636 Received DATA (on stdin) 02:01:50.687648 > 29 bytes data, server => client 02:01:50.687659 '150 Binary junk (17 bytes).\r\n' 02:01:50.687961 Received DATA (on stdin) 02:01:50.687974 > 28 bytes data, server => client 02:01:50.687984 '226 File transfer complete\r\n' 02:01:50.732056 < 6 bytes data, client => server 02:01:50.732086 'QUIT\r\n' 02:01:50.732304 Received DATA (on stdin) 02:01:50.732318 > 18 bytes data, server => client 02:01:50.732329 '221 bye bye baby\r\n' 02:01:50.733385 ====> Client disconnect 02:01:50.733549 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:50.686249 Running IPv4 version 02:01:50.686323 Listening on port 32935 02:01:50.686362 Wrote pid 98299 to log/4/server/ftp_sockdata.pid 02:01:50.686498 Received PING (on stdin) 02:01:50.686574 Received PORT (on stdin) 02:01:50.686920 ====> Client connect 02:01:50.687549 Received DATA (on stdin) 02:01:50.687561 > 17 bytes data, server => client 02:01:50.687572 'WE ROOLZ: 80536\r\n' 02:01:50.687600 Received DISC (on stdin) 02:01:50.687612 ====> Client forcibly disconnected 02:01:50.687734 Received QUIT (on stdin) 02:01:50.687744 quits 02:01:50.687798 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 402 === End of file server.cmd === Start of file valgrind402 ==98313== ==98313== Process terminating with default action of signal 4 (SIGILL) ==98313== Illegal opcode at address 0x10B08D ==98313== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98313== by 0x10B08D: main (tool_main.c:232) === End of file valgrind402 test 0405...[FTPS operation to FTP port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind405 ../src/curl -q --output log/6/curl405.out --include --trace-ascii log/6/trace405 --trace-config all --trace-time -m 5 -k ftps://127.0.0.1:40433/path/to/file/405 > log/6/stdout405 2> log/6/stderr405 curl returned 132, when expecting 35,28 405: exit FAILED == Contents of files in the log/6/ dir after test 405 === Start of file ftp_server.log 02:01:50.695399 ====> Client connect 02:01:50.695623 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:50.696032 < "USER anonymous" 02:01:50.696079 > "331 We are happy you popped in![CR][LF]" 02:01:50.696291 < "PASS ftp@example.com" 02:01:50.696323 > "230 Welcome you silly person[CR][LF]" 02:01:50.696514 < "PWD" 02:01:50.696553 > "257 "/" is current directory[CR][LF]" 02:01:50.696764 < "EPSV" 02:01:50.696791 ====> Passive DATA channel requested by client 02:01:50.696807 DATA sockfilt for passive data channel starting... 02:01:50.703103 DATA sockfilt for passive data channel started (pid 98386) 02:01:50.703219 DATA sockfilt for passive data channel listens on port 43375 02:01:50.703263 > "229 Entering Passive Mode (|||43375|)[LF]" 02:01:50.703280 Client has been notified that DATA conn will be accepted on port 43375 02:01:50.703612 Client connects to port 43375 02:01:50.703646 ====> Client established passive DATA connection on port 43375 02:01:50.703733 < "TYPE I" 02:01:50.703769 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:50.703975 < "SIZE verifiedserver" 02:01:50.704023 > "213 17[CR][LF]" 02:01:50.704209 < "RETR verifiedserver" 02:01:50.704249 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:50.704334 =====> Closing passive DATA connection... 02:01:50.704352 Server disconnects passive DATA connection 02:01:50.704617 Server disconnected passive DATA connection 02:01:50.704647 DATA sockfilt for passive data channel quits (pid 98386) 02:01:50.704862 DATA sockfilt for passive data channel quit (pid 98386) 02:01:50.704888 =====> Closed passive DATA connection 02:01:50.704918 > "226 File transfer complete[CR][LF]" 02:01:50.745845 < "QUIT" 02:01:50.745894 > "221 bye bye baby[CR][LF]" 02:01:50.746600 MAIN sockfilt said DISC 02:01:50.746641 ====> Client disconnected 02:01:50.746701 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:50.885847 ====> Client connect 02:01:50.895810 Received DATA (on stdin) 02:01:50.895836 > 160 bytes data, server => client 02:01:50.895850 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:50.895863 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:50.895875 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:50.896005 < 16 bytes data, client => server 02:01:50.896025 'USER anonymous\r\n' 02:01:50.896226 Received DATA (on stdin) 02:01:50.896240 > 33 bytes data, server => client 02:01:50.896251 '331 We are happy you popped in!\r\n' 02:01:50.896320 < 22 bytes data, client => server 02:01:50.896334 'PASS ftp@example.com\r\n' 02:01:50.896462 Received DATA (on stdin) 02:01:50.896476 > 30 bytes data, server => client 02:01:50.896487 '230 Welcome you silly person\r\n' 02:01:50.896551 < 5 bytes data, client => server 02:01:50.896567 'PWD\r\n' 02:01:50.896699 Received DATA (on stdin) 02:01:50.896712 > 30 bytes data, server => client 02:01:50.896723 '257 "/" is current directory\r\n' 02:01:50.896800 < 6 bytes data, client => server 02:01:50.896817 'EPSV\r\n' 02:01:50.903432 Received DATA (on stdin) 02:01:50.903450 > 38 bytes data, server => client 02:01:50.903462 '229 Entering Passive Mode (|||43375|)\n' 02:01:50.903694 < 8 bytes data, client => server 02:01:50.903709 'TYPE I\r\n' 02:01:50.903914 Received DATA (on stdin) 02:01:50.903928 > 33 bytes data, server => client 02:01:50.903940 '200 I modify TYPE as you wanted\r\n' 02:01:50.904012 < 21 bytes data, client => server 02:01:50.904027 'SIZE verifiedserver\r\n' 02:01:50.904167 Received DATA (on stdin) 02:01:50.904180 > 8 bytes data, server => client 02:01:50.904191 '213 17\r\n' 02:01:50.904252 < 21 bytes data, client => server 02:01:50.904266 'RETR verifiedserver\r\n' 02:01:50.904603 Received DATA (on stdin) 02:01:50.904617 > 29 bytes data, server => client 02:01:50.904629 '150 Binary junk (17 bytes).\r\n' 02:01:50.905060 Received DATA (on stdin) 02:01:50.905074 > 28 bytes data, server => client 02:01:50.905085 '226 File transfer complete\r\n' 02:01:50.945472 < 6 bytes data, client => server 02:01:50.945507 'QUIT\r\n' 02:01:50.946040 Received DATA (on stdin) 02:01:50.946054 > 18 bytes data, server => client 02:01:50.946064 '221 bye bye baby\r\n' 02:01:50.946122 ====> Client disconnect 02:01:50.946839 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:50.902911 Running IPv4 version 02:01:50.902984 Listening on port 43375 02:01:50.903022 Wrote pid 98386 to log/6/server/ftp_sockdata.pid 02:01:50.903185 Received PING (on stdin) 02:01:50.903269 Received PORT (on stdin) 02:01:50.903662 ====> Client connect 02:01:50.904495 Received DATA (on stdin) 02:01:50.904510 > 17 bytes data, server => client 02:01:50.904521 'WE ROOLZ: 80451\r\n' 02:01:50.904556 Received DISC (on stdin) 02:01:50.904571 ====> Client forcibly disconnected 02:01:50.9047CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind411 ../src/curl -q --output log/9/curl411.out --include --trace-ascii log/9/trace411 --trace-config all --trace-time -K log/9/missing http://localhost > log/9/stdout411 2> log/9/stderr411 99 Received QUIT (on stdin) 02:01:50.904812 quits 02:01:50.904867 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End of file server.cmd === Start of file valgrind405 ==98435== ==98435== Process terminating with default action of signal 4 (SIGILL) ==98435== Illegal opcode at address 0x10B08D ==98435== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98435== by 0x10B08D: main (tool_main.c:232) === End of file valgrind405 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind416 ../src/curl -q --output log/10/curl416.out --include --trace-ascii log/10/trace416 --trace-config all --trace-time --ignore-content-length ftp://127.0.0.1:42661/416 > log/10/stdout416 2> log/10/stderr416 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind418 ../src/curl -q --output log/11/curl418.out --include --trace-ascii log/11/trace418 --trace-config all --trace-time http://127.0.0.1:44137/418 -sS --tr-encoding > log/11/stdout418 2> log/11/stderr418 * starts no server test 0411...[-K with missing file causes error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind411 ../src/curl -q --output log/9/curl411.out --include --trace-ascii log/9/trace411 --trace-config all --trace-time -K log/9/missing http://localhost > log/9/stdout411 2> log/9/stderr411 411: stderr FAILED: --- log/9/check-expected 2024-12-15 02:01:51.788665462 +0000 +++ log/9/check-generated 2024-12-15 02:01:51.788665462 +0000 @@ -1,3 +0,0 @@ -curl: cannot read config from 'log/9/missing'[CR][LF] -curl: option -K: error encountered when reading a file[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/9/ dir after test 411 === Start of file check-expected curl: cannot read config from 'log/9/missing'[CR][LF] curl: option -K: error encountered when reading a file[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 411 === End of file server.cmd === Start of file valgrind411 ==98371== ==98371== Process terminating with default action of signal 4 (SIGILL) ==98371== Illegal opcode at address 0x10B08D ==98371== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98371== by 0x10B08D: main (tool_main.c:232) === End of file valgrind411 test 0416...[FTP growing file support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind416 ../src/curl -q --output log/10/curl416.out --include --trace-ascii log/10/trace416 --trace-config all --trace-time --ignore-content-length ftp://127.0.0.1:42661/416 > log/10/stdout416 2> log/10/stderr416 416: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 416 === Start of file ftp_server.log 02:01:50.870982 ====> Client connect 02:01:50.871118 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:50.875271 < "USER anonymous" 02:01:50.875321 > "331 We are happy you popped in![CR][LF]" 02:01:50.875520 < "PASS ftp@example.com" 02:01:50.875554 > "230 Welcome you silly person[CR][LF]" 02:01:50.875725 < "PWD" 02:01:50.875759 > "257 "/" is current directory[CR][LF]" 02:01:50.875935 < "EPSV" 02:01:50.875961 ====> Passive DATA channel requested by client 02:01:50.875975 DATA sockfilt for passive data channel starting... 02:01:50.882017 DATA sockfilt for passive data channel started (pid 98557) 02:01:50.882127 DATA sockfilt for passive data channel listens on port 42263 02:01:50.882170 > "229 Entering Passive Mode (|||42263|)[LF]" 02:01:50.882189 Client has been notified that DATA conn will be accepted on port 42263 02:01:50.882499 Client connects to port 42263 02:01:50.882531 ====> Client established passive DATA connection on port 42263 02:01:50.882606 < "TYPE I" 02:01:50.882635 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:50.882804 < "SIZE verifiedserver" 02:01:50.882844 > "213 17[CR][LF]" 02:01:50.883003 < "RETR verifiedserver" 02:01:50.883038 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:50.883122 =====> Closing passive DATA connection... 02:01:50.883138 Server disconnects passive DATA connection 02:01:50.883313 Server disconnected passive DATA connection 02:01:50.883341 DATA sockfilt for passive data channel quits (pid 98557) 02:01:50.883536 DATA sockfilt for passive data channel quit (pid 98557) 02:01:50.883561 =====> Closed passive DATA connection 02:01:50.883587 > "226 File transfer complete[CR][LF]" 02:01:50.928600 < "QUIT" 02:01:50.928657 > "221 bye bye baby[CR][LF]" 02:01:50.939158 MAIN sockfilt said DISC 02:01:50.939217 ====> Client disconnected 02:01:50.939287 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:51.071017 ====> Client connect 02:01:51.071256 Received DATA (on stdin) 02:01:51.071271 > 160 bytes data, server => client 02:01:51.071284 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:51.071295 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:51.071306 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:51.075236 < 16 bytes data, client => server 02:01:51.075261 'USER anonymous\r\n' 02:01:51.075468 Received DATA (on stdin) 02:01:51.075482 > 33 bytes data, server => client 02:01:51.075494 '331 We are happy you popped in!\r\n' 02:01:51.075557 < 22 bytes data, client => server 02:01:51.075572 'PASS ftp@example.com\r\n' 02:01:51.075696 Received DATA (on stdin) 02:01:51.075709 > 30 bytes data, server => client 02:01:51.075720 '230 Welcome you silly person\r\n' 02:01:51.075775 < 5 bytes data, client => server 02:01:51.075788 'PWD\r\n' 02:01:51.075901 Received DATA (on stdin) 02:01:51.075914 > 30 bytes data, server => client 02:01:51.075925 '257 "/" is current directory\r\n' 02:01:51.075986 < 6 bytes data, client => server 02:01:51.075999 'EPSV\r\n' 02:01:51.082340 Received DATA (on stdin) 02:01:51.082356 > 38 bytes data, server => client 02:01:51.082367 '229 Entering Passive Mode (|||42263|)\n' 02:01:51.082579 < 8 bytes data, client => server 02:01:51.082596 'TYPE I\r\n' 02:01:51.082775 Received DATA (on stdin) 02:01:51.082787 > 33 bytes data, server => client 02:01:51.082799 '200 I modify TYPE as you wanted\r\n' 02:01:51.082855 < 21 bytes data, client => server 02:01:51.082868 'SIZE verifiedserver\r\n' 02:01:51.082983 Received DATA (on stdin) 02:01:51.082996 > 8 bytes data, server => client 02:01:51.083007 '213 17\r\n' 02:01:51.083059 < 21 bytes data, client => server 02:01:51.083071 'RETR verifiedserver\r\n' 02:01:51.083376 Received DATA (on stdin) 02:01:51.083390 > 29 bytes data, server => client 02:01:51.083401 '150 Binary junk (17 bytes).\r\n' 02:01:51.083729 Received DATA (on stdin) 02:01:51.083743 > 28 bytes data, server => client 02:01:51.083754 '226 File transfer complete\r\n' 02:01:51.128536 < 6 bytes data, client => server 02:01:51.128574 'QUIT\r\n' 02:01:51.128805 Received DATA (on stdin) 02:01:51.128820 > 18 bytes data, server => client 02:01:51.128831 '221 bye bye baby\r\n' 02:01:51.139214 ====> Client disconnect 02:01:51.139427 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:50.079493 Running IPv4 version 02:01:50.079550 Listening on port 42263 02:01:50.079583 Wrote pid 98557 to log/10/server/ftp_sockdata.pid 02:01:50.082088 Received PING (on stdin) 02:01:50.082181 Received PORT (on stdin) 02:01:50.082548 ====> Client connect 02:01:50.083278 Received DATA (on stdin) 02:01:50.083291 > 17 bytes data, server => client 02:01:50.083302 'WE ROOLZ: 80449\r\n' 02:01:50.083334 Received DISC (on stdin) 02:01:50.083348 ====> Client forcibly disconnected 02:01:50.083489 Received QUIT (on stdin) 02:01:50.083501 quits 02:01:50.083554 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRSIZE 7 Testnum 416 === End of file server.cmd === Start of file valgrind416 ==98599== ==98599== Process terminating with default action of signal 4 (SIGILL) ==98599== Illegal opcode at address 0x10B08D ==98599== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98599== by 0x10B08D: main (tool_main.c:232) === End of file valgrind416 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind415 ../src/curl -q --output log/2/curl415.out --include --trace-ascii log/2/trace415 --trace-config all --trace-time http://127.0.0.1:38781/415 > log/2/stdout415 2> log/2/stderr415 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind421 ../src/curl -q --output log/1/curl421.out --include --trace-ascii log/1/trace421 --trace-config all --trace-time http://127.0.0.1:34215/421 -w '%{stderr}%{header_json}\n' -s > log/1/stdout421 2> log/1/stderr421 test 0418...[Response with multiple Transfer-Encoding headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind418 ../src/curl -q --output log/11/curl418.out --include --trace-ascii log/11/trace418 --trace-config all --trace-time http://127.0.0.1:44137/418 -sS --tr-encoding > log/11/stdout418 2> log/11/stderr418 418: stderr FAILED: --- log/11/check-expected 2024-12-15 02:01:52.285341063 +0000 +++ log/11/check-generated 2024-12-15 02:01:52.285341063 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/11/ dir after test 418 === Start of file check-expected curl: (61) Reject response due to more than 5 content encodings[CR][LF] === End of file check-expected === Start of file http_server.log 02:01:51.160400 ====> Client connect 02:01:51.160440 accept_connection 3 returned 4 02:01:51.160461 accept_connection 3 returned 0 02:01:51.162506 Read 93 bytes 02:01:51.162598 Process 93 bytes request 02:01:51.162621 Got request: GET /verifiedserver HTTP/1.1 02:01:51.162632 Are-we-friendly question received 02:01:51.162687 Wrote request (93 bytes) input to log/11/server.input 02:01:51.162716 Identifying ourselves as friends 02:01:51.162812 Response sent (56 bytes) and written to log/11/server.response 02:01:51.162833 special request received, no persistency 02:01:51.162844 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 418 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind418 ==98619== ==98619== Process terminating with default action of signal 4 (SIGILL) ==98619== Illegal opcode at address 0x10B08D ==98619== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98619== by 0x10B08D: main (tool_main.c:232) === End of file valgrind418 test 0415...[HTTP response with control code then negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind415 ../src/curl -q --output log/2/curl415.out --include --trace-ascii log/2/trace415 --trace-config all --trace-time http://127.0.0.1:38781/415 > log/2/stdout415 2> log/2/stderr415 415: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 415 === Start of file http_server.log 02:01:51.026759 ====> Client connect 02:01:51.026793 accept_connection 3 returned 4 02:01:51.026811 accept_connection 3 returned 0 02:01:51.026826 Read 93 bytes 02:01:51.026838 Process 93 bytes request 02:01:51.026853 Got request: GET /verifiedserver HTTP/1.1 02:01:51.026863 Are-we-friendly question received 02:01:51.026889 Wrote request (93 bytes) input to log/2/server.input 02:01:51.026907 Identifying ourselves as friends 02:01:51.026978 Response sent (56 bytes) and written to log/2/server.response 02:01:51.026990 special request received, no persistency 02:01:51.027000 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind415 ==98536== ==98536== Process terminating with default action of signal 4 (SIGILL) ==98536== Illegal opcode at address 0x10B08D ==98536== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98536== by 0x10B08D: main (tool_main.c:232) === End of file valgrind415 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind422 ../src/curl -q --output log/3/curl422.out --include --trace-ascii log/3/trace422 --trace-config all --trace-time -O -I --next http://127.0.0.1:34527/422 > log/3/stdout422 2> log/3/stderr422 test 0421...[HTTP GET multiple headers and %{header_json}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind421 ../src/curl -q --output log/1/curl421.out --include --trace-ascii log/1/trace421 --trace-config all --trace-time http://127.0.0.1:34215/421 -w '%{stderr}%{header_json}\n' -s > log/1/stdout421 2> log/1/stderr421 421: stderr FAILED: --- log/1/check-expected 2024-12-15 02:01:52.428676974 +0000 +++ log/1/check-generated 2024-12-15 02:01:52.428676974 +0000 @@ -1,19 +0,0 @@ -{"server":["nginx"],[CR][LF] -"date":["Tue, 07 Mar 2023 15:14:41 GMT"],[CR][LF] -"content-type":["application/json"],[CR][LF] -"content-length":["6"],[CR][LF] -"vary":["Accept-Encoding","Accept-Encoding","Accept"],[CR][LF] -"access-control-allow-origin":["*"],[CR][LF] -"referrer-policy":["strict-origin-when-cross-origin","strict-origin-when-cross-origin"],[CR][LF] -"access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],[CR][LF] -"access-control-max-age":["1728000"],[CR][LF] -"access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],[CR][LF] -"access-control-expose-headers":[""],[CR][LF] -"etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],[CR][LF] -"cache-control":["max-age=0, private, must-revalidate"],[CR][LF] -"x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],[CR][LF] -"strict-transport-security":["max-age=31536000; includeSubDomains"],[CR][LF] -"x-content-type-options":["nosniff"],[CR][LF] -"x-xss-protection":["1; mode=block"],[CR][LF] -"feature-policy":["accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"][CR][LF] -}[CR][LF] == Contents of files in the log/1/ dir after test 421 === Start of file check-expected {"server":["nginx"],[CR][LF] "date":["Tue, 07 Mar 2023 15:14:41 GMT"],[CR][LF] "content-type":["application/json"],[CR][LF] "content-length":["6"],[CR][LF] "vary":["Accept-Encoding","Accept-Encoding","Accept"],[CR][LF] "access-control-allow-origin":["*"],[CR][LF] "referrer-policy":["strict-origin-when-cross-origin","strict-origin-when-cross-origin"],[CR][LF] "access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],[CR][LF] "access-control-max-age":["1728000"],[CR][LF] "access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],[CR][LF] "access-control-expose-headers":[""],[CR][LF] "etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],[CR][LF] "cache-control":["max-age=0, private, must-revalidate"],[CR][LF] "x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],[CR][LF] "strict-transport-security":["max-age=31536000; includeSubDomains"],[CR][LF] "x-content-type-options":["nosniff"],[CR][LF] "x-xss-protection":["1; mode=block"],[CR][LF] "feature-policy":["accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"][CR][LF] }[CR][LF] === End of file check-expected === Start of file http_server.log 02:01:51.462097 ====> Client connect 02:01:51.462133 accept_connection 3 returned 4 02:01:51.462152 accept_connection 3 returned 0 02:01:51.462168 Read 93 bytes 02:01:51.462180 Process 93 bytes request 02:01:51.462196 Got request: GET /verifiedserver HTTP/1.1 02:01:51.462206 Are-we-friendly question received 02:01:51.462235 Wrote request (93 bytes) input to log/1/server.input 02:01:51.462253 Identifying ourselves as friends 02:01:51.462320 Response sent (56 bytes) and written to log/1/server.response 02:01:51.462331 special request received, no persistency 02:01:51.462340 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 421 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind421 ==98814== ==98814== Process terminating with default action of signal 4 (SIGILL) ==98814== Illegal opcode at address 0x10B08D ==98814== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98814== by 0x10B08D: main (tool_main.c:232) === End of file valgrind421 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind419 ../src/curl -q --output log/8/curl419.out --include --trace-ascii log/8/trace419 --trace-config all --trace-time http://127.0.0.1:43803/419 -D loggg/save-here/fails > log/8/stdout419 2> log/8/stderr419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind424 ../src/curl -q --trace-ascii log/5/trace424 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:33361/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:33361/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:33361/ -L > log/5/stdout424 2> log/5/stderr424 * starts no server test 0422...[use --next with missing URL before it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind422 ../src/curl -q --output log/3/curl422.out --include --trace-ascii log/3/trace422 --trace-config all --trace-time -O -I --next http://127.0.0.1:34527/422 > log/3/stdout422 2> log/3/stderr422 422: stderr FAILED: --- log/3/check-expected 2024-12-15 02:01:52.458677515 +0000 +++ log/3/check-generated 2024-12-15 02:01:52.458677515 +0000 @@ -1,3 +0,0 @@ -curl: missing URL before --next[CR][LF] -curl: option --next: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/3/ dir after test 422 === Start of file check-expected curl: missing URL before --next[CR][LF] curl: option --next: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 ==98865== ==98865== Process terminating with default action of signal 4 (SIGILL) ==98865== Illegal opcode at address 0x10B08D ==98865== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98865== by 0x10B08D: main (tool_main.c:232) === End of file valgrind422 test 0419...[--dump-header to file that cannot be created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind419 ../src/curl -q --output log/8/curl419.out --include --trace-ascii log/8/trace419 --trace-config all --trace-time http://127.0.0.1:43803/419 -D loggg/save-here/fails > log/8/stdout419 2> log/8/stderr419 curl returned 132, when expecting 23 419: exit FAILED == Contents of files in the log/8/ dir after test 419 === Start of file http_server.log 02:01:51.282513 ====> Client connect 02:01:51.282555 accept_connection 3 returned 4 02:01:51.282576 accept_connection 3 returned 0 02:01:51.282592 Read 93 bytes 02:01:51.282603 Process 93 bytes request 02:01:51.282617 Got request: GET /verifiedserver HTTP/1.1 02:01:51.282627 Are-we-friendly question received 02:01:51.282651 Wrote request (93 bytes) input to log/8/server.input 02:01:51.282670 Identifying ourselves as friends 02:01:51.282766 Response sent (56 bytes) and written to log/8/server.response 02:01:51.282782 special request received, no persistency 02:01:51.282793 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 419 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind419 ==98698== ==98698== Process terminating with default action of signal 4 (SIGILL) ==98698== Illegal opcode at address 0x10B08D ==98698== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98698== by 0x10B08D: main (tool_main.c:232) === End of file valgrind419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind420 ../src/curl -q --output log/12/curl420.out --include --trace-ascii log/12/trace420 --trace-config all --trace-time http://127.0.0.1:40653/func_test/del_cookie -b log/12/cookie420 -c log/12/save420 > log/12/stdout420 2> log/12/stderr420 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind423 ../src/curl -q --trace-ascii log/7/trace423 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:43753/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:43753/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/7/stdout423 2> log/7/stderr423 test 0424...[-w with urle.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind424 ../src/curl -q --trace-ascii log/5/trace424 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:33361/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:33361/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:33361/ -L > log/5/stdout424 2> log/5/stderr424 424: stdout FAILED: --- log/5/check-expected 2024-12-15 02:01:52.778683271 +0000 +++ log/5/check-generated 2024-12-15 02:01:52.778683271 +0000 @@ -1,4 +0,0 @@ -anotherhost.example+/4240002+http+++2023+moo.html+[LF] -hello2000+/424+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -anotherhost.example+/4240002+http+++2023+moo.html+[LF] == Contents of files in the log/5/ dir after test 424 === Start of file check-expected anotherhost.example+/4240002+http+++2023+moo.html+[LF] hello2000+/424+h55p+++1+qqqq+ffff[LF] +++++++[LF] anotherhost.example+/4240002+http+++2023+moo.html+[LF] === End of file check-expected === Start of file http_server.log 02:01:51.687615 ====> Client connect 02:01:51.687662 accept_connection 3 returned 4 02:01:51.687680 accept_connection 3 returned 0 02:01:51.687695 Read 93 bytes 02:01:51.687715 Process 93 bytes request 02:01:51.687730 Got request: GET /verifiedserver HTTP/1.1 02:01:51.687740 Are-we-friendly question received 02:01:51.687765 Wrote request (93 bytes) input to log/5/server.input 02:01:51.687790 Identifying ourselves as friends 02:01:51.687874 Response sent (56 bytes) and written to log/5/server.response 02:01:51.687887 special request received, no persistency 02:01:51.687896 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 424 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind424 ==98993== ==98993== Process terminating with default action of signal 4 (SIGILL) ==98993== Illegal opcode at address 0x10B08D ==98993== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98993== by 0x10B08D: main (tool_main.c:232) === End of file valgrind424 test 0420...[Setting cookies set with expired dates that were loaded from jar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind420 ../src/curl -q --output log/12/curl420.out --include --trace-ascii log/12/trace420 --trace-config all --trace-time http://127.0.0.1:40653/func_test/del_cookie -b log/12/cookie420 -c log/12/save420 > log/12/stdout420 2> log/12/stderr420 420: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 420 === Start of file cookie420 127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie6 991 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie5 990 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie4 950 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie3 900 #HttpOnly_127.0.0.1 FALSE /func_test/ FALSE 21709598616 mycookie2 5900 #HttpOnly_127.0.0.1 FALSE / FALSE 21709598616 mycookie1 4900 #HttpOnly_127.0.0.1 FALSE /func_test/ FALSE 0 mycookie 1200 === End of file cookie420 === Start of file http_server.log 02:01:51.468423 ====> Client connect 02:01:51.468457 accept_connection 3 returned 4 02:01:51.468475 accept_connection 3 returned 0 02:01:51.468501 Read 93 bytes 02:01:51.468513 Process 93 bytes request 02:01:51.468528 Got request: GET /verifiedserver HTTP/1.1 02:01:51.468538 Are-we-friendly question received 02:01:51.468564 Wrote request (93 bytes) input to log/12/server.input 02:01:51.468583 Identifying ourselves as friends 02:01:51.468661 Response sent (56 bytes) and written to log/12/server.response 02:01:51.468676 special request received, no persistency 02:01:51.468686 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 420 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind420 ==98833== ==98833== Process terminating with default action of signal 4 (SIGILL) ==98833== Illegal opcode at address 0x10B08D ==98833== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98833== by 0x10B08D: main (tool_main.c:232) === End of file valgrind420 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind425 ../src/curl -q --output log/4/curl425.out --include --trace-ascii log/4/trace425 --trace-config all --trace-time -T log/4/up425 http://127.0.0.1:36813/425/?fullpath > log/4/stdout425 2> log/4/stderr425 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind426 ../src/curl -q --output log/6/curl426.out --include --trace-ascii log/6/trace426 --trace-config all --trace-time http://127.0.0.1:39457/426 -d foobar -C 3 > log/6/stdout426 2> log/6/stderr426 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind427 ../src/curl -q --output log/9/curl427.out --include --trace-ascii log/9/trace427 --trace-config all --trace-time http://127.0.0.1:38509/427 -c log/9/cookies427 -L > log/9/stdout427 2> log/9/stderr427 test 0423...[-w with url.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind423 ../src/curl -q --trace-ascii log/7/trace423 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:43753/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:43753/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/7/stdout423 2> log/7/stderr423 423: stdout FAILED: --- log/7/check-expected 2024-12-15 02:01:52.942019541 +0000 +++ log/7/check-generated 2024-12-15 02:01:52.942019541 +0000 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+43753+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+43753+qqqq+ffff[LF] == Contents of files in the log/7/ dir after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+43753+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+43753+qqqq+ffff[LF] === End of file check-expected === Start of file http_server.log 02:01:51.656760 ====> Client connect 02:01:51.656793 accept_connection 3 returned 4 02:01:51.656810 accept_connection 3 returned 0 02:01:51.656825 Read 93 bytes 02:01:51.656835 Process 93 bytes request 02:01:51.656850 Got request: GET /verifiedserver HTTP/1.1 02:01:51.656860 Are-we-friendly question received 02:01:51.656882 Wrote request (93 bytes) input to log/7/server.input 02:01:51.656899 Identifying ourselves as friends 02:01:51.656964 Response sent (56 bytes) and written to log/7/server.response 02:01:51.656975 special request received, no persistency 02:01:51.656985 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 423 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind423 ==98942== ==98942== Process terminating with default action of signal 4 (SIGILL) ==98942== Illegal opcode at address 0x10B08D ==98942== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==98942== by 0x10B08D: main (tool_main.c:232) === End of file valgrind423 test 0425...[HTTP PUT with path ending with slash + query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind425 ../src/curl -q --output log/4/curl425.out --include --trace-ascii log/4/trace425 --trace-config all --trace-time -T log/4/up425 http://127.0.0.1:36813/425/?fullpath > log/4/stdout425 2> log/4/stderr425 425: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 425 === Start of file http_server.log 02:01:52.060937 ====> Client connect 02:01:52.060974 accept_connection 3 returned 4 02:01:52.060993 accept_connection 3 returned 0 02:01:52.061009 Read 93 bytes 02:01:52.061021 Process 93 bytes request 02:01:52.061037 Got request: GET /verifiedserver HTTP/1.1 02:01:52.061046 Are-we-friendly question received 02:01:52.061072 Wrote request (93 bytes) input to log/4/server.input 02:01:52.061090 Identifying ourselves as friends 02:01:52.061162 Response sent (56 bytes) and written to log/4/server.response 02:01:52.061175 special request received, no persistency 02:01:52.061185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 425 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 ==99162== ==99162== Process terminating with default action of signal 4 (SIGILL) ==99162== Illegal opcode at address 0x10B08D ==99162== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99162== by 0x10B08D: main (tool_main.c:232) === End of file valgrind425 test 0426...[try --data with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind426 ../src/curl -q --output log/6/curl426.out --include --trace-ascii log/6/trace426 --trace-config all --trace-time http://127.0.0.1:39457/426 -d foobar -C 3 > log/6/stdout426 2> log/6/stderr426 curl returned 132, when expecting 2 426: exit FAILED == Contents of files in the log/6/ dir after test 426 === Start of file http_server.log 02:01:52.077146 ====> Client connect 02:01:52.077183 accept_connection 3 returned 4 02:01:52.077205 accept_connection 3 returned 0 02:01:52.077222 Read 93 bytes 02:01:52.077234 Process 93 bytes request 02:01:52.077249 Got request: GET /verifiedserver HTTP/1.1 02:01:52.077259 Are-we-friendly question received 02:01:52.077286 Wrote request (93 bytes) input to log/6/server.input 02:01:52.077306 Identifying ourselves as friends 02:01:52.077377 Response sent (56 bytes) and written to log/6/server.response 02:01:52.077388 special request received, no persistency 02:01:52.077397 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 426 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind426 ==99163== ==99163== Process terminating with default action of signal 4 (SIGILL) ==99163== Illegal opcode at address 0x10B08D ==99163== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99163== by 0x10B08D: main (tool_main.c:232) === End of file valgrind426 test 0427...[Keep Cookie: header within 8190 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind427 ../src/curl -q --output log/9/curl427.out --include --trace-ascii log/9/trace427 --trace-config all --trace-time http://127.0.0.1:38509/427 -c log/9/cookies427 -L > log/9/stdout427 2> log/9/stderr427 427: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 427 === Start of file http_server.log 02:01:52.091003 ====> Client connect 02:01:52.091042 accept_connection 3 returned 4 02:01:52.091064 accept_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind428 ../src/curl -q --output log/10/curl428.out --include --trace-ascii log/10/trace428 --trace-config all --trace-time http://127.0.0.1:42929/428 -K log/10/cmd > log/10/stdout428 2> log/10/stderr428 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind429 ../src/curl -q --output log/11/curl429.out --include --trace-ascii log/11/trace429 --trace-config all --trace-time http://127.0.0.1:44137/429 -K log/11/cmd > log/11/stdout429 2> log/11/stderr429 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind430 ../src/curl -q --output log/2/curl430.out --include --trace-ascii log/2/trace430 --trace-config all --trace-time -K log/2/config430-a -K log/2/config430-b -K log/2/config430-c > log/2/stdout430 2> log/2/stderr430 connection 3 returned 0 02:01:52.091082 Read 93 bytes 02:01:52.091093 Process 93 bytes request 02:01:52.091110 Got request: GET /verifiedserver HTTP/1.1 02:01:52.091120 Are-we-friendly question received 02:01:52.091148 Wrote request (93 bytes) input to log/9/server.input 02:01:52.091167 Identifying ourselves as friends 02:01:52.091245 Response sent (56 bytes) and written to log/9/server.response 02:01:52.091258 special request received, no persistency 02:01:52.091268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 427 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind427 ==99180== ==99180== Process terminating with default action of signal 4 (SIGILL) ==99180== Illegal opcode at address 0x10B08D ==99180== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99180== by 0x10B08D: main (tool_main.c:232) === End of file valgrind427 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0428...[Expand environment variables within config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind428 ../src/curl -q --output log/10/curl428.out --include --trace-ascii log/10/trace428 --trace-config all --trace-time http://127.0.0.1:42929/428 -K log/10/cmd > log/10/stdout428 2> log/10/stderr428 428: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 428 === Start of file cmd --variable %FUNVALUE --variable %VALUE2 --variable %BLANK --variable %curl_NOT_SET=default --expand-data 1{{FUNVALUE}}2{{VALUE2}}3{{curl_NOT_SET}}4{{BLANK}}5\{{verbatim}}6{{not.good}}7{{}} === End of file cmd === Start of file http_server.log 02:01:52.390893 ====> Client connect 02:01:52.390930 accept_connection 3 returned 4 02:01:52.390947 accept_connection 3 returned 0 02:01:52.390962 Read 93 bytes 02:01:52.390998 Process 93 bytes request 02:01:52.391013 Got request: GET /verifiedserver HTTP/1.1 02:01:52.391022 Are-we-friendly question received 02:01:52.391047 Wrote request (93 bytes) input to log/10/server.input 02:01:52.391065 Identifying ourselves as friends 02:01:52.391179 Response sent (56 bytes) and written to log/10/server.response 02:01:52.391191 special request received, no persistency 02:01:52.391201 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind428 ==99328== ==99328== Process terminating with default action of signal 4 (SIGILL) ==99328== Illegal opcode at address 0x10B08D ==99328== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99328== by 0x10B08D: main (tool_main.c:232) === End of file valgrind428 setenv FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF = contents2023 test 0429...[Expand environment variable in config file - too long name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind429 ../src/curl -q --output log/11/curl429.out --include --trace-ascii log/11/trace429 --trace-config all --trace-time http://127.0.0.1:44137/429 -K log/11/cmd > log/11/stdout429 2> log/11/stderr429 429: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 429 === Start of file cmd --expand-data {{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}} === End of file cmd === Start of file http_server.log 02:01:52.628008 ====> Client connect 02:01:52.628051 accept_connection 3 returned 4 02:01:52.628068 accept_connection 3 returned 0 02:01:52.628084 Read 93 bytes 02:01:52.628095 Process 93 bytes request 02:01:52.628110 Got request: GET /verifiedserver HTTP/1.1 02:01:52.628119 Are-we-friendly question received 02:01:52.628143 Wrote request (93 bytes) input to log/11/server.input 02:01:52.628160 Identifying ourselves as friends 02:01:52.628242 Response sent (56 bytes) and written to log/11/server.response 02:01:52.628254 special request received, no persistency 02:01:52.628263 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind429 ==99449== ==99449== Process terminating with default action of signal 4 (SIGILL) ==99449== Illegal opcode at address 0x10B08D ==99449== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99449== by 0x10B08D: main (tool_main.c:232) === End of file valgrind429 test 0430...[Three -K uses with --next and --data in each] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind430 ../src/curl -q --output log/2/curl430.out --include --trace-ascii log/2/trace430 --trace-config all --trace-time -K log/2/config430-a -K log/2/config430-b -K log/2/config430-c > log/2/stdout430 2> log/2/stderr430 430: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 430 === Start of file config430-a --next url = 127.0.0.1:38781/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:38781/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 127.0.0.1:38781/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 02:01:52.591645 ====> Client connect 02:01:52.591682 accept_connection 3 returned 4 02:01:52.591701 accept_connection 3 returned 0 02:01:52.591716 Read 93 bytes 02:01:52.591727 Process 93 bytes request 02:01:52.591743 Got request: GET /verifiedserver HTTP/1.1 02:01:52.591753 Are-we-friendly question received 02:01:52.591779CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind432 ../src/curl -q --output log/3/curl432.out --include --trace-ascii log/3/trace432 --trace-config all --trace-time -K log/3/config432 > log/3/stdout432 2> log/3/stderr432 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind431 ../src/curl -q --output log/1/curl431.out --include --trace-ascii log/1/trace431 --trace-config all --trace-time -K log/1/config431-a -K log/1/config431-b --next -d c 127.0.0.1:34215/4310003 -H "c: c" > log/1/stdout431 2> log/1/stderr431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind434 ../src/curl -q --output log/8/curl434.out --include --trace-ascii log/8/trace434 --trace-config all --trace-time -K log/8/config434 > log/8/stdout434 2> log/8/stderr434 Wrote request (93 bytes) input to log/2/server.input 02:01:52.591799 Identifying ourselves as friends 02:01:52.591895 Response sent (56 bytes) and written to log/2/server.response 02:01:52.591909 special request received, no persistency 02:01:52.591919 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 430 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind430 ==99416== ==99416== Process terminating with default action of signal 4 (SIGILL) ==99416== Illegal opcode at address 0x10B08D ==99416== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99416== by 0x10B08D: main (tool_main.c:232) === End of file valgrind430 test 0432...[Use -K with --next and --config from within] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind432 ../src/curl -q --output log/3/curl432.out --include --trace-ascii log/3/trace432 --trace-config all --trace-time -K log/3/config432 > log/3/stdout432 2> log/3/stderr432 432: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 432 === Start of file config432 --next url = 127.0.0.1:34527/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:34527/4320002 header = "b: b" data = "b" config = "log/3/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:34527/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 02:01:52.765261 ====> Client connect 02:01:52.765292 accept_connection 3 returned 4 02:01:52.765308 accept_connection 3 returned 0 02:01:52.765322 Read 93 bytes 02:01:52.765332 Process 93 bytes request 02:01:52.765346 Got request: GET /verifiedserver HTTP/1.1 02:01:52.765356 Are-we-friendly question received 02:01:52.765376 Wrote request (93 bytes) input to log/3/server.input 02:01:52.765393 Identifying ourselves as friends 02:01:52.765456 Response sent (56 bytes) and written to log/3/server.response 02:01:52.765467 special request received, no persistency 02:01:52.765476 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 432 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind432 ==99527== ==99527== Process terminating with default action of signal 4 (SIGILL) ==99527== Illegal opcode at address 0x10B08D ==99527== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99527== by 0x10B08D: main (tool_main.c:232) === End of file valgrind432 test 0431...[Two -K uses with --next and then one on cmdline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind431 ../src/curl -q --output log/1/curl431.out --include --trace-ascii log/1/trace431 --trace-config all --trace-time -K log/1/config431-a -K log/1/config431-b --next -d c 127.0.0.1:34215/4310003 -H "c: c" > log/1/stdout431 2> log/1/stderr431 431: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 431 === Start of file config431-a --next url = 127.0.0.1:34215/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:34215/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 02:01:52.743999 ====> Client connect 02:01:52.744040 accept_connection 3 returned 4 02:01:52.744056 accept_connection 3 returned 0 02:01:52.744071 Read 93 bytes 02:01:52.744082 Process 93 bytes request 02:01:52.744096 Got request: GET /verifiedserver HTTP/1.1 02:01:52.744106 Are-we-friendly question received 02:01:52.744129 Wrote request (93 bytes) input to log/1/server.input 02:01:52.744146 Identifying ourselves as friends 02:01:52.744208 Response sent (56 bytes) and written to log/1/server.response 02:01:52.744219 special request received, no persistency 02:01:52.744228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 431 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind431 ==99502== ==99502== Process terminating with default action of signal 4 (SIGILL) ==99502== Illegal opcode at address 0x10B08D ==99502== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99502== by 0x10B08D: main (tool_main.c:232) === End of file valgrind431 test 0434...[-K with a single line without newline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind434 ../src/curl -q --output log/8/curl434.out --include --trace-ascii log/8/trace434 --trace-config all --trace-time -K log/8/config434 > log/8/stdout434 2> log/8/stderr434 434: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 434 === Start of file config434 url = 127.0.0.1:43803/434 === End of file config434 === Start of file http_server.log 02:01:52.868890 ====> Client connect 02:01:52.868928 accept_connection 3 returned 4 02:01:52.868944 accept_connection 3 returned 0 02:01:52.868959 Read 93 bytes 02:01:52.868970 Process 93 bytes request 02:01:52.868985 Got request: GET /verifiedserver HTTP/1.1 02:01:52.868994 Are-we-friendly question received 02:01:52.869016 Wrote request (93 bytes) input to log/8/server.input 02:01:52.869033 Identifying ourselves as friends 02:01:52.869105 Response sent (56 bytes) and written to log/8/server.response 02:01:52.869115 special request received, no persistency 02:01:52.869124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind435 ../src/curl -q --include --trace-ascii log/5/trace435 --trace-config all --trace-time http://127.0.0.1:33361/435 http://127.0.0.1:33361/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/5/stdout435 2> log/5/stderr435 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 434 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind434 ==99608== ==99608== Process terminating with default action of signal 4 (SIGILL) ==99608== Illegal opcode at address 0x10B08D ==99608== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99608== by 0x10B08D: main (tool_main.c:232) === End of file valgrind434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind441 ../src/curl -q --include --trace-ascii log/4/trace441 --trace-config all --trace-time -x http://127.0.0.1:36813 http://this.hsts.example/441 --hsts log/4/input441 -w '%{url_effective}\n' > log/4/stdout441 2> log/4/stderr441 test 0435...[verify -w local/remote port+ip after connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind435 ../src/curl -q --include --trace-ascii log/5/trace435 --trace-config all --trace-time http://127.0.0.1:33361/435 http://127.0.0.1:33361/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/5/stdout435 2> log/5/stderr435 435: stdout FAILED: --- log/5/check-expected 2024-12-15 02:01:53.962037886 +0000 +++ log/5/check-generated 2024-12-15 02:01:53.958704493 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -local port == [digits][LF] -local ip == 127.0.0.1[LF] -remote_ip == 127.0.0.1[LF] -remote_port == 33361[LF] -HTTP/1.1 200 OK[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -local port == [digits][LF] -local ip == 127.0.0.1[LF] -remote_ip == 127.0.0.1[LF] -remote_port == 33361[LF] == Contents of files in the log/5/ dir after test 435 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Content-Length: 0[CR][LF] [CR][LF] local port == [digits][LF] local ip == 127.0.0.1[LF] remote_ip == 127.0.0.1[LF] remote_port == 33361[LF] HTTP/1.1 200 OK[CR][LF] Content-Length: 0[CR][LF] [CR][LF] local port == [digits][LF] local ip == 127.0.0.1[LF] remote_ip == 127.0.0.1[LF] remote_port == 33361[LF] === End of file check-expected === Start of file http_server.log 02:01:53.095217 ====> Client connect 02:01:53.095257 accept_connection 3 returned 4 02:01:53.095279 accept_connection 3 returned 0 02:01:53.095296 Read 93 bytes 02:01:53.095307 Process 93 bytes request 02:01:53.095323 Got request: GET /verifiedserver HTTP/1.1 02:01:53.095334 Are-we-friendly question received 02:01:53.095360 Wrote request (93 bytes) input to log/5/server.input 02:01:53.095384 Identifying ourselves as friends 02:01:53.095465 Response sent (56 bytes) and written to log/5/server.response 02:01:53.095479 special request received, no persistency 02:01:53.095489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 435 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind435 ==99758== ==99758== Process terminating with default action of signal 4 (SIGILL) ==99758== Illegal opcode at address 0x10B08D ==99758== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99758== by 0x10B08D: main (tool_main.c:232) === End of file valgrind435 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind442 ../src/curl -q --output log/6/curl442.out --include --trace-ascii log/6/trace442 --trace-config all --trace-time http://attack.invalid:39457/a/b/442 -b log/6/cookie442 --resolve attack.invalid:39457:127.0.0.1 -L > log/6/stdout442 2> log/6/stderr442 test 0441...[HSTS with no t-dot host name in URL but t-dot in file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind441 ../src/curl -q --include --trace-ascii log/4/trace441 --trace-config all --trace-time -x http://127.0.0.1:36813 http://this.hsts.example/441 --hsts log/4/input441 -w '%{url_effective}\n' > log/4/stdout441 2> log/4/stderr441 441: stdout FAILED: --- log/4/check-expected 2024-12-15 02:01:54.132040943 +0000 +++ log/4/check-generated 2024-12-15 02:01:54.132040943 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example/441[LF] == Contents of files in the log/4/ dir after test 441 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example/441[LF] === End of file check-expected === Start of file http_server.log 02:01:53.294746 ====> Client connect 02:01:53.294783 accept_connection 3 returned 4 02:01:53.294801 accept_connection 3 returned 0 02:01:53.294815 Read 93 bytes 02:01:53.294826 Process 93 bytes request 02:01:53.294842 Got request: GET /verifiedserver HTTP/1.1 02:01:53.294852 Are-we-friendly question received 02:01:53.294877 Wrote request (93 bytes) input to log/4/server.input 02:01:53.294894 Identifying ourselves as friends 02:01:53.294973 Response sent (56 bytes) and written to log/4/server.response 02:01:53.294984 special request received, no persistency 02:01:53.294994 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file input441 this.hsts.example. "99991001 04:47:41" === End of file input441 === Start of file server.cmd Testnum 441 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind441 ==99919== ==99919== Process terminating with default action of signal 4 (SIGILL) ==99919== Illegal opcode at address 0x10B08D ==99919== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99919== by 0x10B08D: main (tool_main.c:232) === End of file valgrind441 test 0442...[Send capped huge number of matching cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind442 ../src/curl -q --output log/6/curl442.out --include --trace-ascii log/6/trace442 --trace-config all --trace-time http://attack.invalid:39457/a/b/442 -b log/6/cookie442 --resolve attack.invalid:39457:127.0.0.1 -L > log/6/stdout442 2> log/6/stderr442 442: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 442 === Start of file cookie442 attack.invalid TRUE / FALSE 0 name1 could-be-large-1 attack.invalid TRUE / FALSE 0 name2 could-be-large-2 attack.invalid TRUE / FALSE 0 name3 could-be-large-3 attack.invalid TRUE / FALSE 0 name4 could-be-large-4 attack.invalid TRUE / FALSE 0 name5 could-be-large-5 attack.invalid TRUE / FALSE 0 name6 could-be-large-6 attack.invalid TRUE / FALSE 0 name7 could-be-large-7 attack.invalid TRUE / FALSE 0 name8 could-be-large-8 attack.invalid TRUE / FALSE 0 name9 could-be-large-9 attack.invalid TRUE / FALSE 0 name10 could-be-large-10 attack.invalid TRUE / FALSE 0 name11 could-be-large-11 attack.invalid TRUE / FALSE 0 name12 could-be-large-12 attack.invalid TRUE / FALSE 0 name13 could-be-large-13 attack.invalid TRUE / FALSE 0 name14 could-be-large-14 attack.invalid TRUE / FALSE 0 name15 could-be-large-15 attack.invalid TRUE / FALSE 0 name16 could-be-large-16 attack.invalid TRUE / FALSE 0 name17 could-be-large-17 attack.invalid TRUE / FALSE 0 name18 could-be-large-18 attack.invalid TRUE / FALSE 0 name19 could-be-large-19 attack.invalid TRUE / FALSE 0 name20 could-be-large-20 attack.invalid TRUE / FALSE 0 name21 could-be-large-21 attack.invalid TRUE / FALSE 0 name22 could-be-large-22 attack.invalid TRUE / FALSE 0 name23 could-be-large-23 attack.invalid TRUE / FALSE 0 name24 could-be-large-24 attack.invalid TRUE / FALSE 0 name25 could-be-large-25 attack.invalid TRUE / FALSE 0 name26 could-be-large-26 attack.invalid TRUE / FALSE 0 name27 could-be-large-27 attack.invalid TRUE / FALSE 0 name28 could-be-large-28 attack.invalid TRUE / FALSE 0 name29 could-be-large-29 attack.invalid TRUE / FALSE 0 name30 could-be-large-30 attack.invalid TRUE / FALSE 0 name31 could-be-large-31 attack.invalid TRUE / FALSE 0 name32 could-be-large-32 attack.invalid TRUE / FALSE 0 name33 could-be-large-33 attack.invalid TRUE / FALSE 0 name34 could-be-large-34 attack.invalid TRUE / FALSE 0 name35 could-be-large-35 attack.invalid TRUE / FALSE 0 name36 could-be-large-36 attack.invalid TRUE / FALSE 0 name37 could-be-large-37 attack.invalid TRUE / FALSE 0 name38 could-be-large-38 attack.invalid TRUE / FALSE 0 name39 could-be-large-39 attack.invalid TRUE / FALSE 0 name40 could-be-large-40 attack.invalid TRUE / FALSE 0 name41 could-be-large-41 attack.invalid TRUE / FALSE 0 name42 could-be-large-42 attack.invalid TRUE / FALSE 0 name43 could-be-large-43 attack.invalid TRUE / FALSE 0 name44 could-be-large-44 attack.invalid TRUE / FALSE 0 name45 could-be-large-45 attack.invalid TRUE / FALSE 0 name46 could-be-large-46 attack.invalid TRUE / FALSE 0 name47 could-be-large-47 attack.invalid TRUE / FALSE 0 name48 could-be-large-48 attack.invalid TRUE / FALSE 0 name49 could-be-large-49 attack.invalid TRUE / FALSE 0 name50 could-be-large-50 attack.invalid TRUE / FALSE 0 name51 could-be-large-51 attack.invalid TRUE / FALSE 0 name52 could-be-large-52 attack.invalid TRUE / FALSE 0 name53 could-be-large-53 attack.invalid TRUE / FALSE 0 name54 could-be-large-54 attack.invalid TRUE / FALSE 0 name55 could-be-large-55 attack.invalid TRUE / FALSE 0 name56 could-be-large-56 attack.invalid TRUE / FALSE 0 name57 could-be-large-57 attack.invalid TRUE / FALSE 0 name58 could-be-large-58 attack.invalid TRUE / FALSE 0 name59 could-be-large-59 attack.invalid TRUE / FALSE 0 name60 could-be-large-60 attack.invalid TRUE / FALSE 0 name61 could-be-large-61 attack.invalid TRUE / FALSE 0 name62 could-be-large-62 attack.invalid TRUE / FALSE 0 name63 could-be-large-63 attack.invalid TRUE / FALSE 0 name64 could-be-large-64 attack.invalid TRUE / FALSE 0 name65 could-be-large-65 attack.invalid TRUE / FALSE 0 name66 could-be-large-66 attack.invalid TRUE / FALSE 0 name67 could-be-large-67 attack.invalid TRUE / FALSE 0 name68 could-be-large-68 attack.invalid TRUE / FALSE 0 name69 could-be-large-69 attack.invalid TRUE / FALSE 0 name70 could-be-large-70 attack.invalid TRUE / FALSE 0 name71 could-be-large-71 attack.invalid TRUE / FALSE 0 name72 could-be-large-72 attack.invalid TRUE / FALSE 0 name73 could-be-large-73 attack.invalid TRUE / FALSE 0 name74 could-be-large-74 attack.invalid TRUE / FALSE 0 name75 could-be-large-75 attack.invalid TRUE / FALSE 0 name76 could-be-large-76 attack.invalid TRUE / FALSE 0 name77 could-be-large-77 attack.invalid TRUE / FALSE 0 name78 could-be-large-78 attack.invalid TRUE / FALSE 0 name79 could-be-large-79 attack.invalid TRUE / FALSE 0 name80 could-be-large-80 attack.invalid CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind436 ../src/curl --output log/12/curl436.out --include --trace-ascii log/12/trace436 --trace-config all --trace-time 127.0.0.1:40653/436 > log/12/stdout436 2> log/12/stderr436 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind440 ../src/curl -q --include --trace-ascii log/7/trace440 --trace-config all --trace-time -x http://127.0.0.1:43753 http://this.hsts.example./440 --hsts log/7/input440 -w '%{url_effective}\n' > log/7/stdout440 2> log/7/stderr440 TRUE / FALSE 0 name81 could-be-large-81 attack.invalid TRUE / FALSE 0 name82 could-be-large-82 attack.invalid TRUE / FALSE 0 name83 could-be-large-83 attack.invalid TRUE / FALSE 0 name84 could-be-large-84 attack.invalid TRUE / FALSE 0 name85 could-be-large-85 attack.invalid TRUE / FALSE 0 name86 could-be-large-86 attack.invalid TRUE / FALSE 0 name87 could-be-large-87 attack.invalid TRUE / FALSE 0 name88 could-be-large-88 attack.invalid TRUE / FALSE 0 name89 could-be-large-89 attack.invalid TRUE / FALSE 0 name90 could-be-large-90 attack.invalid TRUE / FALSE 0 name91 could-be-large-91 attack.invalid TRUE / FALSE 0 name92 could-be-large-92 attack.invalid TRUE / FALSE 0 name93 could-be-large-93 attack.invalid TRUE / FALSE 0 name94 could-be-large-94 attack.invalid TRUE / FALSE 0 name95 could-be-large-95 attack.invalid TRUE / FALSE 0 name96 could-be-large-96 attack.invalid TRUE / FALSE 0 name97 could-be-large-97 attack.invalid TRUE / FALSE 0 name98 could-be-large-98 attack.invalid TRUE / FALSE 0 name99 could-be-large-99 attack.invalid TRUE / FALSE 0 name100 could-be-large-100 attack.invalid TRUE / FALSE 0 name101 could-be-large-101 attack.invalid TRUE / FALSE 0 name102 could-be-large-102 attack.invalid TRUE / FALSE 0 name103 could-be-large-103 attack.invalid TRUE / FALSE 0 name104 could-be-large-104 attack.invalid TRUE / FALSE 0 name105 could-be-large-105 attack.invalid TRUE / FALSE 0 name106 could-be-large-106 attack.invalid TRUE / FALSE 0 name107 could-be-large-107 attack.invalid TRUE / FALSE 0 name108 could-be-large-108 attack.invalid TRUE / FALSE 0 name109 could-be-large-109 attack.invalid TRUE / FALSE 0 name110 could-be-large-110 attack.invalid TRUE / FALSE 0 name111 could-be-large-111 attack.invalid TRUE / FALSE 0 name112 could-be-large-112 attack.invalid TRUE / FALSE 0 name113 could-be-large-113 attack.invalid TRUE / FALSE 0 name114 could-be-large-114 attack.invalid TRUE / FALSE 0 name115 could-be-large-115 attack.invalid TRUE / FALSE 0 name116 could-be-large-116 attack.invalid TRUE / FALSE 0 name117 could-be-large-117 attack.invalid TRUE / FALSE 0 name118 could-be-large-118 attack.invalid TRUE / FALSE 0 name119 could-be-large-119 attack.invalid TRUE / FALSE 0 name120 could-be-large-120 attack.invalid TRUE / FALSE 0 name121 could-be-large-121 attack.invalid TRUE / FALSE 0 name122 could-be-large-122 attack.invalid TRUE / FALSE 0 name123 could-be-large-123 attack.invalid TRUE / FALSE 0 name124 could-be-large-124 attack.invalid TRUE / FALSE 0 name125 could-be-large-125 attack.invalid TRUE / FALSE 0 name126 could-be-large-126 attack.invalid TRUE / FALSE 0 name127 could-be-large-127 attack.invalid TRUE / FALSE 0 name128 could-be-large-128 attack.invalid TRUE / FALSE 0 name129 could-be-large-129 attack.invalid TRUE / FALSE 0 name130 could-be-large-130 attack.invalid TRUE / FALSE 0 name131 could-be-large-131 attack.invalid TRUE / FALSE 0 name132 could-be-large-132 attack.invalid TRUE / FALSE 0 name133 could-be-large-133 attack.invalid TRUE / FALSE 0 name134 could-be-large-134 attack.invalid TRUE / FALSE 0 name135 could-be-large-135 attack.invalid TRUE / FALSE 0 name136 could-be-large-136 attack.invalid TRUE / FALSE 0 name137 could-be-large-137 attack.invalid TRUE / FALSE 0 name138 could-be-large-138 attack.invalid TRUE / FALSE 0 name139 could-be-large-139 attack.invalid TRUE / FALSE 0 name140 could-be-large-140 attack.invalid TRUE / FALSE 0 name141 could-be-large-141 attack.invalid TRUE / FALSE 0 name142 could-be-large-142 attack.invalid TRUE / FALSE 0 name143 could-be-large-143 attack.invalid TRUE / FALSE 0 name144 could-be-large-144 attack.invalid TRUE / FALSE 0 name145 could-be-large-145 attack.invalid TRUE / FALSE 0 name146 could-be-large-146 attack.invalid TRUE / FALSE 0 name147 could-be-large-147 attack.invalid TRUE / FALSE 0 name148 could-be-large-148 attack.invalid TRUE / FALSE 0 name149 could-be-large-149 attack.invalid TRUE / FALSE 0 name150 could-be-large-150 attack.invalid TRUE / FALSE 0 name151 could-be-large-151 === End of file cookie442 === Start of file http_server.log 02:01:53.345227 ====> Client connect 02:01:53.345265 accept_connection 3 returned 4 02:01:53.345283 accept_connection 3 returned 0 02:01:53.345428 Read 93 bytes 02:01:53.345443 Process 93 bytes request 02:01:53.345458 Got request: GET /verifiedserver HTTP/1.1 02:01:53.345468 Are-we-friendly question received 02:01:53.345497 Wrote request (93 bytes) input to log/6/server.input 02:01:53.345517 Identifying ourselves as friends 02:01:53.345587 Response sent (56 bytes) and written to log/6/server.response 02:01:53.345599 special request received, no persistency 02:01:53.345609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 442 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind442 ==99957== ==99957== Process terminating with default action of signal 4 (SIGILL) ==99957== Illegal opcode at address 0x10B08D ==99957== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99957== by 0x10B08D: main (tool_main.c:232) === End of file valgrind442 setenv CURL_HOME = /startdir/src/build-curl/tests/log/12 setenv XDG_CONFIG_HOME = test 0436...[Find .curlrc in .config/curlrc via CURL_HOME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind436 ../src/curl --output log/12/curl436.out --include --trace-ascii log/12/trace436 --trace-config all --trace-time 127.0.0.1:40653/436 > log/12/stdout436 2> log/12/stderr436 436: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 436 === Start of file http_server.log 02:01:53.112687 ====> Client connect 02:01:53.112724 accept_connection 3 returned 4 02:01:53.112745 accept_connection 3 returned 0 02:01:53.112762 Read 93 bytes 02:01:53.112774 Process 93 bytes request 02:01:53.112790 Got request: GET /verifiedserver HTTP/1.1 02:01:53.112801 Are-we-friendly question received 02:01:53.112827 Wrote request (93 bytes) input to log/12/server.input 02:01:53.112847 Identifying ourselves as friends 02:01:53.112927 Response sent (56 bytes) and written to log/12/server.response 02:01:53.112943 special request received, no persistency 02:01:53.112954 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 436 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind436 ==99763== ==99763== Process terminating with default action of signal 4 (SIGILL) ==99763== Illegal opcode at address 0x10B08D ==99763== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99763== by 0x10B08D: main (tool_main.c:232) === End of file valgrind436 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind443 ../src/curl -q --output log/9/curl443.out --include --trace-ascii log/9/trace443 --trace-config all --trace-time http://attack.invalid:38509/a/b/443 -b log/9/cookie443 --resolve attack.invalid:38509:127.0.0.1 -L > log/9/stdout443 2> log/9/stderr443 test 0440...[HSTS with trailing-dot host name in URL but none in hsts file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind440 ../src/curl -q --include --trace-ascii log/7/trace440 --trace-config all --trace-time -x http://127.0.0.1:43753 http://this.hsts.example./440 --hsts log/7/input440 -w '%{url_effective}\n' > log/7/stdout440 2> log/7/stderr440 440: stdout FAILED: --- log/7/check-expected 2024-12-15 02:01:54.478713843 +0000 +++ log/7/check-generated 2024-12-15 02:01:54.478713843 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example./440[LF] == Contents of files in the log/7/ dir after test 440 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example./440[LF] === End of file check-expected === Start of file http_server.log 02:01:53.251449 ====> Client connect 02:01:53.251485 accept_connection 3 returned 4 02:01:53.251502 accept_connection 3 returned 0 02:01:53.251518 Read 93 bytes 02:01:53.251530 Process 93 bytes request 02:01:53.251546 Got request: GET /verifiedserver HTTP/1.1 02:01:53.251557 Are-we-friendly question received 02:01:53.251585 Wrote request (93 bytes) input to log/7/server.input 02:01:53.251605 Identifying ourselves as friends 02:01:53.251689 Response sent (56 bytes) and written to log/7/server.response 02:01:53.251704 special request received, no persistency 02:01:53.251715 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file input440 this.hsts.example "99991001 04:47:41" === End of file input440 === Start of file server.cmd Testnum 440 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind440 ==99889== ==99889== Process terminating with default action of signal 4 (SIGILL) ==99889== Illegal opcode at address 0x10B08D ==99889== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==99889== by 0x10B08D: main (tool_main.c:232) === End of file valgrind440 test 0443...[Cookie header in request no longer than 8K] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind443 ../src/curl -q --output log/9/curl443.out --include --trace-ascii log/9/trace443 --trace-config all --trace-time http://attack.invalid:38509/a/b/443 -b log/9/cookie443 --resolve attack.invalid:38509:127.0.0.1 -L > log/9/stdout443 2> log/9/stderr443 443: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 443 === Start of file cookie443 attack.invalid TRUE / FALSE 0 huge-1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-1 attack.invalid TRUE / FALSE 0 huge-2 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-2 attack.invalid TRUE / FALSE 0 huge-3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-3 attack.invalid TRUE / FALSE 0 huge-4 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-4 attack.invalid TRUE / FALSE 0 huge-5 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-5 attack.invalid TRUE / FALSE 0 huge-6 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-6 attack.invalid TRUE / FALSE 0 huge-7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-7 attack.invalid TRUE / FALSE 0 huge-8 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-8 attack.invalid TRUE / FALSE 0 huge-9 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind444 ../src/curl -q --output log/10/curl444.out --include --trace-ascii log/10/trace444 --trace-config all --trace-time http://attack.invalid:42929/a/b/444 -c log/10/cookie444 --resolve attack.invalid:42929:127.0.0.1 > log/10/stdout444 2> log/10/stderr444 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-9 attack.invalid TRUE / FALSE 0 huge-10 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10 attack.invalid TRUE / FALSE 0 huge-11 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-11 attack.invalid TRUE / FALSE 0 huge-12 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-12 attack.invalid TRUE / FALSE 0 huge-13 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-13 attack.invalid TRUE / FALSE 0 huge-14 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-14 attack.invalid TRUE / FALSE 0 huge-15 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-15 attack.invalid TRUE / FALSE 0 huge-16 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-16 attack.invalid TRUE / FALSE 0 huge-17 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-17 attack.invalid TRUE / FALSE 0 huge-18 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-18 attack.invalid TRUE / FALSE 0 huge-19 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-19 attack.invalid TRUE / FALSE 0 huge-20 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20 === End of file cookie443 === Start of file http_server.log 02:01:53.581394 ====> Client connect 02:01:53.581435 accept_connection 3 returned 4 02:01:53.581457 accept_connection 3 returned 0 02:01:53.581475 Read 93 bytes 02:01:53.581487 Process 93 bytes request 02:01:53.581504 Got request: GET /verifiedserver HTTP/1.1 02:01:53.581515 Are-we-friendly question received 02:01:53.581546 Wrote request (93 bytes) input to log/9/server.input 02:01:53.581569 Identifying ourselves as friends 02:01:53.581662 Response sent (56 bytes) and written to log/9/server.response 02:01:53.581679 special request received, no persistency 02:01:53.581689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 443 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind443 ==100079== ==100079== Process terminating with default action of signal 4 (SIGILL) ==100079== Illegal opcode at address 0x10B08D ==100079== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100079== by 0x10B08D: main (tool_main.c:232) === End of file valgrind443 test 0444...[Many Set-Cookie response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind449 ../src/curl -q --output log/2/curl449.out --include --trace-ascii log/2/trace449 --trace-config all --trace-time http://127.0.0.1:38781/449 -K log/2/cmd > log/2/stdout449 2> log/2/stderr449 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind448 ../src/curl -q --output log/11/curl448.out --include --trace-ascii log/11/trace448 --trace-config all --trace-time http://127.0.0.1:44137/448 -K log/11/cmd > log/11/stdout448 2> log/11/stderr448 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind450 ../src/curl -q --output log/3/curl450.out --include --trace-ascii log/3/trace450 --trace-config all --trace-time http://127.0.0.1:34527/450 --variable what@log/3/junk --expand-data "{{what:trim:url}}" > log/3/stdout450 2> log/3/stderr450 -leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind444 ../src/curl -q --output log/10/curl444.out --include --trace-ascii log/10/trace444 --trace-config all --trace-time http://attack.invalid:42929/a/b/444 -c log/10/cookie444 --resolve attack.invalid:42929:127.0.0.1 > log/10/stdout444 2> log/10/stderr444 444: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 444 === Start of file http_server.log 02:01:53.630120 ====> Client connect 02:01:53.630153 accept_connection 3 returned 4 02:01:53.630169 accept_connection 3 returned 0 02:01:53.630184 Read 93 bytes 02:01:53.630194 Process 93 bytes request 02:01:53.630207 Got request: GET /verifiedserver HTTP/1.1 02:01:53.630216 Are-we-friendly question received 02:01:53.630241 Wrote request (93 bytes) input to log/10/server.input 02:01:53.630258 Identifying ourselves as friends 02:01:53.630327 Response sent (56 bytes) and written to log/10/server.response 02:01:53.630337 special request received, no persistency 02:01:53.630347 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 444 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind444 ==100122== ==100122== Process terminating with default action of signal 4 (SIGILL) ==100122== Illegal opcode at address 0x10B08D ==100122== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100122== by 0x10B08D: main (tool_main.c:232) === End of file valgrind444 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0449...[Environment variables in config file w/o [expand]] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind449 ../src/curl -q --output log/2/curl449.out --include --trace-ascii log/2/trace449 --trace-config all --trace-time http://127.0.0.1:38781/449 -K log/2/cmd > log/2/stdout449 2> log/2/stderr449 449: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 449 === Start of file cmd -d 1{{FUNVALUE}}2{{VALUE2}}3{{CURL_NOT_SET}}4{{BLANK}}5\{{verbatim}}6{{not.good}}7{{}} === End of file cmd === Start of file http_server.log 02:01:53.896610 ====> Client connect 02:01:53.896648 accept_connection 3 returned 4 02:01:53.896666 accept_connection 3 returned 0 02:01:53.897069 Read 93 bytes 02:01:53.897087 Process 93 bytes request 02:01:53.897103 Got request: GET /verifiedserver HTTP/1.1 02:01:53.897114 Are-we-friendly question received 02:01:53.897157 Wrote request (93 bytes) input to log/2/server.input 02:01:53.897177 Identifying ourselves as friends 02:01:53.897249 Response sent (56 bytes) and written to log/2/server.response 02:01:53.897261 special request received, no persistency 02:01:53.897271 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 449 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind449 ==100243== ==100243== Process terminating with default action of signal 4 (SIGILL) ==100243== Illegal opcode at address 0x10B08D ==100243== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100243== by 0x10B08D: main (tool_main.c:232) === End of file valgrind449 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0448...[Environment variables within config file, unbalanced braces] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind448 ../src/curl -q --output log/11/curl448.out --include --trace-ascii log/11/trace448 --trace-config all --trace-time http://127.0.0.1:44137/448 -K log/11/cmd > log/11/stdout448 2> log/11/stderr448 448: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 448 === Start of file cmd --variable %FUNVALUE --variable %VALUE2 --expand-data 1{{FUNVALUE}}2{{VALUE2}}3{{curl_NOT_SET}}4{{AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA}}5{{broken === End of file cmd === Start of file http_server.log 02:01:53.905212 ====> Client connect 02:01:53.905250 accept_connection 3 returned 4 02:01:53.905268 accept_connection 3 returned 0 02:01:53.905283 Read 93 bytes 02:01:53.905295 Process 93 bytes request 02:01:53.905310 Got request: GET /verifiedserver HTTP/1.1 02:01:53.905320 Are-we-friendly question received 02:01:53.905346 Wrote request (93 bytes) input to log/11/server.input 02:01:53.905367 Identifying ourselves as friends 02:01:53.905450 Response sent (56 bytes) and written to log/11/server.response 02:01:53.905462 special request received, no persistency 02:01:53.905471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 448 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind448 ==100242== ==100242== Process terminating with default action of signal 4 (SIGILL) ==100242== Illegal opcode at address 0x10B08D ==100242== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100242== by 0x10B08D: main (tool_main.c:232) === End of file valgrind448 test 0450...[Variable from file that is trimmed and URL encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind450 ../src/curl -q --output log/3/curl450.out --include --trace-ascii log/3/trace450 --trace-config all --trace-time http://127.0.0.1:34527/450 --variable what@log/3/junk --expand-data "{{what:trim:url}}" > log/3/stdout450 2> log/3/stderr450 450: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 450 === Start of file http_server.log 02:01:54.001882 ====> Client connect 02:01:54.001919 accept_connecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind451 ../src/curl -q --output log/1/curl451.out --include --trace-ascii log/1/trace451 --trace-config all --trace-time http://127.0.0.1:34215/451 --variable what@log/1/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/1/stdout451 2> log/1/stderr451 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind452 ../src/curl -q --output log/8/curl452.out --include --trace-ascii log/8/trace452 --trace-config all --trace-time http://127.0.0.1:43803/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/8/stdout452 2> log/8/stderr452 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind453 ../src/curl -q --output log/5/curl453.out --include --trace-ascii log/5/trace453 --trace-config all --trace-time http://127.0.0.1:33361/453 --variable what@log/5/junk --expand-data "{{what}}" > log/5/stdout453 2> log/5/stderr453 tion 3 returned 4 02:01:54.001935 accept_connection 3 returned 0 02:01:54.001950 Read 93 bytes 02:01:54.001960 Process 93 bytes request 02:01:54.001974 Got request: GET /verifiedserver HTTP/1.1 02:01:54.001983 Are-we-friendly question received 02:01:54.002006 Wrote request (93 bytes) input to log/3/server.input 02:01:54.002023 Identifying ourselves as friends 02:01:54.002097 Response sent (56 bytes) and written to log/3/server.response 02:01:54.002108 special request received, no persistency 02:01:54.002121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file junk space with space === End of file junk === Start of file server.cmd Testnum 450 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind450 ==100321== ==100321== Process terminating with default action of signal 4 (SIGILL) ==100321== Illegal opcode at address 0x10B08D ==100321== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100321== by 0x10B08D: main (tool_main.c:232) === End of file valgrind450 test 0451...[Variable from file that is JSON and URL encoded (with null byte)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind451 ../src/curl -q --output log/1/curl451.out --include --trace-ascii log/1/trace451 --trace-config all --trace-time http://127.0.0.1:34215/451 --variable what@log/1/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/1/stdout451 2> log/1/stderr451 451: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 451 === Start of file http_server.log 02:01:54.065232 ====> Client connect 02:01:54.065290 accept_connection 3 returned 4 02:01:54.065316 accept_connection 3 returned 0 02:01:54.065336 Read 93 bytes 02:01:54.065349 Process 93 bytes request 02:01:54.065362 Got request: GET /verifiedserver HTTP/1.1 02:01:54.065373 Are-we-friendly question received 02:01:54.065395 Wrote request (93 bytes) input to log/1/server.input 02:01:54.065415 Identifying ourselves as friends 02:01:54.065489 Response sent (56 bytes) and written to log/1/server.response 02:01:54.065501 special request received, no persistency 02:01:54.065510 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file junk  === End of file junk === Start of file server.cmd Testnum 451 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind451 ==100348== ==100348== Process terminating with default action of signal 4 (SIGILL) ==100348== Illegal opcode at address 0x10B08D ==100348== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100348== by 0x10B08D: main (tool_main.c:232) === End of file valgrind451 test 0452...[Variable using illegal function in expansion] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind452 ../src/curl -q --output log/8/curl452.out --include --trace-ascii log/8/trace452 --trace-config all --trace-time http://127.0.0.1:43803/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/8/stdout452 2> log/8/stderr452 curl returned 132, when expecting 2 452: exit FAILED == Contents of files in the log/8/ dir after test 452 === Start of file http_server.log 02:01:54.198559 ====> Client connect 02:01:54.198598 accept_connection 3 returned 4 02:01:54.198615 accept_connection 3 returned 0 02:01:54.198631 Read 93 bytes 02:01:54.198642 Process 93 bytes request 02:01:54.198657 Got request: GET /verifiedserver HTTP/1.1 02:01:54.198667 Are-we-friendly question received 02:01:54.198690 Wrote request (93 bytes) input to log/8/server.input 02:01:54.198707 Identifying ourselves as friends 02:01:54.198777 Response sent (56 bytes) and written to log/8/server.response 02:01:54.198789 special request received, no persistency 02:01:54.198799 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 452 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind452 ==100468== ==100468== Process terminating with default action of signal 4 (SIGILL) ==100468== Illegal opcode at address 0x10B08D ==100468== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100468== by 0x10B08D: main (tool_main.c:232) === End of file valgrind452 test 0453...[Variable output containing null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind453 ../src/curl -q --output log/5/curl453.out --include --trace-ascii log/5/trace453 --trace-config all --trace-time http://127.0.0.1:33361/453 --variable what@log/5/junk --expand-data "{{what}}" > log/5/stdout453 2> log/5/stderr453 curl returned 132, when expecting 2 453: exit FAILED == Contents of files in the log/5/ dir after test 453 === Start of file http_server.log 02:01:54.271885 ====> Client connect 02:01:54.271922 accept_connection 3 returned 4 02:01:54.271939 accept_connection 3 returned 0 02:01:54.271954 Read 93 bytes 02:01:54.271965 Process 93 bytes request 02:01:54.271980 Got request: GET /verifiedserver HTTP/1.1 02:01:54.271989 Are-we-friendly question received 02:01:54.272012 Wrote request (93 bytes) input to log/5/server.input 02:01:54.272029 Identifying ourselves as friends 02:01:54.272101 Response sent (56 bytes) and written to log/5/server.response 02:01:54.272113 special request received, no persistency 02:01:54.272123 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind454 ../src/curl -q --output log/4/curl454.out --include --trace-ascii log/4/trace454 --trace-config all --trace-time http://127.0.0.1:36813/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/4/stdout454 2> log/4/stderr454 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind455 ../src/curl -q --output log/6/curl455.out --include --trace-ascii log/6/trace455 --trace-config all --trace-time --variable moby="Call me Ishmael" --expand-url "http://127.0.0.1:39457/{{moby:b64}}/455" > log/6/stdout455 2> log/6/stderr455 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind456 ../src/curl -q --output log/12/curl456.out --include --trace-ascii log/12/trace456 --trace-config all --trace-time http://127.0.0.1:40653/456 --variable what@log/12/junk --expand-data "{{what}}" > log/12/stdout456 2> log/12/stderr456 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind458 ../src/curl -q --include --trace-ascii log/9/trace458 --trace-config all --trace-time http://127.0.0.1:38509/458 -K log/9/cmd > log/9/stdout458 2> log/9/stderr458 junk  === End of file junk === Start of file server.cmd Testnum 453 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind453 ==100517== ==100517== Process terminating with default action of signal 4 (SIGILL) ==100517== Illegal opcode at address 0x10B08D ==100517== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100517== by 0x10B08D: main (tool_main.c:232) === End of file valgrind453 test 0454...[Variable using illegal function separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind454 ../src/curl -q --output log/4/curl454.out --include --trace-ascii log/4/trace454 --trace-config all --trace-time http://127.0.0.1:36813/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/4/stdout454 2> log/4/stderr454 curl returned 132, when expecting 2 454: exit FAILED == Contents of files in the log/4/ dir after test 454 === Start of file http_server.log 02:01:54.493669 ====> Client connect 02:01:54.493702 accept_connection 3 returned 4 02:01:54.493719 accept_connection 3 returned 0 02:01:54.493734 Read 93 bytes 02:01:54.493744 Process 93 bytes request 02:01:54.493758 Got request: GET /verifiedserver HTTP/1.1 02:01:54.493768 Are-we-friendly question received 02:01:54.493791 Wrote request (93 bytes) input to log/4/server.input 02:01:54.493809 Identifying ourselves as friends 02:01:54.493877 Response sent (56 bytes) and written to log/4/server.response 02:01:54.493888 special request received, no persistency 02:01:54.493898 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 454 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind454 ==100619== ==100619== Process terminating with default action of signal 4 (SIGILL) ==100619== Illegal opcode at address 0x10B08D ==100619== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100619== by 0x10B08D: main (tool_main.c:232) === End of file valgrind454 test 0455...[Variable using base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind455 ../src/curl -q --output log/6/curl455.out --include --trace-ascii log/6/trace455 --trace-config all --trace-time --variable moby="Call me Ishmael" --expand-url "http://127.0.0.1:39457/{{moby:b64}}/455" > log/6/stdout455 2> log/6/stderr455 455: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 455 === Start of file http_server.log 02:01:54.625495 ====> Client connect 02:01:54.627179 accept_connection 3 returned 4 02:01:54.627203 accept_connection 3 returned 0 02:01:54.629684 Read 93 bytes 02:01:54.629704 Process 93 bytes request 02:01:54.629720 Got request: GET /verifiedserver HTTP/1.1 02:01:54.629730 Are-we-friendly question received 02:01:54.629763 Wrote request (93 bytes) input to log/6/server.input 02:01:54.629782 Identifying ourselves as friends 02:01:54.629867 Response sent (56 bytes) and written to log/6/server.response 02:01:54.629878 special request received, no persistency 02:01:54.629888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 455 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind455 ==100681== ==100681== Process terminating with default action of signal 4 (SIGILL) ==100681== Illegal opcode at address 0x10B08D ==100681== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100681== by 0x10B08D: main (tool_main.c:232) === End of file valgrind455 test 0456...[Variable output starting with null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind456 ../src/curl -q --output log/12/curl456.out --include --trace-ascii log/12/trace456 --trace-config all --trace-time http://127.0.0.1:40653/456 --variable what@log/12/junk --expand-data "{{what}}" > log/12/stdout456 2> log/12/stderr456 curl returned 132, when expecting 2 456: exit FAILED == Contents of files in the log/12/ dir after test 456 === Start of file http_server.log 02:01:54.742051 ====> Client connect 02:01:54.742089 accept_connection 3 returned 4 02:01:54.742106 accept_connection 3 returned 0 02:01:54.742121 Read 93 bytes 02:01:54.742132 Process 93 bytes request 02:01:54.742146 Got request: GET /verifiedserver HTTP/1.1 02:01:54.742155 Are-we-friendly question received 02:01:54.742177 Wrote request (93 bytes) input to log/12/server.input 02:01:54.742194 Identifying ourselves as friends 02:01:54.742279 Response sent (56 bytes) and written to log/12/server.response 02:01:54.742290 special request received, no persistency 02:01:54.742299 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file junk hello === End of file junk === Start of file server.cmd Testnum 456 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind456 ==100739== ==100739== Process terminating with default action of signal 4 (SIGILL) ==100739== Illegal opcode at address 0x10B08D ==100739== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100739== by 0x10B08D: main (tool_main.c:232) === End of file valgrind456 setenv FUNVALUE = contents458 setenv VALUE2 = curl setenv BLANK = test 0458...[variable expand the file name with --expand-output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind458 ../src/curl -q --include --trace-ascii log/9/trace458 --trace-config all --trace-time http://127.0.0.1:38509/458 -K log/9/cmd > log/9/stdout458 2> log/9/stderr458 458: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 458 === Start of file cmd --variable %FUNVALUE --expand-output log/9/{{FUNVALUE}}CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind459 ../src/curl -q --output log/10/curl459.out --include --trace-ascii log/10/trace459 --trace-config all --trace-time http://127.0.0.1:42929/459 --config log/10/config --silent > log/10/stdout459 2> log/10/stderr459 === End of file cmd === Start of file http_server.log 02:01:54.915638 ====> Client connect 02:01:54.915679 accept_connection 3 returned 4 02:01:54.915698 accept_connection 3 returned 0 02:01:54.915715 Read 93 bytes 02:01:54.915727 Process 93 bytes request 02:01:54.915743 Got request: GET /verifiedserver HTTP/1.1 02:01:54.915754 Are-we-friendly question received 02:01:54.915783 Wrote request (93 bytes) input to log/9/server.input 02:01:54.915803 Identifying ourselves as friends 02:01:54.915886 Response sent (56 bytes) and written to log/9/server.response 02:01:54.915902 special request received, no persistency 02:01:54.915917 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 458 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind458 ==100856== ==100856== Process terminating with default action of signal 4 (SIGILL) ==100856== Illegal opcode at address 0x10B08D ==100856== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100856== by 0x10B08D: main (tool_main.c:232) === End of file valgrind458 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind457 ../src/curl -q --output log/7/curl457.out --include --trace-ascii log/7/trace457 --trace-config all --trace-time http://127.0.0.1:43753/457 --max-filesize 143 > log/7/stdout457 2> log/7/stderr457 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind460 ../src/curl -q --output log/2/curl460.out --include --trace-ascii log/2/trace460 --trace-config all --trace-time --expand-url > log/2/stdout460 2> log/2/stderr460 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind461 ../src/curl -q --output log/11/curl461.out --include --trace-ascii log/11/trace461 --trace-config all --trace-time http://127.0.0.1:44137/461 -H host: > log/11/stdout461 2> log/11/stderr461 test 0459...[config file with argument using whitespace missing quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind459 ../src/curl -q --output log/10/curl459.out --include --trace-ascii log/10/trace459 --trace-config all --trace-time http://127.0.0.1:42929/459 --config log/10/config --silent > log/10/stdout459 2> log/10/stderr459 459: stderr FAILED: --- log/10/check-expected 2024-12-15 02:01:55.988740994 +0000 +++ log/10/check-generated 2024-12-15 02:01:55.988740994 +0000 @@ -1,2 +0,0 @@ -Warning: log/10/config:1: warning: 'data' uses unquoted whitespace[CR][LF] -Warning: This may cause side-effects. Consider using double quotes?[CR][LF] == Contents of files in the log/10/ dir after test 459 === Start of file check-expected Warning: log/10/config:1: warning: 'data' uses unquoted whitespace[CR][LF] Warning: This may cause side-effects. Consider using double quotes?[CR][LF] === End of file check-expected === Start of file config data = arg with space === End of file config === Start of file http_server.log 02:01:55.002063 ====> Client connect 02:01:55.002099 accept_connection 3 returned 4 02:01:55.002116 accept_connection 3 returned 0 02:01:55.002131 Read 93 bytes 02:01:55.002142 Process 93 bytes request 02:01:55.002156 Got request: GET /verifiedserver HTTP/1.1 02:01:55.002167 Are-we-friendly question received 02:01:55.002192 Wrote request (93 bytes) input to log/10/server.input 02:01:55.002211 Identifying ourselves as friends 02:01:55.002285 Response sent (56 bytes) and written to log/10/server.response 02:01:55.002298 special request received, no persistency 02:01:55.002308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 459 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind459 ==100930== ==100930== Process terminating with default action of signal 4 (SIGILL) ==100930== Illegal opcode at address 0x10B08D ==100930== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100930== by 0x10B08D: main (tool_main.c:232) === End of file valgrind459 test 0457...[chunked Transfer-Encoding with --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind457 ../src/curl -q --output log/7/curl457.out --include --trace-ascii log/7/trace457 --trace-config all --trace-time http://127.0.0.1:43753/457 --max-filesize 143 > log/7/stdout457 2> log/7/stderr457 457: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 457 === Start of file http_server.log 02:01:54.802139 ====> Client connect 02:01:54.815192 accept_connection 3 returned 4 02:01:54.815226 accept_connection 3 returned 0 02:01:54.815244 Read 93 bytes 02:01:54.815255 Process 93 bytes request 02:01:54.815269 Got request: GET /verifiedserver HTTP/1.1 02:01:54.815279 Are-we-friendly question received 02:01:54.815316 Wrote request (93 bytes) input to log/7/server.input 02:01:54.815337 Identifying ourselves as friends 02:01:54.815444 Response sent (56 bytes) and written to log/7/server.response 02:01:54.815459 special request received, no persistency 02:01:54.815471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind457 ==100810== ==100810== Process terminating with default action of signal 4 (SIGILL) ==100810== Illegal opcode at address 0x10B08D ==100810== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100810== by 0x10B08D: main (tool_main.c:232) === End of file valgrind457 * starts no server test 0460...[try --expand without an argument] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind460 ../src/curl -q --output log/2/curl460.out --include --trace-ascii log/2/trace460 --trace-config all --trace-time --expand-url > log/2/stdout460 2> log/2/stderr460 curl returned 132, when expecting 2 460: exit FAILED == Contents of files in the log/2/ dir after test 460 === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 ==100993== ==100993== Process terminating with default action of signal 4 (SIGILL) ==100993== Illegal opcode at address 0x10B08D ==100993== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==100993== by 0x10B08D: main (tool_main.c:232) === End of file valgrind460 test 0461...[disable Host: when specified as lower case] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind461 ../src/curl -q --output log/11/curl461.out --include --trace-ascii log/11/trace461 --trace-config all --trace-time http://127.0.0.1:44137/461 -H host: > log/11/stdout461 2> log/11/stderr461 461: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 461 === Start of file http_server.log 02:01:55.256256 ====> Client connect 02:01:55.256295 accept_connection 3 returned 4 02:01:55.256314 accept_connection 3 returned 0 02:01:55.256329 Read 93 bytes 02:01:55.256341 Process 93 bytes request 02:01:55.256357 Got request: GET /verifiedserver HTTP/1.1 02:01:55.256368 Are-we-friendly question received 02:01:55.256393 Wrote request (93 bytes) input to log/11/server.input 02:01:55.256413 Identifying ourselves as friends 02:01:55.256490 Response sent (56 bytes) and written to log/11/server.response 02:01:55.256505 special request received, no persistency 02:01:55.256515 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 461 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind461 ==101089== ==101089== Process terminating with default action of signal 4 (SIGILL) ==101089== Illegal opcode at address 0x10B08D ==101089== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind462 ../src/curl -q --output log/3/curl462.out --include --trace-ascii log/3/trace462 --trace-config all --trace-time http://127.0.0.1:34527/462 -K log/3/cmd > log/3/stdout462 2> log/3/stderr462 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind467 ../src/curl -q --output log/8/curl467.out --include --trace-ascii log/8/trace467 --trace-config all --trace-time curl -v http://example.com > log/8/stdout467 2> log/8/stderr467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind463 ../src/curl -q --output log/1/curl463.out --include --trace-ascii log/1/trace463 --trace-config all --trace-time -d @log/1/input463 http://127.0.0.1:34215/463 > log/1/stdout463 2> log/1/stderr463 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind468 ../src/curl -q --trace-ascii log/5/trace468 --trace-config all --trace-time http://127.0.0.1:33361/468 -K log/5/cmd468 -w "" > log/5/stdout468 2> log/5/stderr468 at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101089== by 0x10B08D: main (tool_main.c:232) === End of file valgrind461 * starts no server test 0462...[Missing environment variables in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind462 ../src/curl -q --output log/3/curl462.out --include --trace-ascii log/3/trace462 --trace-config all --trace-time http://127.0.0.1:34527/462 -K log/3/cmd > log/3/stdout462 2> log/3/stderr462 curl returned 132, when expecting 26 462: exit FAILED == Contents of files in the log/3/ dir after test 462 === Start of file cmd variable %MISSING expand-data {{MISSING}} === End of file cmd === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 ==101004== ==101004== Process terminating with default action of signal 4 (SIGILL) ==101004== Illegal opcode at address 0x10B08D ==101004== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101004== by 0x10B08D: main (tool_main.c:232) === End of file valgrind462 * starts no server test 0467...[use a bad short option letter that does not exist (after one does exist)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind467 ../src/curl -q --output log/8/curl467.out --include --trace-ascii log/8/trace467 --trace-config all --trace-time curl -v http://example.com > log/8/stdout467 2> log/8/stderr467 curl returned 132, when expecting 2 467: exit FAILED == Contents of files in the log/8/ dir after test 467 === Start of file server.cmd Testnum 467 === End of file server.cmd === Start of file valgrind467 ==101188== ==101188== Process terminating with default action of signal 4 (SIGILL) ==101188== Illegal opcode at address 0x10B08D ==101188== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101188== by 0x10B08D: main (tool_main.c:232) === End of file valgrind467 test 0463...[HTTP with -d @file with file containing CR, LF and null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind463 ../src/curl -q --output log/1/curl463.out --include --trace-ascii log/1/trace463 --trace-config all --trace-time -d @log/1/input463 http://127.0.0.1:34215/463 > log/1/stdout463 2> log/1/stderr463 463: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 463 === Start of file http_server.log 02:01:55.628582 ====> Client connect 02:01:55.628619 accept_connection 3 returned 4 02:01:55.628637 accept_connection 3 returned 0 02:01:55.628652 Read 93 bytes 02:01:55.628664 Process 93 bytes request 02:01:55.628679 Got request: GET /verifiedserver HTTP/1.1 02:01:55.628689 Are-we-friendly question received 02:01:55.628710 Wrote request (93 bytes) input to log/1/server.input 02:01:55.628728 Identifying ourselves as friends 02:01:55.628804 Response sent (56 bytes) and written to log/1/server.response 02:01:55.628816 special request received, no persistency 02:01:55.628826 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file input463 one two three fourfive === End of file input463 === Start of file server.cmd Testnum 463 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind463 ==101227== ==101227== Process terminating with default action of signal 4 (SIGILL) ==101227== Illegal opcode at address 0x10B08D ==101227== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101227== by 0x10B08D: main (tool_main.c:232) === End of file valgrind463 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind473 ../src/curl -q --output log/9/curl473.out --include --trace-ascii log/9/trace473 --trace-config all --trace-time http://127.0.0.1:38509/473 --etag-save log/9/etag473 > log/9/stdout473 2> log/9/stderr473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind469 ../src/curl -q --output log/4/curl469.out --include --trace-ascii log/4/trace469 --trace-config all --trace-time -H “host: 127.0.0.1:36813/” -s > log/4/stdout469 2> log/4/stderr469 test 0468...[set -w in config, then reset -w to blank on cmdline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind468 ../src/curl -q --trace-ascii log/5/trace468 --trace-config all --trace-time http://127.0.0.1:33361/468 -K log/5/cmd468 -w "" > log/5/stdout468 2> log/5/stderr468 468: stdout FAILED: --- log/5/check-expected 2024-12-15 02:01:56.695420364 +0000 +++ log/5/check-generated 2024-12-15 02:01:56.695420364 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/5/ dir after test 468 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file cmd468 -w "output\n" === End of file cmd468 === Start of file http_server.log 02:01:55.777458 ====> Client connect 02:01:55.777494 accept_connection 3 returned 4 02:01:55.777511 accept_connection 3 returned 0 02:01:55.777649 Read 93 bytes 02:01:55.777663 Process 93 bytes request 02:01:55.777678 Got request: GET /verifiedserver HTTP/1.1 02:01:55.777688 Are-we-friendly question received 02:01:55.777714 Wrote request (93 bytes) input to log/5/server.input 02:01:55.777733 Identifying ourselves as friends 02:01:55.777800 Response sent (56 bytes) and written to log/5/server.response 02:01:55.777811 special request received, no persistency 02:01:55.777820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 468 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind468 ==101314== ==101314== Process terminating with default action of signal 4 (SIGILL) ==101314== Illegal opcode at address 0x10B08D ==101314== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101314== by 0x10B08D: main (tool_main.c:232) === End of file valgrind468 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind471 ../src/curl -q --include --trace-ascii log/12/trace471 --trace-config all --trace-time "http://127.0.0.1:40653/{471,4710001}" -o "log/12/dumpit#1.dump" > log/12/stdout471 2> log/12/stderr471 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind470 ../src/curl -q --output log/6/curl470.out --include --trace-ascii log/6/trace470 --trace-config all --trace-time 127.0.0.1:39457 --no-progress-meter -K "log/6/input470" > log/6/stdout470 2> log/6/stderr470 test 0469...[warn about Unicode quote character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind469 ../src/curl -q --output log/4/curl469.out --include --trace-ascii log/4/trace469 --trace-config all --trace-time -H “host: 127.0.0.1:36813/” -s > log/4/stdout469 2> log/4/stderr469 469: stderr FAILED: --- log/4/check-expected 2024-12-15 02:01:56.845423060 +0000 +++ log/4/check-generated 2024-12-15 02:01:56.845423060 +0000 @@ -1,2 +0,0 @@ -Warning: The argument '%e2%80%9chost:' starts with a Unicode quote where maybe an [LF] -Warning: ASCII " was intended?[LF] == Contents of files in the log/4/ dir after test 469 === Start of file check-expected Warning: The argument '%e2%80%9chost:' starts with a Unicode quote where maybe an [LF] Warning: ASCII " was intended?[LF] === End of file check-expected === Start of file http_server.log 02:01:55.835642 ====> Client connect 02:01:55.835683 accept_connection 3 returned 4 02:01:55.835700 accept_connection 3 returned 0 02:01:55.844696 Read 93 bytes 02:01:55.844725 Process 93 bytes request 02:01:55.844741 Got request: GET /verifiedserver HTTP/1.1 02:01:55.844751 Are-we-friendly question received 02:01:55.844786 Wrote request (93 bytes) input to log/4/server.input 02:01:55.844807 Identifying ourselves as friends 02:01:55.844887 Response sent (56 bytes) and written to log/4/server.response 02:01:55.844898 special request received, no persistency 02:01:55.844907 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 469 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind469 ==101361== ==101361== Process terminating with default action of signal 4 (SIGILL) ==101361== Illegal opcode at address 0x10B08D ==101361== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101361== by 0x10B08D: main (tool_main.c:232) === End of file valgrind469 test 0473...[Check if --etag-save saved correct etag to a file on 301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind473 ../src/curl -q --output log/9/curl473.out --include --trace-ascii log/9/trace473 --trace-config all --trace-time http://127.0.0.1:38509/473 --etag-save log/9/etag473 > log/9/stdout473 2> log/9/stderr473 473: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 473 === Start of file http_server.log 02:01:56.003579 ====> Client connect 02:01:56.003699 accept_connection 3 returned 4 02:01:56.003726 accept_connection 3 returned 0 02:01:56.003744 Read 93 bytes 02:01:56.003758 Process 93 bytes request 02:01:56.003776 Got request: GET /verifiedserver HTTP/1.1 02:01:56.003786 Are-we-friendly question received 02:01:56.003817 Wrote request (93 bytes) input to log/9/server.input 02:01:56.003836 Identifying ourselves as friends 02:01:56.003911 Response sent (56 bytes) and written to log/9/server.response 02:01:56.003925 special request received, no persistency 02:01:56.003935 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 473 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind473 ==101501== ==101501== Process terminating with default action of signal 4 (SIGILL) ==101501== Illegal opcode at address 0x10B08D ==101501== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101501== by 0x10B08D: main (tool_main.c:232) === End of file valgrind473 test 0471...[Reject HTTP/1.1 to HTTP/2 switch on the same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind471 ../src/curl -q --include --trace-ascii log/12/trace471 --trace-config all --trace-time "http://127.0.0.1:40653/{471,4710001}" -o "log/12/dumpit#1.dump" > log/12/stdout471 2> log/12/stderr471 471: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 471 === Start of file http_server.log 02:01:55.930088 ====> Client connect 02:01:55.930126 accept_connection 3 returned 4 02:01:55.930146 accept_connection 3 returned 0 02:01:55.930163 Read 93 bytes 02:01:55.930176 Process 93 bytes request 02:01:55.930192 Got request: GET /verifiedserver HTTP/1.1 02:01:55.930204 Are-we-friendly question received 02:01:55.930231 Wrote request (93 bytes) input to log/12/server.input 02:01:55.930251 Identifying ourselves as friends 02:01:55.930333 Response sent (56 bytes) and written to log/12/server.response 02:01:55.930349 special request received, no persistency 02:01:55.930360 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 471 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind471 ==101415== ==101415== Process terminating with default action of signal 4 (SIGILL) ==101415== Illegal opcode at address 0x10B08D ==101415== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101415== by 0x10B08D: main (tool_main.c:232) === End of file valgrind471 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind476 ../src/curl -q --output log/2/curl476.out --include --trace-ascii log/2/trace476 --trace-config all --trace-time "ftp://127.0.0.1:36595/476;type=a" -T log/2/test476.txt > log/2/stdout476 2> log/2/stderr476 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind477 ../src/curl -q --output log/10/curl477.out --include --trace-ascii log/10/trace477 --trace-config all --trace-time http://127.0.0.1:42929/477 --max-filesize 5 -L > log/10/stdout477 2> log/10/stderr477 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind475 ../src/curl -q --output log/7/curl475.out --include --trace-ascii log/7/trace475 --trace-config all --trace-time "ftp://127.0.0.1:41879/475;type=a" -T log/7/test475.txt > log/7/stdout475 2> log/7/stderr475 test 0470...[warn about Unicode quote character read from config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind470 ../src/curl -q --output log/6/curl470.out --include --trace-ascii log/6/trace470 --trace-config all --trace-time 127.0.0.1:39457 --no-progress-meter -K "log/6/input470" > log/6/stdout470 2> log/6/stderr470 470: stderr FAILED: --- log/6/check-expected 2024-12-15 02:01:57.048760048 +0000 +++ log/6/check-generated 2024-12-15 02:01:57.048760048 +0000 @@ -1,2 +0,0 @@ -Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode quote where [CR][LF] -Warning: maybe an ASCII " was intended?[CR][LF] == Contents of files in the log/6/ dir after test 470 === Start of file check-expected Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode quote where [CR][LF] Warning: maybe an ASCII " was intended?[CR][LF] === End of file check-expected === Start of file http_server.log 02:01:55.890087 ====> Client connect 02:01:55.890124 accept_connection 3 returned 4 02:01:55.890144 accept_connection 3 returned 0 02:01:55.890162 Read 93 bytes 02:01:55.890174 Process 93 bytes request 02:01:55.890189 Got request: GET /verifiedserver HTTP/1.1 02:01:55.890201 Are-we-friendly question received 02:01:55.890315 Wrote request (93 bytes) input to log/6/server.input 02:01:55.890340 Identifying ourselves as friends 02:01:55.890427 Response sent (56 bytes) and written to log/6/server.response 02:01:55.890443 special request received, no persistency 02:01:55.890454 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file input470 -H “host:fake” === End of file input470 === Start of file server.cmd Testnum 470 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind470 ==101382== ==101382== Process terminating with default action of signal 4 (SIGILL) ==101382== Illegal opcode at address 0x10B08D ==101382== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101382== by 0x10B08D: main (tool_main.c:232) === End of file valgrind470 test 0476...[FTP PASV upload ASCII file already using CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind476 ../src/curl -q --output log/2/curl476.out --include --trace-ascii log/2/trace476 --trace-config all --trace-time "ftp://127.0.0.1:36595/476;type=a" -T log/2/test476.txt > log/2/stdout476 2> log/2/stderr476 476: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 476 === Start of file ftp_server.log 02:01:56.146114 ====> Client connect 02:01:56.146254 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:56.146526 < "USER anonymous" 02:01:56.146563 > "331 We are happy you popped in![CR][LF]" 02:01:56.146716 < "PASS ftp@example.com" 02:01:56.146740 > "230 Welcome you silly person[CR][LF]" 02:01:56.146875 < "PWD" 02:01:56.146902 > "257 "/" is current directory[CR][LF]" 02:01:56.147043 < "EPSV" 02:01:56.147067 ====> Passive DATA channel requested by client 02:01:56.147080 DATA sockfilt for passive data channel starting... 02:01:56.148734 DATA sockfilt for passive data channel started (pid 101674) 02:01:56.148824 DATA sockfilt for passive data channel listens on port 35585 02:01:56.148859 > "229 Entering Passive Mode (|||35585|)[LF]" 02:01:56.148875 Client has been notified that DATA conn will be accepted on port 35585 02:01:56.149093 Client connects to port 35585 02:01:56.149119 ====> Client established passive DATA connection on port 35585 02:01:56.149186 < "TYPE I" 02:01:56.149210 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:56.149353 < "SIZE verifiedserver" 02:01:56.149384 > "213 17[CR][LF]" 02:01:56.149515 < "RETR verifiedserver" 02:01:56.149543 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:56.149618 =====> Closing passive DATA connection... 02:01:56.149632 Server disconnects passive DATA connection 02:01:56.149847 Server disconnected passive DATA connection 02:01:56.149871 DATA sockfilt for passive data channel quits (pid 101674) 02:01:56.150073 DATA sockfilt for passive data channel quit (pid 101674) 02:01:56.150092 =====> Closed passive DATA connection 02:01:56.150116 > "226 File transfer complete[CR][LF]" 02:01:56.195543 < "QUIT" 02:01:56.195604 > "221 bye bye baby[CR][LF]" 02:01:56.196520 MAIN sockfilt said DISC 02:01:56.196562 ====> Client disconnected 02:01:56.196639 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:56.346136 ====> Client connect 02:01:56.346403 Received DATA (on stdin) 02:01:56.346417 > 160 bytes data, server => client 02:01:56.346429 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:56.346441 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:56.346451 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:56.346529 < 16 bytes data, client => server 02:01:56.346541 'USER anonymous\r\n' 02:01:56.346703 Received DATA (on stdin) 02:01:56.346715 > 33 bytes data, server => client 02:01:56.346725 '331 We are happy you popped in!\r\n' 02:01:56.346774 < 22 bytes data, client => server 02:01:56.346785 'PASS ftp@example.com\r\n' 02:01:56.346876 Received DATA (on stdin) 02:01:56.346887 > 30 bytes data, server => client 02:01:56.346898 '230 Welcome you silly person\r\n' 02:01:56.346942 < 5 bytes data, client => server 02:01:56.346952 'PWD\r\n' 02:01:56.347038 Received DATA (on stdin) 02:01:56.347049 > 30 bytes data, server => client 02:01:56.347059 '257 "/" is current directory\r\n' 02:01:56.347110 < 6 bytes data, client => server 02:01:56.347120 'EPSV\r\n' 02:01:56.349017 Received DATA (on stdin) 02:01:56.349031 > 38 bytes data, server => client 02:01:56.349042 '229 Entering Passive Mode (|||35585|)\n' 02:01:56.349157 < 8 bytes data, client => server 02:01:56.349172 'TYPE I\r\n' 02:01:56.349348 Received DATA (on stdin) 02:01:56.349359 > 33 bytes data, server => client 02:01:56.349370 '200 I modify TYPE as you wanted\r\n' 02:01:56.349418 < 21 bytes data, client => server 02:01:56.349429 'SIZE verifiedserver\r\n' 02:01:56.349520 Received DATA (on stdin) 02:01:56.349531 > 8 bytes data, server => client 02:01:56.349541 '213 17\r\n' 02:01:56.349584 < 21 bytes data, client => server 02:01:56.349595 'RETR verifiedserver\r\n' 02:01:56.349859 Received DATA (on stdin) 02:01:56.349871 > 29 bytes data, server => client 02:01:56.349883 '150 Binary junk (17 bytes).\r\n' 02:01:56.350255 Received DATA (on stdin) 02:01:56.350268 > 28 bytes data, server => client 02:01:56.350279 '226 File transfer complete\r\n' 02:01:56.395505 < 6 bytes data, client => server 02:01:56.395539 'QUIT\r\n' 02:01:56.395759 Received DATA (on stdin) 02:01:56.395777 > 18 bytes data, server => client 02:01:56.395792 '221 bye bye baby\r\n' 02:01:56.396601 ====> Client disconnect 02:01:56.396794 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:56.348589 Running IPv4 version 02:01:56.348646 Listening on port 35585 02:01:56.348684 Wrote pid 101674 to log/2/server/ftp_sockdata.pid 02:01:56.348820 Received PING (on stdin) 02:01:56.348890 Received PORT (on stdin) 02:01:56.349189 ====> Client connect 02:01:56.349771 Received DATA (on stdin) 02:01:56.349784 > 17 bytes data, server => client 02:01:56.349794 'WE ROOLZ: 80457\r\n' 02:01:56.349823 Received DISC (on stdin) 02:01:56.349835 ====> Client forcibly disconnected 02:01:56.350016 Received QUIT (on stdin) 02:01:56.350028 quits 02:01:56.350082 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 476 === End of file server.cmd === Start of file test476.txt a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === File too long: 349 lines omitted here a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifyinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind478 ../src/curl -q --output log/11/curl478.out --include --trace-ascii log/11/trace478 --trace-config all --trace-time --netrc --netrc-file log/11/netrc478 -x http://127.0.0.1:44137/ http://debbie@github.com/ > log/11/stdout478 2> log/11/stderr478 g this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === End of file test476.txt === Start of file valgrind476 ==101700== ==101700== Process terminating with default action of signal 4 (SIGILL) ==101700== Illegal opcode at address 0x10B08D ==101700== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101700== by 0x10B08D: main (tool_main.c:232) === End of file valgrind476 test 0475...[FTP PASV upload ASCII file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind475 ../src/curl -q --output log/7/curl475.out --include --trace-ascii log/7/trace475 --trace-config all --trace-time "ftp://127.0.0.1:41879/475;type=a" -T log/7/test475.txt > log/7/stdout475 2> log/7/stderr475 475: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 475 === Start of file ftp_server.log 02:01:56.133922 ====> Client connect 02:01:56.134113 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:56.134442 < "USER anonymous" 02:01:56.134474 > "331 We are happy you popped in![CR][LF]" 02:01:56.134630 < "PASS ftp@example.com" 02:01:56.134652 > "230 Welcome you silly person[CR][LF]" 02:01:56.134812 < "PWD" 02:01:56.134839 > "257 "/" is current directory[CR][LF]" 02:01:56.135076 < "EPSV" 02:01:56.135099 ====> Passive DATA channel requested by client 02:01:56.135111 DATA sockfilt for passive data channel starting... 02:01:56.136801 DATA sockfilt for passive data channel started (pid 101669) 02:01:56.136899 DATA sockfilt for passive data channel listens on port 39201 02:01:56.136932 > "229 Entering Passive Mode (|||39201|)[LF]" 02:01:56.136948 Client has been notified that DATA conn will be accepted on port 39201 02:01:56.137196 Client connects to port 39201 02:01:56.137223 ====> Client established passive DATA connection on port 39201 02:01:56.137282 < "TYPE I" 02:01:56.137306 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:56.137457 < "SIZE verifiedserver" 02:01:56.137491 > "213 17[CR][LF]" 02:01:56.137634 < "RETR verifiedserver" 02:01:56.137665 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:56.137733 =====> Closing passive DATA connection... 02:01:56.137747 Server disconnects passive DATA connection 02:01:56.137974 Server disconnected passive DATA connection 02:01:56.138001 DATA sockfilt for passive data channel quits (pid 101669) 02:01:56.138193 DATA sockfilt for passive data channel quit (pid 101669) 02:01:56.138215 =====> Closed passive DATA connection 02:01:56.138239 > "226 File transfer complete[CR][LF]" 02:01:56.181839 < "QUIT" 02:01:56.181893 > "221 bye bye baby[CR][LF]" 02:01:56.182706 MAIN sockfilt said DISC 02:01:56.182736 ====> Client disconnected 02:01:56.182802 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:56.333912 ====> Client connect 02:01:56.334267 Received DATA (on stdin) 02:01:56.334282 > 160 bytes data, server => client 02:01:56.334295 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:56.334306 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:56.334317 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:56.334445 < 16 bytes data, client => server 02:01:56.334459 'USER anonymous\r\n' 02:01:56.334614 Received DATA (on stdin) 02:01:56.334626 > 33 bytes data, server => client 02:01:56.334637 '331 We are happy you popped in!\r\n' 02:01:56.334690 < 22 bytes data, client => server 02:01:56.334701 'PASS ftp@example.com\r\n' 02:01:56.334788 Received DATA (on stdin) 02:01:56.334799 > 30 bytes data, server => client 02:01:56.334824 '230 Welcome you silly person\r\n' 02:01:56.334870 < 5 bytes data, client => server 02:01:56.334881 'PWD\r\n' 02:01:56.334968 Received DATA (on stdin) 02:01:56.334978 > 30 bytes data, server => client 02:01:56.334989 '257 "/" is current directory\r\n' 02:01:56.335117 < 6 bytes data, client => server 02:01:56.335131 'EPSV\r\n' 02:01:56.337091 Received DATA (on stdin) 02:01:56.337104 > 38 bytes data, server => client 02:01:56.337115 '229 Entering Passive Mode (|||39201|)\n' 02:01:56.337260 < 8 bytes data, client => server 02:01:56.337275 'TYPE I\r\n' 02:01:56.337444 Received DATA (on stdin) 02:01:56.337456 > 33 bytes data, server => client 02:01:56.337466 '200 I modify TYPE as you wanted\r\n' 02:01:56.337516 < 21 bytes data, client => server 02:01:56.337528 'SIZE verifiedserver\r\n' 02:01:56.337629 Received DATA (on stdin) 02:01:56.337640 > 8 bytes data, server => client 02:01:56.337654 '213 17\r\n' 02:01:56.337700 < 21 bytes data, client => server 02:01:56.337711 'RETR verifiedserver\r\n' 02:01:56.337886 Received DATA (on stdin) 02:01:56.337898 > 29 bytes data, server => client 02:01:56.337909 '150 Binary junk (17 bytes).\r\n' 02:01:56.338378 Received DATA (on stdin) 02:01:56.338392 > 28 bytes data, server => client 02:01:56.338403 '226 File transfer complete\r\n' 02:01:56.378670 < 6 bytes data, client => server 02:01:56.378703 'QUIT\r\n' 02:01:56.382042 Received DATA (on stdin) 02:01:56.382059 > 18 bytes data, server => client 02:01:56.382071 '221 bye bye baby\r\n' 02:01:56.382795 ====> Client disconnect 02:01:56.382944 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:56.336667 Running IPv4 version 02:01:56.336723 Listening on port 39201 02:01:56.336755 Wrote pid 101669 to log/7/server/ftp_sockdata.pid 02:01:56.336887 Received PING (on stdin) 02:01:56.336961 Received PORT (on stdin) 02:01:56.337294 ====> Client connect 02:01:56.337955 Received DATA (on stdin) 02:01:56.337968 > 17 bytes data, server => client 02:01:56.337979 'WE ROOLZ: 80479\r\n' 02:01:56.338006 Received DISC (on stdin) 02:01:56.338018 ====> Client forcibly disconnected 02:01:56.338147 Received QUIT (on stdin) 02:01:56.338159 quits 02:01:56.338210 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 475 === End of file server.cmd === Start of file test475.txt a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === File too long: 349 lines omitted here a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === End of file test475.txt === Start of file valgrind475 ==101734== ==101734== Process terminating with default action of signal 4 (SIGILL) ==101734== Illegal opcode at address 0x10B08D ==101734== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101734== by 0x10B08D: main (tool_main.c:232) === End of file valgrind475 test 0477...[HTTP GET with maximum filesize with a redirect sending data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind477 ../src/curl -q --output log/10/curl477.out --include --trace-ascii log/10/trace477 --trace-config all --trace-time http://127.0.0.1:42929/477 --max-filesize 5 -L > log/10/stdout477 2> log/10/stderr477 477: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 477 === Start of file http_server.log 02:01:56.407633 ====> Client connect 02:01:56.407667 accept_connection 3 returned 4 02:01:56.407683 accept_connection 3 returned 0 02:01:56.407698 Read 93 bytes 02:01:56.407708 Process 93 bytes request 02:01:56.407723 Got request: GET /verifiedserver HTTP/1.1 02:01:56.407733 Are-we-friendly question received 02:01:56.407757 Wrote request (93 bytes) input to log/10/server.input 02:01:56.407775 Identifying ourselves as friends 02:01:56.407843 Response sent (56 bytes) and written to log/10/server.response 02:01:56.407854 special request received, no persistency 02:01:56.407864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 477 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind477 ==101701== ==101701== Process terminating with default action of signal 4 (SIGILL) ==101701== Illegal opcode at address 0x10B08D ==101701== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101701== by 0x10B08D: main (tool_main.c:232) === End of file valgrind477 test 0478...[.netrc with multiple accounts for same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind478 ../src/curl -q --output log/11/curl478.out --include --trace-ascii log/11/trace478 --trace-config all --trace-time --netrc --netrc-file log/11/netrc478 -x http://127.0.0.1:44137/ http://debbie@github.com/ > log/11/stdout478 2> log/11/stderr478 478: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 478 === Start of file http_server.log 02:01:56.517508 ====> Client connect 02:01:56.517547 accept_connection 3 returned 4 02:01:56.517565 accept_connection 3 returned 0 02:01:56.517582 Read 93 bytes 02:01:56.517594 Process 93 bytes request 02:01:56.517611 Got request: GET /verifiedserver HTTP/1.1 02:01:56.517621 Are-we-friendly question received 02:01:56.517648 Wrote request (93 bytes) input to log/11/server.input 02:01:56.517668 Identifying ourselves as friends 02:01:56.517748 Response sent (56 bytes) anCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind479 ../src/curl -q --output log/3/curl479.out --include --trace-ascii log/3/trace479 --trace-config all --trace-time --netrc --netrc-file log/3/netrc479 -L -x http://127.0.0.1:34527/ http://a.com/ > log/3/stdout479 2> log/3/stderr479 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind481 ../src/curl -q --trace-ascii log/1/trace481 --trace-config all --trace-time http://127.0.0.1:34215/481 --no-clobber -C 1 -o "log/1/481" > log/1/stdout481 2> log/1/stderr481 d written to log/11/server.response 02:01:56.517762 special request received, no persistency 02:01:56.517772 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file netrc478 machine github.com password weird password firstone login daniel machine github.com machine github.com login debbie machine github.com password weird password "second\r" login debbie === End of file netrc478 === Start of file server.cmd Testnum 478 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind478 ==101764== ==101764== Process terminating with default action of signal 4 (SIGILL) ==101764== Illegal opcode at address 0x10B08D ==101764== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101764== by 0x10B08D: main (tool_main.c:232) === End of file valgrind478 test 0479...[.netrc with redirect and default without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind479 ../src/curl -q --output log/3/curl479.out --include --trace-ascii log/3/trace479 --trace-config all --trace-time --netrc --netrc-file log/3/netrc479 -L -x http://127.0.0.1:34527/ http://a.com/ > log/3/stdout479 2> log/3/stderr479 479: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 479 === Start of file http_server.log 02:01:56.629488 ====> Client connect 02:01:56.629531 accept_connection 3 returned 4 02:01:56.629550 accept_connection 3 returned 0 02:01:56.629567 Read 93 bytes 02:01:56.629578 Process 93 bytes request 02:01:56.629594 Got request: GET /verifiedserver HTTP/1.1 02:01:56.629604 Are-we-friendly question received 02:01:56.629628 Wrote request (93 bytes) input to log/3/server.input 02:01:56.629645 Identifying ourselves as friends 02:01:56.629730 Response sent (56 bytes) and written to log/3/server.response 02:01:56.629743 special request received, no persistency 02:01:56.629752 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file netrc479 machine a.com login alice password alicespassword default login bob === End of file netrc479 === Start of file server.cmd Testnum 479 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind479 ==101880== ==101880== Process terminating with default action of signal 4 (SIGILL) ==101880== Illegal opcode at address 0x10B08D ==101880== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==101880== by 0x10B08D: main (tool_main.c:232) === End of file valgrind479 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind490 ../src/curl -q --output log/9/curl490.out --include --trace-ascii log/9/trace490 --trace-config all --trace-time http://127.0.0.1:38509/490 -T '{log/9/in490,log/9/in490}' > log/9/stdout490 2> log/9/stderr490 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind482 ../src/curl -q --trace-ascii log/5/trace482 --trace-config all --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/5/482" > log/5/stdout482 2> log/5/stderr482 test 0481...[--no-clobber with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind481 ../src/curl -q --trace-ascii log/1/trace481 --trace-config all --trace-time http://127.0.0.1:34215/481 --no-clobber -C 1 -o "log/1/481" > log/1/stdout481 2> log/1/stderr481 481: stderr FAILED: --- log/1/check-expected 2024-12-15 02:01:57.828774069 +0000 +++ log/1/check-generated 2024-12-15 02:01:57.828774069 +0000 @@ -1,3 +0,0 @@ -curl: --continue-at is mutually exclusive with --no-clobber[CR][LF] -curl: option -C: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/1/ dir after test 481 === Start of file 481 initial content === End of file 481 === Start of file check-expected curl: --continue-at is mutually exclusive with --no-clobber[CR][LF] curl: option -C: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file http_server.log 02:01:56.919489 ====> Client connect 02:01:56.919525 accept_connection 3 returned 4 02:01:56.919544 accept_connection 3 returned 0 02:01:56.919561 Read 93 bytes 02:01:56.919573 Process 93 bytes request 02:01:56.919589 Got request: GET /verifiedserver HTTP/1.1 02:01:56.919600 Are-we-friendly question received 02:01:56.919626 Wrote request (93 bytes) input to log/1/server.input 02:01:56.919648 Identifying ourselves as friends 02:01:56.919726 Response sent (56 bytes) and written to log/1/server.response 02:01:56.919741 special request received, no persistency 02:01:56.919752 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 481 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind481 ==102005== ==102005== Process terminating with default action of signal 4 (SIGILL) ==102005== Illegal opcode at address 0x10B08D ==102005== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102005== by 0x10B08D: main (tool_main.c:232) === End of file valgrind481 test 0490...[Two globbed HTTP PUTs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind490 ../src/curl -q --output log/9/curl490.out --include --trace-ascii log/9/trace490 --trace-config all --trace-time http://127.0.0.1:38509/490 -T '{log/9/in490,log/9/in490}' > log/9/stdout490 2> log/9/stderr490 490: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 490 === Start of file http_server.log 02:01:57.157980 ====> Client connect 02:01:57.158014 accept_connection 3 returned 4 02:01:57.158030 accept_connection 3 returned 0 02:01:57.158045 Read 93 bytes 02:01:57.158055 Process 93 bytes request 02:01:57.158071 Got request: GET /verifiedserver HTTP/1.1 02:01:57.158080 Are-we-friendly question received 02:01:57.158106 Wrote request (93 bytes) input to log/9/server.input 02:01:57.158123 Identifying ourselves as friends 02:01:57.158195 Response sent (56 bytes) and written to log/9/server.response 02:01:57.158205 special request received, no persistency 02:01:57.158215 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file in490 surprise === End of file in490 === Start of file server.cmd Testnum 490 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind490 ==102139== ==102139== Process terminating with default action of signal 4 (SIGILL) ==102139== Illegal opcode at address 0x10B08D ==102139== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102139== by 0x10B08D: main (tool_main.c:232) === End of file valgrind490 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind492 ../src/curl -q --output log/12/curl492.out --include --trace-ascii log/12/trace492 --trace-config all --trace-time 'http://127.0.0.1:40653/{one,two}/' -T '{log/12/first492,log/12/second492}' -H "Testno: 492" > log/12/stdout492 2> log/12/stderr492 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind491 ../src/curl -q --output log/4/curl491.out --include --trace-ascii log/4/trace491 --trace-config all --trace-time http://127.0.0.1:36813/491 -T '{log/4/in491,log/4/bad491}' > log/4/stdout491 2> log/4/stderr491 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind493 ../src/curl -q --include --trace-ascii log/6/trace493 --trace-config all --trace-time -x http://127.0.0.1:39457 http://this.hsts.example/493 --hsts log/6/input493 -w '%{url_effective}\n' > log/6/stdout493 2> log/6/stderr493 test 0482...[--remove-on-error with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind482 ../src/curl -q --trace-ascii log/5/trace482 --trace-config all --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/5/482" > log/5/stdout482 2> log/5/stderr482 482: stderr FAILED: --- log/5/check-expected 2024-12-15 02:01:58.095445527 +0000 +++ log/5/check-generated 2024-12-15 02:01:58.092112134 +0000 @@ -1,3 +0,0 @@ -curl: --continue-at is mutually exclusive with --remove-on-error[CR][LF] -curl: option -C: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/5/ dir after test 482 === Start of file check-expected curl: --continue-at is mutually exclusive with --remove-on-error[CR][LF] curl: option -C: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file http_server.log 02:01:57.015317 ====> Client connect 02:01:57.015353 accept_connection 3 returned 4 02:01:57.015369 accept_connection 3 returned 0 02:01:57.015382 Read 93 bytes 02:01:57.015392 Process 93 bytes request 02:01:57.015405 Got request: GET /verifiedserver HTTP/1.1 02:01:57.015414 Are-we-friendly question received 02:01:57.015434 Wrote request (93 bytes) input to log/5/server.input 02:01:57.015450 Identifying ourselves as friends 02:01:57.015541 Response sent (56 bytes) and written to log/5/server.response 02:01:57.015552 special request received, no persistency 02:01:57.015560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 482 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind482 ==102050== ==102050== Process terminating with default action of signal 4 (SIGILL) ==102050== Illegal opcode at address 0x10B08D ==102050== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102050== by 0x10B08D: main (tool_main.c:232) === End of file valgrind482 test 0492...[Two globbed HTTP PUTs to two globbed URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind492 ../src/curl -q --output log/12/curl492.out --include --trace-ascii log/12/trace492 --trace-config all --trace-time 'http://127.0.0.1:40653/{one,two}/' -T '{log/12/first492,log/12/second492}' -H "Testno: 492" > log/12/stdout492 2> log/12/stderr492 492: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 492 === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 02:01:57.280115 ====> Client connect 02:01:57.280153 accept_connection 3 returned 4 02:01:57.280172 accept_connection 3 returned 0 02:01:57.280188 Read 93 bytes 02:01:57.280200 Process 93 bytes request 02:01:57.280216 Got request: GET /verifiedserver HTTP/1.1 02:01:57.280226 Are-we-friendly question received 02:01:57.280251 Wrote request (93 bytes) input to log/12/server.input 02:01:57.280271 Identifying ourselves as friends 02:01:57.280359 Response sent (56 bytes) and written to log/12/server.response 02:01:57.280373 special request received, no persistency 02:01:57.280384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file second492 second 492 contents === End of file second492 === Start of file server.cmd Testnum 492 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind492 ==102223== ==102223== Process terminating with default action of signal 4 (SIGILL) ==102223== Illegal opcode at address 0x10B08D ==102223== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102223== by 0x10B08D: main (tool_main.c:232) === End of file valgrind492 test 0491...[Two globbed HTTP PUTs, the second upload file is missing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind491 ../src/curl -q --output log/4/curl491.out --include --trace-ascii log/4/trace491 --trace-config all --trace-time http://127.0.0.1:36813/491 -T '{log/4/in491,log/4/bad491}' > log/4/stdout491 2> log/4/stderr491 491: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 491 === Start of file http_server.log 02:01:57.163819 ====> Client connect 02:01:57.163854 accept_connection 3 returned 4 02:01:57.163872 accept_connection 3 returned 0 02:01:57.163888 Read 93 bytes 02:01:57.163900 Process 93 bytes request 02:01:57.163915 Got request: GET /verifiedserver HTTP/1.1 02:01:57.163925 Are-we-friendly question received 02:01:57.163949 Wrote request (93 bytes) input to log/4/server.input 02:01:57.163967 Identifying ourselves as friends 02:01:57.164041 Response sent (56 bytes) and written to log/4/server.response 02:01:57.164052 special request received, no persistency 02:01:57.164063 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file in491 surprise === End of file in491 === Start of file server.cmd Testnum 491 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind491 ==102154== ==102154== Process terminating with default action of signal 4 (SIGILL) ==102154== Illegal opcode at address 0x10B08D ==102154== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102154== by 0x10B08D: main (tool_main.c:232) === End of file valgrind491 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind494 ../src/curl -q --output log/2/curl494.out --include --trace-ascii log/2/trace494 --trace-config all --trace-time --netrc --netrc-file log/2/netrc494 ftp://127.0.0.1:36595/494 > log/2/stdout494 2> log/2/stderr494 test 0493...[HSTS and %{url_effective} after upgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind493 ../src/curl -q --include --trace-ascii log/6/trace493 --trace-config all --trace-time -x http://127.0.0.1:39457 http://this.hsts.example/493 --hsts log/6/input493 -w '%{url_effective}\n' > log/6/stdout493 2> log/6/stderr493 493: stdout FAILED: --- log/6/check-expected 2024-12-15 02:01:58.318782874 +0000 +++ log/6/check-generated 2024-12-15 02:01:58.318782874 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example/493[LF] == Contents of files in the log/6/ dir after test 493 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example/493[LF] === End of file check-expected === Start of file http_server.log 02:01:57.360729 ====> Client connect 02:01:57.360762 accept_connection 3 returned 4 02:01:57.360778 accept_connection 3 returned 0 02:01:57.360791 Read 93 bytes 02:01:57.360802 Process 93 bytes request 02:01:57.360816 Got request: GET /verifiedserver HTTP/1.1 02:01:57.360826 Are-we-friendly question received 02:01:57.360857 Wrote request (93 bytes) input to log/6/server.input 02:01:57.360874 Identifying ourselves as friends 02:01:57.360936 Response sent (56 bytes) and written to log/6/server.response 02:01:57.360947 special request received, no persistency 02:01:57.360956 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file input493 .hsts.example "99991001 04:47:41" === End of file input493 === Start of file server.cmd Testnum 493 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind493 ==102274== ==102274== Process terminating with default action of signal 4 (SIGILL) ==102274== Illegal opcode at address 0x10B08D ==102274== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102274== by 0x10B08D: main (tool_main.c:232) === End of file valgrind493 test 0494...[skip 'macdef' when parsing netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind494 ../src/curl -q --output log/2/curl494.out --include --trace-ascii log/2/trace494 --trace-config all --trace-time --netrc --netrc-file log/2/netrc494 ftp://127.0.0.1:36595/494 > log/2/stdout494 2> log/2/stderr494 494: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 494 === Start of file ftp_server.log 02:01:57.591367 ====> Client connect 02:01:57.591546 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:57.595730 < "USER anonymous" 02:01:57.595783 > "331 We are happy you popped in![CR][LF]" 02:01:57.595974 < "PASS ftp@example.com" 02:01:57.596011 > "230 Welcome you silly person[CR][LF]" 02:01:57.596200 < "PWD" 02:01:57.596240 > "257 "/" is current directory[CR][LF]" 02:01:57.596440 < "EPSV" 02:01:57.596472 ====> Passive DATA channel requested by client 02:01:57.596488 DATA sockfilt for passive data channel starting... 02:01:57.599732 DATA sockfilt for passive data channel started (pid 102426) 02:01:57.599846 DATA sockfilt for passive data channel listens on port 33883 02:01:57.599897 > "229 Entering Passive Mode (|||33883|)[LF]" 02:01:57.599920 Client has been notified that DATA conn will be accepted on port 33883 02:01:57.600202 Client connects to port 33883 02:01:57.600235 ====> Client established passive DATA connection on port 33883 02:01:57.600316 < "TYPE I" 02:01:57.600348 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:57.600534 < "SIZE verifiedserver" 02:01:57.600575 > "213 17[CR][LF]" 02:01:57.600942 < "RETR verifiedserver" 02:01:57.600981 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:57.601066 =====> Closing passive DATA connection... 02:01:57.601087 Server disconnects passive DATA connection 02:01:57.601359 Server disconnected passive DATA connection 02:01:57.601393 DATA sockfilt for passive data channel quits (pid 102426) 02:01:57.601600 DATA sockfilt for passive data channel quit (pid 102426) 02:01:57.601627 =====> Closed passive DATA connection 02:01:57.601655 > "226 File transfer complete[CR][LF]" 02:01:57.645376 < "QUIT" 02:01:57.645434 > "221 bye bye baby[CR][LF]" 02:01:57.646298 MAIN sockfilt said DISC 02:01:57.646340 ====> Client disconnected 02:01:57.646416 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:57.791205 ====> Client connect 02:01:57.795439 Received DATA (on stdin) 02:01:57.795471 > 160 bytes data, server => client 02:01:57.795486 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:57.795503 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:57.795515 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:57.795632 < 16 bytes data, client => server 02:01:57.795654 'USER anonymous\r\n' 02:01:57.795927 Received DATA (on stdin) 02:01:57.795940 > 33 bytes data, server => client 02:01:57.795950 '331 We are happy you popped in!\r\n' 02:01:57.796009 < 22 bytes data, client => server 02:01:57.796020 'PASS ftp@example.com\r\n' 02:01:57.796153 Received DATA (on stdin) 02:01:57.796169 > 30 bytes data, server => client 02:01:57.796180 '230 Welcome you silly person\r\n' 02:01:57.796239 < 5 bytes data, client => server 02:01:57.796254 'PWD\r\n' 02:01:57.796383 Received DATA (on stdin) 02:01:57.796397 > 30 bytes data, server => client 02:01:57.796408 '257 "/" is current directory\r\n' 02:01:57.796479 < 6 bytes data, client => server 02:01:57.796495 'EPSV\r\n' 02:01:57.800069 Received DATA (on stdin) 02:01:57.800084 > 38 bytes data, server => client 02:01:57.800095 '229 Entering Passive Mode (|||33883|)\n' 02:01:57.800257 < 8 bytes data, client => server 02:01:57.800276 'TYPE I\r\n' 02:01:57.800492 Received DATA (on stdin) 02:01:57.800505 > 33 bytes data, server => client 02:01:57.800517 '200 I modify TYPE as you wanted\r\n' 02:01:57.800578 < 21 bytes data, client => server 02:01:57.800594 'SIZE verifiedserver\r\n' 02:01:57.800717 Received DATA (on stdin) 02:01:57.800729 > 8 bytes data, server => client 02:01:57.800740 '213 17\r\n' 02:01:57.800794 < 21 bytes data, client => server 02:01:57.800808 'RETR verifiedserver\r\n' 02:01:57.801231 Received DATA (on stdin) 02:01:57.801246 > 29 bytes data, server => client 02:01:57.801258 '150 Binary junk (17 bytes).\r\n' 02:01:57.801795 Received DATA (on stdin) 02:01:57.801809 > 28 bytes data, server => client 02:01:57.807293 '226 File transfer complete\r\n' 02:01:57.845313 < 6 bytes data, client => server 02:01:57.845353 'QUIT\r\n' 02:01:57.845587 Received DATA (on stdin) 02:01:57.845603 > 18 bytes data, server => client 02:01:57.845614 '221 bye bye baby\r\n' 02:01:57.846377 ====> Client disconnect 02:01:57.846562 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind496 ../src/curl -q --output log/11/curl496.out --include --trace-ascii log/11/trace496 --trace-config all --trace-time 0 -Z -Tz > log/11/stdout496 2> log/11/stderr496 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind497 ../src/curl -q --output log/7/curl497.out --include --trace-ascii log/7/trace497 --trace-config all --trace-time http://127.0.0.1:43753/497 > log/7/stdout497 2> log/7/stderr497 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind495 ../src/curl -q --output log/10/curl495.out --include --trace-ascii log/10/trace495 --trace-config all --trace-time http://foo%40bar:secret@127.0.0.1:42929/495 --netrc-optional > log/10/stdout495 2> log/10/stderr495 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind498 ../src/curl -q --output log/3/curl498.out --include --trace-ascii log/3/trace498 --trace-config all --trace-time http://127.0.0.1:34527/498 --max-redirs 400 --location > log/3/stdout498 2> log/3/stderr498 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind499 ../src/curl -q --output log/1/curl499.out --include --trace-ascii log/1/trace499 --trace-config all --trace-time http://127.0.0.1:34215/499 -I > log/1/stdout499 2> log/1/stderr499 file ftp_sockdata.log 02:01:57.799552 Running IPv4 version 02:01:57.799621 Listening on port 33883 02:01:57.799663 Wrote pid 102426 to log/2/server/ftp_sockdata.pid 02:01:57.799811 Received PING (on stdin) 02:01:57.799899 Received PORT (on stdin) 02:01:57.800296 ====> Client connect 02:01:57.801313 Received DATA (on stdin) 02:01:57.801332 > 17 bytes data, server => client 02:01:57.801344 'WE ROOLZ: 80457\r\n' 02:01:57.801379 Received DISC (on stdin) 02:01:57.801396 ====> Client forcibly disconnected 02:01:57.801544 Received QUIT (on stdin) 02:01:57.801559 quits 02:01:57.801614 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc494 macdef testmacro bin cd default cd login put login.bin cd .. cd password put password.bin quit machine 127.0.0.1 login user1 password passwd1 === End of file netrc494 === Start of file server.cmd Testnum 494 === End of file server.cmd === Start of file valgrind494 ==102466== ==102466== Process terminating with default action of signal 4 (SIGILL) ==102466== Illegal opcode at address 0x10B08D ==102466== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102466== by 0x10B08D: main (tool_main.c:232) === End of file valgrind494 * starts no server test 0496...[parallel upload missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind496 ../src/curl -q --output log/11/curl496.out --include --trace-ascii log/11/trace496 --trace-config all --trace-time 0 -Z -Tz > log/11/stdout496 2> log/11/stderr496 curl returned 132, when expecting 26 496: exit FAILED == Contents of files in the log/11/ dir after test 496 === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 ==102414== ==102414== Process terminating with default action of signal 4 (SIGILL) ==102414== Illegal opcode at address 0x10B08D ==102414== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102414== by 0x10B08D: main (tool_main.c:232) === End of file valgrind496 test 0495...[user+password in URL with optional netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind495 ../src/curl -q --output log/10/curl495.out --include --trace-ascii log/10/trace495 --trace-config all --trace-time http://foo%40bar:secret@127.0.0.1:42929/495 --netrc-optional > log/10/stdout495 2> log/10/stderr495 495: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 495 === Start of file http_server.log 02:01:57.875224 ====> Client connect 02:01:57.875262 accept_connection 3 returned 4 02:01:57.875278 accept_connection 3 returned 0 02:01:57.875292 Read 93 bytes 02:01:57.875303 Process 93 bytes request 02:01:57.875317 Got request: GET /verifiedserver HTTP/1.1 02:01:57.875326 Are-we-friendly question received 02:01:57.875350 Wrote request (93 bytes) input to log/10/server.input 02:01:57.875366 Identifying ourselves as friends 02:01:57.875445 Response sent (56 bytes) and written to log/10/server.response 02:01:57.875455 special request received, no persistency 02:01:57.875465 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 495 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind495 ==102474== ==102474== Process terminating with default action of signal 4 (SIGILL) ==102474== Illegal opcode at address 0x10B08D ==102474== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102474== by 0x10B08D: main (tool_main.c:232) === End of file valgrind495 test 0497...[Reject too large accumulated HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind497 ../src/curl -q --output log/7/curl497.out --include --trace-ascii log/7/trace497 --trace-config all --trace-time http://127.0.0.1:43753/497 > log/7/stdout497 2> log/7/stderr497 497: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 497 === Start of file http_server.log 02:01:57.848768 ====> Client connect 02:01:57.848802 accept_connection 3 returned 4 02:01:57.848820 accept_connection 3 returned 0 02:01:57.848835 Read 93 bytes 02:01:57.848846 Process 93 bytes request 02:01:57.848861 Got request: GET /verifiedserver HTTP/1.1 02:01:57.848870 Are-we-friendly question received 02:01:57.848894 Wrote request (93 bytes) input to log/7/server.input 02:01:57.848913 Identifying ourselves as friends 02:01:57.848986 Response sent (56 bytes) and written to log/7/server.response 02:01:57.848998 special request received, no persistency 02:01:57.849008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 497 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind497 ==102492== ==102492== Process terminating with default action of signal 4 (SIGILL) ==102492== Illegal opcode at address 0x10B08D ==102492== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102492== by 0x10B08D: main (tool_main.c:232) === End of file valgrind497 test 0498...[Reject too large HTTP response headers on endless redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind498 ../src/curl -q --output log/3/curl498.out --include --trace-ascii log/3/trace498 --trace-config all --trace-time http://127.0.0.1:34527/498 --max-redirs 400 --location > log/3/stdout498 2> log/3/stderr498 curl returned 132, when expecting 56 498: exit FAILED == Contents of files in the log/3/ dir after test 498 === Start of file http_server.log 02:01:57.968384 ====> Client connect 02:01:57.968416 accept_connection 3 returned 4 02:01:57.968432 accept_connection 3 returned 0 02:01:57.969512 Read 93 bytes 02:01:57.969532 Process 93 bytes request 02:01:57.969548 Got request: GET /verifiedserver HTTP/1.1 02:01:57.969558 Are-we-friendly question received 02:01:57.969592 Wrote request (93 bytes) input to log/3/server.input 02:01:57.969609 Identifying ourselves as friends 02:01:57.969673 Response sent (56 bytes) and written to log/3/server.response 02:01:57.969683 special request received, no persistency 02:01:57.969692 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserverCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind480 ../src/curl -q --output log/8/curl480.out --include --trace-ascii log/8/trace480 --trace-config all --trace-time --netrc --netrc-file log/8/netrc480 pop3://127.0.0.1:43389/480 > log/8/stdout480 2> log/8/stderr480 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind511 ./libtest/lib511 ftp://127.0.0.1:44405/511 > log/1/stdout511 2> log/1/stderr511 HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 498 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind498 ==102615== ==102615== Process terminating with default action of signal 4 (SIGILL) ==102615== Illegal opcode at address 0x10B08D ==102615== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102615== by 0x10B08D: main (tool_main.c:232) === End of file valgrind498 test 0499...[HTTP HEAD to server still sending a body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind499 ../src/curl -q --output log/1/curl499.out --include --trace-ascii log/1/trace499 --trace-config all --trace-time http://127.0.0.1:34215/499 -I > log/1/stdout499 2> log/1/stderr499 499: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 499 === Start of file http_server.log 02:01:58.145219 ====> Client connect 02:01:58.145254 accept_connection 3 returned 4 02:01:58.145272 accept_connection 3 returned 0 02:01:58.145286 Read 93 bytes 02:01:58.145297 Process 93 bytes request 02:01:58.145312 Got request: GET /verifiedserver HTTP/1.1 02:01:58.145321 Are-we-friendly question received 02:01:58.145343 Wrote request (93 bytes) input to log/1/server.input 02:01:58.145361 Identifying ourselves as friends 02:01:58.145433 Response sent (56 bytes) and written to log/1/server.response 02:01:58.145444 special request received, no persistency 02:01:58.145454 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 499 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind499 ==102768== ==102768== Process terminating with default action of signal 4 (SIGILL) ==102768== Illegal opcode at address 0x10B08D ==102768== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102768== by 0x10B08D: main (tool_main.c:232) === End of file valgrind499 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/pop3_server.pid" --logfile "log/8/pop3_server.log" --logdir "log/8" --portfile "log/8/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43389 (log/8/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:43389/verifiedserver" 2>log/8/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 101957 port 43389 * pid pop3 => 101957 101957 test 0480...[Reject .netrc with credentials using CRLF for POP3] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind480 ../src/curl -q --output log/8/curl480.out --include --trace-ascii log/8/trace480 --trace-config all --trace-time --netrc --netrc-file log/8/netrc480 pop3://127.0.0.1:43389/480 > log/8/stdout480 2> log/8/stderr480 curl returned 132, when expecting 26 480: exit FAILED == Contents of files in the log/8/ dir after test 480 === Start of file netrc480 machine 127.0.0.1 login alice password "password\r\ncommand" === End of file netrc480 === Start of file pop3_server.log 02:01:56.688965 POP3 server listens on port IPv4/43389 02:01:56.689054 logged pid 101957 in log/8/server/pop3_server.pid 02:01:56.689081 Awaiting input 02:01:57.720847 ====> Client connect 02:01:57.720996 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:01:57.721256 < "CAPA" 02:01:57.721291 > "-ERR Unrecognized command[CR][LF]" 02:01:57.721435 < "RETR verifiedserver" 02:01:57.721460 return proof we are we 02:01:57.721504 > "+OK Mail transfer starts[CR][LF]" 02:01:57.721520 > "WE ROOLZ: 101957[CR][LF]" 02:01:57.721534 > ".[CR][LF]" 02:01:57.765241 < "QUIT" 02:01:57.765293 > "+OK curl POP3 server signing off[CR][LF]" 02:01:57.766116 MAIN sockfilt said DISC 02:01:57.766143 ====> Client disconnected 02:01:57.766213 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:01:56.885931 Running IPv4 version 02:01:56.886029 Listening on port 43389 02:01:56.886079 Wrote pid 101981 to log/8/server/pop3_sockfilt.pid 02:01:56.886118 Wrote port 43389 to log/8/server/pop3_server.port 02:01:56.888970 Received PING (on stdin) 02:01:57.920910 ====> Client connect 02:01:57.921140 Received DATA (on stdin) 02:01:57.921150 > 178 bytes data, server => client 02:01:57.921161 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:01:57.921171 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:01:57.921181 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:01:57.921189 've \r\n' 02:01:57.921258 < 6 bytes data, client => server 02:01:57.921269 'CAPA\r\n' 02:01:57.921429 Received DATA (on stdin) 02:01:57.921440 > 27 bytes data, server => client 02:01:57.921449 '-ERR Unrecognized command\r\n' 02:01:57.921498 < 21 bytes data, client => server 02:01:57.921509 'RETR verifiedserver\r\n' 02:01:57.921597 Received DATA (on stdin) 02:01:57.921608 > 26 bytes data, server => client 02:01:57.921669 '+OK Mail transfer starts\r\n' 02:01:57.921691 Received DATA (on stdin) 02:01:57.921700 > 18 bytes data, server => client 02:01:57.921709 'WE ROOLZ: 101957\r\n' 02:01:57.921724 Received DATA (on stdin) 02:01:57.921732 > 3 bytes data, server => client 02:01:57.921741 '.\r\n' 02:01:57.965186 < 6 bytes data, client => server 02:01:57.965223 'QUIT\r\n' 02:01:57.965433 Received DATA (on stdin) 02:01:57.965445 > 34 bytes data, server => client 02:01:57.965456 '+OK curl POP3 server signing off\r\n' 02:01:57.966204 ====> Client disconnect 02:01:57.966350 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 480 === End of file server.cmd === Start of file valgrind480 ==102580== ==102580== Process terminating with default action of signal 4 (SIGILL) ==102580== Illegal opcode at address 0x10B08D ==102580== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==102580== by 0x10B08D: main (tool_main.c:232) === End of file valgrind480 test 0511...[FTP with FILETIME and NOBODY but missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind511 ./libtest/lib511 ftp://127.0.0.1:44405/511 > log/1/stdout511 2> log/1/stderr511 511: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 511 === Start of file ftp_server.log 02:01:59.234182 ====> Client connect 02:01:59.234366 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:59.235444 < "USER anonymous" 02:01:59.235490 > "331 We are happy you popped in![CR][LF]" 02:01:59.235789 < "PASS ftp@example.com" 02:01:59.235814 > "230 Welcome you silly person[CR][LF]" 02:01:59.235964 < "PWD" 02:01:59.235995 > "257 "/" is current directory[CR][LF]" 02:01:59.236153 < "EPSV" 02:01:59.236177 ====> Passive DATA channel requested by client 02:01:59.236189 DATA sockfilt for passive data channel starting... 02:01:59.241918 DATA sockfilt for passive data channel started (pid 103392) 02:01:59.242038 DATA sockfilt for passive data channel listens on port 36085 02:01:59.242082 > "229 Entering Passive Mode (|||36085|)[LF]" 02:01:59.242099 Client has been notified that DATA conn will be accepted on port 36085 02:01:59.242387 Client connects to port 36085 02:01:59.242414 ====> Client established passive DATA connection on port 36085 02:01:59.242489 < "TYPE I" 02:01:59.242514 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:59.242662 < "SIZE verifiedserver" 02:01:59.242696 > "213 17[CR][LF]" 02:01:59.242832 < "RETR verifiedserver" 02:01:59.242864 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:59.242942 =====> Closing passive DATA connection... 02:01:59.242956 Server disconnects passive DATA connection 02:01:59.243176 Server disconnected passive DATA connection 02:01:59.243199 DATA sockfilt for passive data channel quits (pid 103392) 02:01:59.243392 DATA sockfilt for passive data channel quit (pid 103392) 02:01:59.243412 =====> Closed passive DATA connection 02:01:59.243437 > "226 File transfer complete[CR][LF]" 02:01:59.295337 < "QUIT" 02:01:59.295385 > "221 bye bye baby[CR][LF]" 02:01:59.299201 MAIN sockfilt said DISC 02:01:59.299249 ====> Client disconnected 02:01:59.299312 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:59.434213 ====> Client connect 02:01:59.434525 Received DATA (on stdin) 02:01:59.434542 > 160 bytes data, server => client 02:01:59.434554 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:59.434566 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:59.434576 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:59.435403 < 16 bytes data, client => server 02:01:59.435421 'USER anonymous\r\n' 02:01:59.435634 Received DATA (on stdin) 02:01:59.435647 > 33 bytes data, server => client 02:01:59.435659 '331 We are happy you popped in!\r\n' 02:01:59.435841 < 22 bytes data, client => server 02:01:59.435856 'PASS ftp@example.com\r\n' 02:01:59.435953 Received DATA (on stdin) 02:01:59.435964 > 30 bytes data, server => client 02:01:59.435974 '230 Welcome you silly person\r\n' 02:01:59.436024 < 5 bytes data, client => server 02:01:59.436036 'PWD\r\n' 02:01:59.436134 Received DATA (on stdin) 02:01:59.436146 > 30 bytes data, server => client 02:01:59.436156 '257 "/" is current directory\r\n' 02:01:59.436213 < 6 bytes data, client => server 02:01:59.436226 'EPSV\r\n' 02:01:59.442245 Received DATA (on stdin) 02:01:59.442261 > 38 bytes data, server => client 02:01:59.442273 '229 Entering Passive Mode (|||36085|)\n' 02:01:59.442452 < 8 bytes data, client => server 02:01:59.442466 'TYPE I\r\n' 02:01:59.442653 Received DATA (on stdin) 02:01:59.442665 > 33 bytes data, server => client 02:01:59.442675 '200 I modify TYPE as you wanted\r\n' 02:01:59.442727 < 21 bytes data, client => server 02:01:59.442738 'SIZE verifiedserver\r\n' 02:01:59.442833 Received DATA (on stdin) 02:01:59.442844 > 8 bytes data, server => client 02:01:59.442853 '213 17\r\n' 02:01:59.442899 < 21 bytes data, client => server 02:01:59.442909 'RETR verifiedserver\r\n' 02:01:59.443094 Received DATA (on stdin) 02:01:59.443105 > 29 bytes data, server => client 02:01:59.443115 '150 Binary junk (17 bytes).\r\n' 02:01:59.443575 Received DATA (on stdin) 02:01:59.443587 > 28 bytes data, server => client 02:01:59.443597 '226 File transfer complete\r\n' 02:01:59.495279 < 6 bytes data, client => server 02:01:59.495309 'QUIT\r\n' 02:01:59.497970 Received DATA (on stdin) 02:01:59.497995 > 18 bytes data, server => client 02:01:59.498007 '221 bye bye baby\r\n' 02:01:59.498688 ====> Client disconnect 02:01:59.499453 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:59.439401 Running IPv4 version 02:01:59.439458 Listening on port 36085 02:01:59.439497 Wrote pid 103392 to log/1/server/ftp_sockdata.pid 02:01:59.441987 Received PING (on stdin) 02:01:59.442088 Received PORT (on stdin) 02:01:59.442484 ====> Client connect 02:01:59.443160 Received DATA (on stdin) 02:01:59.443173 > 17 bytes data, server => client 02:01:59.443183 'WE ROOLZ: 88524\r\n' 02:01:59.443210 Received DISC (on stdin) 02:01:59.443222 ====> Client forcibly disconnected 02:01:59.443342 Received QUIT (on stdin) 02:01:59.443353 quits 02:01:59.443409 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 bluah you f00l REPLY SIZE 550 bluah you f00l Testnum 511 === End of file server.cmd === Start of file stderr511 URL: ftp://127.0.0.1:44405/511 === End of file stderr511 === Start of file valgrind511 ==103423== ==103423== Process terminating with default action of signal 4 (SIGILL) ==103423== Illegal opcode at address 0x48EA16B ==103423== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103423== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103423== by 0x48EA16B: Curl_open (url.c:519) ==103423== by 0x4880EEF: curl_easy_init (easy.c:370) ==103423== by 0x10908A: UnknownInlinedFun (lib511.c:38) ==103423== by 0x10908A: main (first.c:220) ==103423== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103423== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103423== by 0x4A6D258: __tsearch (tsearch.c:337) ==103423== by 0x4A6D258: tsearch (tsearch.c:290) ==103423== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103423== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103423== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103423== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103423== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103423== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103423== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103423== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103423== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103423== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103423== by 0x498986B: setlocale (setlocale.c:337) ==103423== by 0x109047: main (first.c:160) ==103423== ==103423== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103423== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103423== by 0x4A6D258: __tsearch (tsearch.c:337) ==103423== by 0x4A6D258: tsearch (tsearch.c:290) ==103423== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103423== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103423== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103423== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103423== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103423== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103423== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103423== by 0x498986B: setlocale (setlocale.c:337) ==103423== by 0x109047: main (first.c:160) ==103423== ==103423== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103423== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103423== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103423== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103423== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103423== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103423== by 0x497DD1F: gconv_parseconfdir (gconv_parsecoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind509 ./libtest/lib509 nothing > log/7/stdout509 2> log/7/stderr509 nfdir.h:139) ==103423== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103423== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103423== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103423== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103423== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103423== by 0x498986B: setlocale (setlocale.c:337) ==103423== by 0x109047: main (first.c:160) ==103423== ==103423== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103423== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103423== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103423== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103423== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103423== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103423== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103423== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103423== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103423== by 0x498986B: setlocale (setlocale.c:337) ==103423== by 0x109047: main (first.c:160) ==103423== ==103423== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103423== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103423== by 0x48EA143: Curl_open (url.c:510) ==103423== by 0x4880EEF: curl_easy_init (easy.c:370) ==103423== by 0x10908A: UnknownInlinedFun (lib511.c:38) ==103423== by 0x10908A: main (first.c:220) ==103423== ==103423== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103423== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103423== by 0x4A6D258: __tsearch (tsearch.c:337) ==103423== by 0x4A6D258: tsearch (tsearch.c:290) ==103423== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103423== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103423== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103423== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103423== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103423== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103423== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103423== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103423== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103423== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103423== by 0x498986B: setlocale (setlocale.c:337) ==103423== by 0x109047: main (first.c:160) ==103423== ==103423== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103423== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103423== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103423== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103423== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103423== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103423== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103423== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103423== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103423== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103423== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103423== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103423== by 0x498986B: setlocale (setlocale.c:337) ==103423== by 0x109047: main (first.c:160) ==103423== === End of file valgrind511 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind512 ./libtest/lib512 http://127.0.0.1:43803/512 > log/8/stdout512 2> log/8/stderr512 * starts no server test 0509...[initialization with memory callbacks and actual usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind509 ./libtest/lib509 nothing > log/7/stdout509 2> log/7/stderr509 509: stdout FAILED: --- log/7/check-expected 2024-12-15 02:02:01.335503745 +0000 +++ log/7/check-generated 2024-12-15 02:02:01.335503745 +0000 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/7/ dir after test 509 === Start of file check-expected Callbacks were invoked![LF] === End of file check-expected === Start of file server.cmd Testnum 509 === End of file server.cmd === Start of file stderr509 URL: nothing === End of file stderr509 === Start of file valgrind509 ==103137== ==103137== Process terminating with default action of signal 4 (SIGILL) ==103137== Illegal opcode at address 0x48EA16B ==103137== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103137== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103137== by 0x48EA16B: Curl_open (url.c:519) ==103137== by 0x4880EEF: curl_easy_init (easy.c:370) ==103137== by 0x1090D6: UnknownInlinedFun (lib509.c:93) ==103137== by 0x1090D6: main (first.c:220) ==103137== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103137== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103137== by 0x4A6D258: __tsearch (tsearch.c:337) ==103137== by 0x4A6D258: tsearch (tsearch.c:290) ==103137== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103137== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103137== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103137== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103137== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103137== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103137== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103137== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103137== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103137== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103137== by 0x498986B: setlocale (setlocale.c:337) ==103137== by 0x109056: main (first.c:160) ==103137== ==103137== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103137== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103137== by 0x4A6D258: __tsearch (tsearch.c:337) ==103137== by 0x4A6D258: tsearch (tsearch.c:290) ==103137== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103137== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103137== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103137== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103137== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103137== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103137== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103137== by 0x498986B: setlocale (setlocale.c:337) ==103137== by 0x109056: main (first.c:160) ==103137== ==103137== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103137== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103137== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103137== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103137== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103137== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103137== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103137== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103137== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103137== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103137== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103137== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103137== by 0x498986B: setlocale (setlocale.c:337) ==103137== by 0x109056: main (first.c:160) ==103137== ==103137== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103137== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103137== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103137== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103137== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103137== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103137== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103137== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103137== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103137== by 0x498986B: setlocale (setlocale.c:337) ==103137== by 0x109056: main (first.c:160) ==103137== ==103137== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103137== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103137== by 0x48EA143: Curl_open (url.c:510) ==103137== by 0x4880EEF: curl_easy_init (easy.c:370) ==103137== by 0x1090D6: UnknownInlinedFun (lib509.c:93) ==103137== by 0x1090D6: main (first.c:220) ==103137== ==103137== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103137== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103137== by 0x4A6D258: __tsearch (tsearch.c:337) ==103137== by 0x4A6D258: tsearch (tsearch.c:290) ==103137== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103137== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103137== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103137== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103137== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103137== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103137== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103137== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103137== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103137== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103137== by 0x498986B: setlocale (setlocale.c:337) ==103137== by 0x109056: main (first.c:160) ==103137== ==103137== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103137== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103137== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103137== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103137== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103137== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103137== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103137== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103137== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103137== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103137== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103137== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103137== by 0x498986B: setlocale (setlocale.c:337) ==103137== by 0x109056: main (first.c:160) ==103137== === End of file valgrind509 test 0512...[simple curl_easy_duplicate() test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind512 ./libtest/lib512 http://127.0.0.1:43803/512 > log/8/stdout512 2> log/8/stderr512 512: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 512 === Start of file http_server.log 02:01:59.481875 ====> Client connect 02:01:59.481911 accept_connection 3 returned 4 02:01:59.481929 accept_connection 3 returned 0 02:01:59.481944 Read 93 bytes 02:01:59.481954 Process 93 bytes request 02:01:59.481969 Got request: GET /verifiedserver HTTP/1.1 02:01:59.481979 Are-we-friendly question received 02:01:59.482000 Wrote request (93 bytes) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind504 ./libtest/lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/6/stdout504 2> log/6/stderr504 input to log/8/server.input 02:01:59.482017 Identifying ourselves as friends 02:01:59.482089 Response sent (56 bytes) and written to log/8/server.response 02:01:59.482100 special request received, no persistency 02:01:59.482109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 512 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr512 URL: http://127.0.0.1:43803/512 === End of file stderr512 === Start of file valgrind512 ==103405== ==103405== Process terminating with default action of signal 4 (SIGILL) ==103405== Illegal opcode at address 0x48EA16B ==103405== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103405== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103405== by 0x48EA16B: Curl_open (url.c:519) ==103405== by 0x4880EEF: curl_easy_init (easy.c:370) ==103405== by 0x1090B6: UnknownInlinedFun (lib512.c:38) ==103405== by 0x1090B6: main (first.c:220) ==103405== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103405== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103405== by 0x4A6D258: __tsearch (tsearch.c:337) ==103405== by 0x4A6D258: tsearch (tsearch.c:290) ==103405== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103405== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103405== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103405== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103405== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103405== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103405== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103405== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103405== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103405== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103405== by 0x498986B: setlocale (setlocale.c:337) ==103405== by 0x10904B: main (first.c:160) ==103405== ==103405== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103405== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103405== by 0x4A6D258: __tsearch (tsearch.c:337) ==103405== by 0x4A6D258: tsearch (tsearch.c:290) ==103405== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103405== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103405== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103405== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103405== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103405== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103405== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103405== by 0x498986B: setlocale (setlocale.c:337) ==103405== by 0x10904B: main (first.c:160) ==103405== ==103405== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103405== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103405== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103405== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103405== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103405== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103405== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103405== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103405== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103405== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103405== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103405== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103405== by 0x498986B: setlocale (setlocale.c:337) ==103405== by 0x10904B: main (first.c:160) ==103405== ==103405== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103405== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103405== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103405== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103405== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103405== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103405== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103405== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103405== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103405== by 0x498986B: setlocale (setlocale.c:337) ==103405== by 0x10904B: main (first.c:160) ==103405== ==103405== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103405== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103405== by 0x48EA143: Curl_open (url.c:510) ==103405== by 0x4880EEF: curl_easy_init (easy.c:370) ==103405== by 0x1090B6: UnknownInlinedFun (lib512.c:38) ==103405== by 0x1090B6: main (first.c:220) ==103405== ==103405== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103405== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103405== by 0x4A6D258: __tsearch (tsearch.c:337) ==103405== by 0x4A6D258: tsearch (tsearch.c:290) ==103405== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103405== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103405== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103405== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103405== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103405== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103405== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103405== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103405== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103405== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103405== by 0x498986B: setlocale (setlocale.c:337) ==103405== by 0x10904B: main (first.c:160) ==103405== ==103405== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103405== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103405== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103405== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103405== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103405== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103405== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103405== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103405== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103405== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103405== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103405== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103405== by 0x498986B: setlocale (setlocale.c:337) ==103405== by 0x10904B: main (first.c:160) ==103405== === End of file valgrind512 * starts no server test 0504...[simple multi through local proxy without listener] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind504 ./libtest/lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/6/stdout504 2> log/6/stderr504 lib504 returned 132, when expecting 120 504: exit FAILED == Contents of files in the log/6/ dir after test 504 === Start of file server.cmd Testnum 504 === End of file server.cmd === Start of file stderr504 URL: http://127.0.0.1:47/504 === End of file stderr504 === Start of file vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind501 ./libtest/lib501 http://127.0.0.1:47/501 > log/5/stdout501 2> log/5/stderr501 algrind504 ==103020== ==103020== Process terminating with default action of signal 4 (SIGILL) ==103020== Illegal opcode at address 0x48EA16B ==103020== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103020== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103020== by 0x48EA16B: Curl_open (url.c:519) ==103020== by 0x4880EEF: curl_easy_init (easy.c:370) ==103020== by 0x109309: test.part.0 (lib504.c:51) ==103020== by 0x1090AF: UnknownInlinedFun (lib504.c:49) ==103020== by 0x1090AF: main (first.c:220) ==103020== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103020== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103020== by 0x4A6D258: __tsearch (tsearch.c:337) ==103020== by 0x4A6D258: tsearch (tsearch.c:290) ==103020== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103020== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103020== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103020== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103020== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103020== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103020== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103020== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103020== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103020== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103020== by 0x498986B: setlocale (setlocale.c:337) ==103020== by 0x109047: main (first.c:160) ==103020== ==103020== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103020== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103020== by 0x4A6D258: __tsearch (tsearch.c:337) ==103020== by 0x4A6D258: tsearch (tsearch.c:290) ==103020== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103020== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103020== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103020== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103020== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103020== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103020== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103020== by 0x498986B: setlocale (setlocale.c:337) ==103020== by 0x109047: main (first.c:160) ==103020== ==103020== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103020== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103020== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103020== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103020== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103020== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103020== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103020== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103020== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103020== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103020== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103020== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103020== by 0x498986B: setlocale (setlocale.c:337) ==103020== by 0x109047: main (first.c:160) ==103020== ==103020== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103020== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103020== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103020== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103020== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103020== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103020== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103020== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103020== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103020== by 0x498986B: setlocale (setlocale.c:337) ==103020== by 0x109047: main (first.c:160) ==103020== ==103020== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103020== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103020== by 0x48EA143: Curl_open (url.c:510) ==103020== by 0x4880EEF: curl_easy_init (easy.c:370) ==103020== by 0x109309: test.part.0 (lib504.c:51) ==103020== by 0x1090AF: UnknownInlinedFun (lib504.c:49) ==103020== by 0x1090AF: main (first.c:220) ==103020== ==103020== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103020== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103020== by 0x4A6D258: __tsearch (tsearch.c:337) ==103020== by 0x4A6D258: tsearch (tsearch.c:290) ==103020== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103020== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103020== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103020== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103020== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103020== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103020== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103020== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103020== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103020== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103020== by 0x498986B: setlocale (setlocale.c:337) ==103020== by 0x109047: main (first.c:160) ==103020== ==103020== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103020== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103020== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103020== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103020== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103020== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103020== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103020== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103020== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103020== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103020== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103020== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103020== by 0x498986B: setlocale (setlocale.c:337) ==103020== by 0x109047: main (first.c:160) ==103020== === End of file valgrind504 * starts no server test 0501...[simple libcurl attempt operation without URL set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind501 ./libtest/lib501 http://127.0.0.1:47/501 > log/5/stdout501 2> log/5/stderr501 lib501 returned 132, when expecting 3 501: exit FAILED == Contents of files in the log/5/ dir after test 501 === Start of file server.cmd Testnum 501 === End of file server.cmd === Start of file stderr501 URL: http://127.0.0.1:47/501 === End of file stderr501 === Start of file valgrind501 ==102844== ==102844== Process terminating with default action of signal 4 (SIGILL) ==102844== Illegal opcode at address 0x48EA16B ==102844== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==102844== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==102844== by 0x48EA16B: Curl_open (url.c:519) ==102844== by 0x4880EEF: curl_easy_init (easy.c:370) ==102844== by 0x109087: UnknownInlinedFun (lib501.c:40) ==102844== by 0x109087: main (first.c:220) ==102844== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==102844== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102844== by 0x4A6D258: __tsearch (tsearch.c:337) ==102844== by 0x4A6D258: tsearch (tsearch.c:290) ==102844== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102844== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102844== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102844== by 0x497DBB2: read_conf_file.isra.0 (gconv_pCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind508 ./libtest/lib508 http://127.0.0.1:42929/508 > log/10/stdout508 2> log/10/stderr508 arseconfdir.h:101) ==102844== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==102844== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==102844== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102844== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102844== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102844== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102844== by 0x498986B: setlocale (setlocale.c:337) ==102844== by 0x109047: main (first.c:160) ==102844== ==102844== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==102844== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102844== by 0x4A6D258: __tsearch (tsearch.c:337) ==102844== by 0x4A6D258: tsearch (tsearch.c:290) ==102844== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102844== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==102844== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==102844== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102844== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102844== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102844== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102844== by 0x498986B: setlocale (setlocale.c:337) ==102844== by 0x109047: main (first.c:160) ==102844== ==102844== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==102844== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102844== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102844== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102844== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102844== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102844== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==102844== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==102844== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102844== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102844== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102844== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102844== by 0x498986B: setlocale (setlocale.c:337) ==102844== by 0x109047: main (first.c:160) ==102844== ==102844== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==102844== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102844== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102844== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==102844== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==102844== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102844== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102844== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102844== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102844== by 0x498986B: setlocale (setlocale.c:337) ==102844== by 0x109047: main (first.c:160) ==102844== ==102844== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==102844== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==102844== by 0x48EA143: Curl_open (url.c:510) ==102844== by 0x4880EEF: curl_easy_init (easy.c:370) ==102844== by 0x109087: UnknownInlinedFun (lib501.c:40) ==102844== by 0x109087: main (first.c:220) ==102844== ==102844== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==102844== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102844== by 0x4A6D258: __tsearch (tsearch.c:337) ==102844== by 0x4A6D258: tsearch (tsearch.c:290) ==102844== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102844== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102844== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102844== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102844== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==102844== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==102844== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102844== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102844== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102844== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102844== by 0x498986B: setlocale (setlocale.c:337) ==102844== by 0x109047: main (first.c:160) ==102844== ==102844== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==102844== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102844== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102844== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102844== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102844== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102844== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==102844== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==102844== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102844== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102844== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102844== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102844== by 0x498986B: setlocale (setlocale.c:337) ==102844== by 0x109047: main (first.c:160) ==102844== === End of file valgrind501 test 0508...[send HTTP POST using read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind508 ./libtest/lib508 http://127.0.0.1:42929/508 > log/10/stdout508 2> log/10/stderr508 508: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 508 === Start of file http_server.log 02:01:59.094097 ====> Client connect 02:01:59.094135 accept_connection 3 returned 4 02:01:59.094155 accept_connection 3 returned 0 02:01:59.094172 Read 93 bytes 02:01:59.094184 Process 93 bytes request 02:01:59.094200 Got request: GET /verifiedserver HTTP/1.1 02:01:59.094211 Are-we-friendly question received 02:01:59.094238 Wrote request (93 bytes) input to log/10/server.input 02:01:59.094258 Identifying ourselves as friends 02:01:59.094336 Response sent (56 bytes) and written to log/10/server.response 02:01:59.094351 special request received, no persistency 02:01:59.094362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 508 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr508 URL: http://127.0.0.1:42929/508 === End of file stderr508 === Start of file valgrind508 ==103187== ==103187== Process terminating with default action of signal 4 (SIGILL) ==103187== Illegal opcode at address 0x48EA16B ==103187== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103187== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103187== by 0x48EA16B: Curl_open (url.c:519) ==103187== by 0x4880EEF: curl_easy_init (easy.c:370) ==103187== by 0x1090AC: UnknownInlinedFun (lib508.c:67) ==103187== by 0x1090AC: main (first.c:220) ==103187== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103187== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103187== by 0x4A6D258: __tsearch (tsearch.c:337) ==103187== by 0x4A6D258: tsearcCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind502 ./libtest/lib502 file:///startdir/src/build-curl/tests/log/12/test502.txt > log/12/stdout502 2> log/12/stderr502 h (tsearch.c:290) ==103187== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103187== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103187== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103187== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103187== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103187== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103187== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103187== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103187== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103187== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103187== by 0x498986B: setlocale (setlocale.c:337) ==103187== by 0x109054: main (first.c:160) ==103187== ==103187== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103187== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103187== by 0x4A6D258: __tsearch (tsearch.c:337) ==103187== by 0x4A6D258: tsearch (tsearch.c:290) ==103187== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103187== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103187== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103187== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103187== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103187== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103187== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103187== by 0x498986B: setlocale (setlocale.c:337) ==103187== by 0x109054: main (first.c:160) ==103187== ==103187== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103187== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103187== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103187== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103187== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103187== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103187== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103187== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103187== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103187== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103187== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103187== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103187== by 0x498986B: setlocale (setlocale.c:337) ==103187== by 0x109054: main (first.c:160) ==103187== ==103187== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103187== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103187== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103187== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103187== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103187== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103187== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103187== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103187== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103187== by 0x498986B: setlocale (setlocale.c:337) ==103187== by 0x109054: main (first.c:160) ==103187== ==103187== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103187== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103187== by 0x48EA143: Curl_open (url.c:510) ==103187== by 0x4880EEF: curl_easy_init (easy.c:370) ==103187== by 0x1090AC: UnknownInlinedFun (lib508.c:67) ==103187== by 0x1090AC: main (first.c:220) ==103187== ==103187== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103187== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103187== by 0x4A6D258: __tsearch (tsearch.c:337) ==103187== by 0x4A6D258: tsearch (tsearch.c:290) ==103187== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103187== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103187== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103187== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103187== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103187== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103187== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103187== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103187== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103187== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103187== by 0x498986B: setlocale (setlocale.c:337) ==103187== by 0x109054: main (first.c:160) ==103187== ==103187== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103187== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103187== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103187== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103187== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103187== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103187== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103187== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103187== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103187== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103187== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103187== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103187== by 0x498986B: setlocale (setlocale.c:337) ==103187== by 0x109054: main (first.c:160) ==103187== === End of file valgrind508 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind510 ./libtest/lib510 http://127.0.0.1:34527/510 > log/3/stdout510 2> log/3/stderr510 test 0502...[simple multi file:// get] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind502 ./libtest/lib502 file:///startdir/src/build-curl/tests/log/12/test502.txt > log/12/stdout502 2> log/12/stderr502 502: data FAILED: --- log/12/check-expected 2024-12-15 02:02:01.588841629 +0000 +++ log/12/check-generated 2024-12-15 02:02:01.588841629 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/12/ dir after test 502 === Start of file check-expected foo[LF] bar swsclose[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file server.cmd Testnum 502 === End of file server.cmd === Start of file stderr502 URL: file:///startdir/src/build-curl/tests/log/12/test502.txt === End of file stderr502 === Start of file test502.txt foo bar swsclose bar foo moo === End of file test502.txt === Start of file valgrind502 ==102872== ==102872== Process terminating with default action of signal 4 (SIGILL) ==102872== Illegal opcode at address 0x48EA16B ==102872== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==102872== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==102872== by 0x48EA16B: Curl_open (url.c:519) ==102872== by 0x4880EEF: curl_easy_init (easy.c:370) ==102872== by 0x1092B1: test.part.0 (lib502.c:47) ==102872== by 0x1090D1: UnknownInlinedFun (lib502.c:45) ==102872== by 0x1090D1: main (first.c:220) ==102872== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==102872== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102872== by 0x4A6D258: __tsearch (tsearch.c:337) ==102872== by 0x4A6D258: tsearch (tsearch.c:290) ==102872== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102872== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102872== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102872== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102872== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==102872== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==102872== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102872== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102872== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102872== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102872== by 0x498986B: setlocale (setlocale.c:337) ==102872== by 0x109054: main (first.c:160) ==102872== ==102872== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==102872== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102872== by 0x4A6D258: __tsearch (tsearch.c:337) ==102872== by 0x4A6D258: tsearch (tsearch.c:290) ==102872== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102872== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==102872== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==102872== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102872== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102872== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102872== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102872== by 0x498986B: setlocale (setlocale.c:337) ==102872== by 0x109054: main (first.c:160) ==102872== ==102872== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==102872== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102872== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102872== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102872== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102872== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102872== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==102872== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==102872== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102872== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102872== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102872== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102872== by 0x498986B: setlocale (setlocale.c:337) ==102872== by 0x109054: main (first.c:160) ==102872== ==102872== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==102872== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102872== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102872== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==102872== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==102872== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102872== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102872== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102872== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102872== by 0x498986B: setlocale (setlocale.c:337) ==102872== by 0x109054: main (first.c:160) ==102872== ==102872== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==102872== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==102872== by 0x48EA143: Curl_open (url.c:510) ==102872== by 0x4880EEF: curl_easy_init (easy.c:370) ==102872== by 0x1092B1: test.part.0 (lib502.c:47) ==102872== by 0x1090D1: UnknownInlinedFun (lib502.c:45) ==102872== by 0x1090D1: main (first.c:220) ==102872== ==102872== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==102872== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102872== by 0x4A6D258: __tsearch (tsearch.c:337) ==102872== by 0x4A6D258: tsearch (tsearch.c:290) ==102872== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102872== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102872== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102872== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102872== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==102872== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==102872== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102872== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102872== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102872== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102872== by 0x498986B: setlocale (setlocale.c:337) ==102872== by 0x109054: main (first.c:160) ==102872== ==102872== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==102872== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102872== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102872== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102872== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102872== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102872== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==102872== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==102872== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102872== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102872== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102872== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102872== by 0x498986B: setlocale (setlocale.c:337) ==102872== by 0x109054: main (first.c:160) ==102872== === End of file valgrind502 test 0510...[send HTTP POST using read callback, using chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind510 ./libtest/lib510 http://127.0.0.1:34527/510 > log/3/stdout510 2> log/3/stderr510 510: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 510 === Start of file http_server.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind505 ./libtest/lib505 ftp://127.0.0.1:36595/505 log/2/upload505 > log/2/stdout505 2> log/2/stderr505 02:01:59.490062 ====> Client connect 02:01:59.490095 accept_connection 3 returned 4 02:01:59.490113 accept_connection 3 returned 0 02:01:59.490127 Read 93 bytes 02:01:59.490137 Process 93 bytes request 02:01:59.490151 Got request: GET /verifiedserver HTTP/1.1 02:01:59.490161 Are-we-friendly question received 02:01:59.490185 Wrote request (93 bytes) input to log/3/server.input 02:01:59.490202 Identifying ourselves as friends 02:01:59.490267 Response sent (56 bytes) and written to log/3/server.response 02:01:59.490278 special request received, no persistency 02:01:59.490287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 510 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr510 URL: http://127.0.0.1:34527/510 === End of file stderr510 === Start of file valgrind510 ==103404== ==103404== Process terminating with default action of signal 4 (SIGILL) ==103404== Illegal opcode at address 0x48EA16B ==103404== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103404== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103404== by 0x48EA16B: Curl_open (url.c:519) ==103404== by 0x4880EEF: curl_easy_init (easy.c:370) ==103404== by 0x1090A1: UnknownInlinedFun (lib510.c:77) ==103404== by 0x1090A1: main (first.c:220) ==103404== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103404== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103404== by 0x4A6D258: __tsearch (tsearch.c:337) ==103404== by 0x4A6D258: tsearch (tsearch.c:290) ==103404== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103404== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103404== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103404== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103404== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103404== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103404== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103404== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103404== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103404== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103404== by 0x498986B: setlocale (setlocale.c:337) ==103404== by 0x109056: main (first.c:160) ==103404== ==103404== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103404== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103404== by 0x4A6D258: __tsearch (tsearch.c:337) ==103404== by 0x4A6D258: tsearch (tsearch.c:290) ==103404== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103404== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103404== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103404== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103404== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103404== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103404== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103404== by 0x498986B: setlocale (setlocale.c:337) ==103404== by 0x109056: main (first.c:160) ==103404== ==103404== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103404== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103404== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103404== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103404== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103404== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103404== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103404== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103404== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103404== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103404== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103404== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103404== by 0x498986B: setlocale (setlocale.c:337) ==103404== by 0x109056: main (first.c:160) ==103404== ==103404== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103404== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103404== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103404== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103404== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103404== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103404== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103404== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103404== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103404== by 0x498986B: setlocale (setlocale.c:337) ==103404== by 0x109056: main (first.c:160) ==103404== ==103404== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103404== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103404== by 0x48EA143: Curl_open (url.c:510) ==103404== by 0x4880EEF: curl_easy_init (easy.c:370) ==103404== by 0x1090A1: UnknownInlinedFun (lib510.c:77) ==103404== by 0x1090A1: main (first.c:220) ==103404== ==103404== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103404== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103404== by 0x4A6D258: __tsearch (tsearch.c:337) ==103404== by 0x4A6D258: tsearch (tsearch.c:290) ==103404== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103404== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103404== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103404== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103404== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103404== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103404== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103404== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103404== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103404== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103404== by 0x498986B: setlocale (setlocale.c:337) ==103404== by 0x109056: main (first.c:160) ==103404== ==103404== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103404== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103404== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103404== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103404== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103404== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103404== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103404== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103404== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103404== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103404== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103404== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103404== by 0x498986B: setlocale (setlocale.c:337) ==103404== by 0x109056: main (first.c:160) ==103404== === End of file valgrind510 test 0505...[FTP upload with rename after transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind505 ./libtest/lib505 ftp://127.0.0.1:36595/505 log/2/upload505 > log/2/stdout505 2> log/2/stderr505 505: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 505 === Start of file ftp_server.log 02:01:58.910717 ====> Client connect 02:01:58.910881 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:01:58.913086 < "USER anonymous" 02:01:58.913131 > "331 We are happy you popped in![CR][LF]" 02:01:58.913323 < "PASS ftp@example.com" 02:01:58.913350 > "230 Welcome you silly person[CR][LF]" 02:01:58.913495 < "PWD" 02:01:58.913525 > "257 "/" is current directory[CR][LF]" 02:01:58.913671 < "EPSV" 02:01:58.913696 ====> Passive DATA channel requested by client 02:01:58.913709 DATA sockfilt for passive data channel starting... 02:01:58.915578 DATA sockfilt for passive data channel started (pid 103179) 02:01:58.915681 DATA sockfilt for passive data channel listens on port 37283 02:01:58.915715 > "229 Entering Passive Mode (|||37283|)[LF]" 02:01:58.915730 Client has been notified that DATA conn will be accepted on port 37283 02:01:58.915982 Client connects to port 37283 02:01:58.916009 ====> Client established passive DATA connection on port 37283 02:01:58.916073 < "TYPE I" 02:01:58.916098 > "200 I modify TYPE as you wanted[CR][LF]" 02:01:58.916238 < "SIZE verifiedserver" 02:01:58.916268 > "213 17[CR][LF]" 02:01:58.916396 < "RETR verifiedserver" 02:01:58.916423 > "150 Binary junk (17 bytes).[CR][LF]" 02:01:58.916495 =====> Closing passive DATA connection... 02:01:58.916508 Server disconnects passive DATA connection 02:01:58.916716 Server disconnected passive DATA connection 02:01:58.916738 DATA sockfilt for passive data channel quits (pid 103179) 02:01:58.916923 DATA sockfilt for passive data channel quit (pid 103179) 02:01:58.916944 =====> Closed passive DATA connection 02:01:58.916969 > "226 File transfer complete[CR][LF]" 02:01:58.971891 < "QUIT" 02:01:58.971945 > "221 bye bye baby[CR][LF]" 02:01:58.972965 MAIN sockfilt said DISC 02:01:58.973008 ====> Client disconnected 02:01:58.973084 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:01:59.110528 ====> Client connect 02:01:59.111034 Received DATA (on stdin) 02:01:59.111052 > 160 bytes data, server => client 02:01:59.111065 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:01:59.111078 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:01:59.111088 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:01:59.112919 < 16 bytes data, client => server 02:01:59.112941 'USER anonymous\r\n' 02:01:59.113276 Received DATA (on stdin) 02:01:59.113290 > 33 bytes data, server => client 02:01:59.113302 '331 We are happy you popped in!\r\n' 02:01:59.113362 < 22 bytes data, client => server 02:01:59.113374 'PASS ftp@example.com\r\n' 02:01:59.113487 Received DATA (on stdin) 02:01:59.113498 > 30 bytes data, server => client 02:01:59.113509 '230 Welcome you silly person\r\n' 02:01:59.113554 < 5 bytes data, client => server 02:01:59.113564 'PWD\r\n' 02:01:59.113661 Received DATA (on stdin) 02:01:59.113672 > 30 bytes data, server => client 02:01:59.113683 '257 "/" is current directory\r\n' 02:01:59.113736 < 6 bytes data, client => server 02:01:59.113747 'EPSV\r\n' 02:01:59.115872 Received DATA (on stdin) 02:01:59.115885 > 38 bytes data, server => client 02:01:59.115897 '229 Entering Passive Mode (|||37283|)\n' 02:01:59.116046 < 8 bytes data, client => server 02:01:59.116061 'TYPE I\r\n' 02:01:59.116235 Received DATA (on stdin) 02:01:59.116246 > 33 bytes data, server => client 02:01:59.116257 '200 I modify TYPE as you wanted\r\n' 02:01:59.116305 < 21 bytes data, client => server 02:01:59.116316 'SIZE verifiedserver\r\n' 02:01:59.116404 Received DATA (on stdin) 02:01:59.116415 > 8 bytes data, server => client 02:01:59.116424 '213 17\r\n' 02:01:59.116467 < 21 bytes data, client => server 02:01:59.116477 'RETR verifiedserver\r\n' 02:01:59.116646 Received DATA (on stdin) 02:01:59.116657 > 29 bytes data, server => client 02:01:59.116667 '150 Binary junk (17 bytes).\r\n' 02:01:59.117110 Received DATA (on stdin) 02:01:59.117123 > 28 bytes data, server => client 02:01:59.117134 '226 File transfer complete\r\n' 02:01:59.168527 < 6 bytes data, client => server 02:01:59.168570 'QUIT\r\n' 02:01:59.172096 Received DATA (on stdin) 02:01:59.172114 > 18 bytes data, server => client 02:01:59.172126 '221 bye bye baby\r\n' 02:01:59.173042 ====> Client disconnect 02:01:59.173225 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:01:58.115359 Running IPv4 version 02:01:58.115421 Listening on port 37283 02:01:58.115457 Wrote pid 103179 to log/2/server/ftp_sockdata.pid 02:01:58.115500 Received PING (on stdin) 02:01:58.115742 Received PORT (on stdin) 02:01:58.116080 ====> Client connect 02:01:58.116692 Received DATA (on stdin) 02:01:58.116704 > 17 bytes data, server => client 02:01:58.116714 'WE ROOLZ: 80457\r\n' 02:01:58.116739 Received DISC (on stdin) 02:01:58.116750 ====> Client forcibly disconnected 02:01:58.116881 Received QUIT (on stdin) 02:01:58.116892 quits 02:01:58.116945 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 505 === End of file server.cmd === Start of file stderr505 URL: ftp://127.0.0.1:36595/505 === End of file stderr505 === Start of file upload505 Contents of a file to verify ftp upload works? === End of file upload505 === Start of file valgrind505 ==103224== ==103224== Process terminating with default action of signal 4 (SIGILL) ==103224== Illegal opcode at address 0x48EA16B ==103224== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103224== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103224== by 0x48EA16B: Curl_open (url.c:519) ==103224== by 0x4880EEF: curl_easy_init (easy.c:370) ==103224== by 0x109114: UnknownInlinedFun (lib505.c:89) ==103224== by 0x109114: main (first.c:220) ==103224== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==103224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103224== by 0x4A6D258: __tsearch (tsearch.c:337) ==103224== by 0x4A6D258: tsearch (tsearch.c:290) ==103224== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103224== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103224== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103224== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103224== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103224== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103224== by 0x498986B: setlocale (setlocale.c:337) ==103224== by 0x10905B: main (first.c:160) ==103224== ==103224== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==103224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103224== by 0x4A6D258: __tsearch (tsearch.c:337) ==103224== by 0x4A6D258: tsearch (tsearch.c:290) ==103224== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103224== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103224== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103224== by 0x498986B: setlocale (setlocale.c:337) ==103224== by 0x10905B: main (first.c:160) ==103224== ==103224== 681 bytes in 17 blocks are possibly lost in losCMD (0): ./libtest/lib518 http://127.0.0.1:42929/518 > log/10/stdout518 2> log/10/stderr518 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind507 ./libtest/lib507 http://non-existing-host.haxx.se/ > log/11/stdout507 2> log/11/stderr507 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind503 ./libtest/lib503 http://machine.503:36813/503 127.0.0.1:45699 > log/4/stdout503 2> log/4/stderr503 s record 615 of 655 ==103224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103224== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103224== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103224== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103224== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103224== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103224== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103224== by 0x498986B: setlocale (setlocale.c:337) ==103224== by 0x10905B: main (first.c:160) ==103224== ==103224== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==103224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103224== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103224== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103224== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103224== by 0x498986B: setlocale (setlocale.c:337) ==103224== by 0x10905B: main (first.c:160) ==103224== ==103224== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==103224== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103224== by 0x48EA143: Curl_open (url.c:510) ==103224== by 0x4880EEF: curl_easy_init (easy.c:370) ==103224== by 0x109114: UnknownInlinedFun (lib505.c:89) ==103224== by 0x109114: main (first.c:220) ==103224== ==103224== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==103224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103224== by 0x4A6D258: __tsearch (tsearch.c:337) ==103224== by 0x4A6D258: tsearch (tsearch.c:290) ==103224== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103224== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103224== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103224== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103224== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103224== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103224== by 0x498986B: setlocale (setlocale.c:337) ==103224== by 0x10905B: main (first.c:160) ==103224== ==103224== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==103224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103224== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103224== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103224== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103224== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103224== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103224== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103224== by 0x498986B: setlocale (setlocale.c:337) ==103224== by 0x10905B: main (first.c:160) ==103224== === End of file valgrind505 prechecked ./libtest/lib518 check test 0518...[HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/lib518 http://127.0.0.1:42929/518 > log/10/stdout518 2> log/10/stderr518 valgrind SKIPPED --pd---e--- OK (486 out of 1584, remaining: 02:01, took 0.263s, duration: 00:53) test 0507...[multi interface get with non-existing host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind507 ./libtest/lib507 http://non-existing-host.haxx.se/ > log/11/stdout507 2> log/11/stderr507 lib507 returned 132, when expecting 6 507: exit FAILED == Contents of files in the log/11/ dir after test 507 === Start of file http_server.log 02:01:59.120682 ====> Client connect 02:01:59.120719 accept_connection 3 returned 4 02:01:59.120736 accept_connection 3 returned 0 02:01:59.120751 Read 93 bytes 02:01:59.120761 Process 93 bytes request 02:01:59.120777 Got request: GET /verifiedserver HTTP/1.1 02:01:59.120787 Are-we-friendly question received 02:01:59.120812 Wrote request (93 bytes) input to log/11/server.input 02:01:59.120830 Identifying ourselves as friends 02:01:59.120910 Response sent (56 bytes) and written to log/11/server.response 02:01:59.120923 special request received, no persistency 02:01:59.120932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 507 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr507 URL: http://non-existing-host.haxx.se/ === End of file stderr507 === Start of file valgrind507 ==103188== ==103188== Process terminating with default action of signal 4 (SIGILL) ==103188== Illegal opcode at address 0x48EA16B ==103188== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103188== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103188== by 0x48EA16B: Curl_open (url.c:519) ==103188== by 0x4880EEF: curl_easy_init (easy.c:370) ==103188== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==103188== by 0x48BF363: Curl_multi_handle (multi.c:416) ==103188== by 0x1092F1: test.part.0 (lib507.c:45) ==103188== by 0x10909E: UnknownInlinedFun (lib507.c:43) ==103188== by 0x10909E: main (first.c:220) ==103188== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==103188== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103188== by 0x4A6D258: __tsearch (tsearch.c:337) ==103188== by 0x4A6D258: tsearch (tsearch.c:290) ==103188== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103188== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103188== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103188== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103188== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103188== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103188== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103188== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103188== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103188== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103188== by 0x498986B: setlocale (setlocale.c:337) ==103188== by 0x109047: main (first.c:160) ==103188== ==103188== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==103188== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103188== by 0x4A6D258: __tsearch (tsearch.c:337) ==103188== by 0x4A6D258: tsearch (tsearch.c:290) ==103188== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103188== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103188== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103188== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103188== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103188== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103188== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103188== by 0x498986B: setlocale (setlocale.c:337) ==103188== by 0x109047: main (first.c:160) ==103188== ==103188== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==103188== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103188== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103188== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103188== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103188== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103188== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103188== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103188== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103188== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103188== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103188== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103188== by 0x498986B: setlocale (setlocale.c:337) ==103188== by 0x109047: main (first.c:160) ==103188== ==103188== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==103188== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103188== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103188== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103188== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103188== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103188== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103188== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103188== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103188== by 0x498986B: setlocale (setlocale.c:337) ==103188== by 0x109047: main (first.c:160) ==103188== ==103188== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==103188== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103188== by 0x48EA143: Curl_open (url.c:510) ==103188== by 0x4880EEF: curl_easy_init (easy.c:370) ==103188== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==103188== by 0x48BF363: Curl_multi_handle (multi.c:416) ==103188== by 0x1092F1: test.part.0 (lib507.c:45) ==103188== by 0x10909E: UnknownInlinedFun (lib507.c:43) ==103188== by 0x10909E: main (first.c:220) ==103188== ==103188== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==103188== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103188== by 0x4A6D258: __tsearch (tsearch.c:337) ==103188== by 0x4A6D258: tsearch (tsearch.c:290) ==103188== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103188== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103188== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103188== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103188== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103188== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103188== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103188== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103188== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103188== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103188== by 0x498986B: setlocale (setlocale.c:337) ==103188== by 0x109047: main (first.c:160) ==103188== ==103188== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==103188== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103188== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103188== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103188== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103188== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103188== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103188== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103188== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103188== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103188== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103188== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103188== by 0x498986B: setlocale (setlocale.c:337) ==103188== by 0x109047: main (first.c:160) ==103188== === End of file valgrind507 test 0503...[simple multi http:// through proxytunnel with authentication info] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind503 ./libtest/lib503 http://machine.503:36813/503 127.0.0.1:45699 > log/4/stdout503 2> log/4/stderr503 503: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 503 === Start of file http2_server.log 02:01:58.529994 ====> Client connect 02:01:58.530032 accept_connection 3 returned 4 02:01:58.530049 accept_connection 3 returned 0 02:01:58.530064 Read 93 bytes 02:01:58.530076 Process 93 bytes request 02:01:58.530091 Got request: GET /verifiedserver HTTP/1.1 02:01:58.530101 Are-we-friendly question received 02:01:58.530133 Wrote request (93 bytes) input to log/4/proxy.input 02:01:58.530151 Identifying ourselves as friends 02:01:58.530222 Response sent (56 bytes) and written to log/4/proxy.response 02:01:58.530234 special request received, no persistency 02:01:58.530243 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45699... * Connected to 127.0.0.1 (127.0.0.1) port 45699 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45699 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 80241 === End of file http2_verify.out === Start of file http_server.log 02:01:58.450873 ====> Client connect 02:01:58.450911 accept_connection 3 returned 4 02:01:58.450929 accept_connection 3 returned 0 02:01:58.450943 Read 93 bytes 02:01:58.450955 Process 93 bytes request 02:01:58.450969 Got request: GET /verifiedserver HTTP/1.1 02:01:58.450979 Are-we-friendly question received 02:01:58.451004 Wrote request (93 bytes) input to log/4/server.input 02:01:58.451022 Identifying ourselves as friends 02:01:58.451093 Response sent (56 bytes) and written to log/4/server.response 02:01:58.451105 special request received, no persistency 02:01:58.451115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 80241 === End of file proxy.response === Start of file server.cmd connection-monitor Testnum 503 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr503 URL: http://machine.503:36813/503 === End of file stdeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind500 ./libtest/lib500 http://127.0.0.1:38509/500 log/9/ip500 > log/9/stdout500 2> log/9/stderr500 rr503 === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 ==103035== ==103035== Process terminating with default action of signal 4 (SIGILL) ==103035== Illegal opcode at address 0x48EA16B ==103035== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103035== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103035== by 0x48EA16B: Curl_open (url.c:519) ==103035== by 0x4880EEF: curl_easy_init (easy.c:370) ==103035== by 0x109309: test.part.0 (lib503.c:51) ==103035== by 0x1090AF: UnknownInlinedFun (lib503.c:49) ==103035== by 0x1090AF: main (first.c:220) ==103035== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103035== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103035== by 0x4A6D258: __tsearch (tsearch.c:337) ==103035== by 0x4A6D258: tsearch (tsearch.c:290) ==103035== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103035== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103035== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103035== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103035== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103035== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103035== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103035== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103035== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103035== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103035== by 0x498986B: setlocale (setlocale.c:337) ==103035== by 0x109047: main (first.c:160) ==103035== ==103035== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103035== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103035== by 0x4A6D258: __tsearch (tsearch.c:337) ==103035== by 0x4A6D258: tsearch (tsearch.c:290) ==103035== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103035== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103035== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103035== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103035== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103035== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103035== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103035== by 0x498986B: setlocale (setlocale.c:337) ==103035== by 0x109047: main (first.c:160) ==103035== ==103035== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103035== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103035== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103035== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103035== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103035== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103035== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103035== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103035== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103035== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103035== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103035== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103035== by 0x498986B: setlocale (setlocale.c:337) ==103035== by 0x109047: main (first.c:160) ==103035== ==103035== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103035== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103035== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103035== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103035== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103035== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103035== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103035== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103035== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103035== by 0x498986B: setlocale (setlocale.c:337) ==103035== by 0x109047: main (first.c:160) ==103035== ==103035== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103035== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103035== by 0x48EA143: Curl_open (url.c:510) ==103035== by 0x4880EEF: curl_easy_init (easy.c:370) ==103035== by 0x109309: test.part.0 (lib503.c:51) ==103035== by 0x1090AF: UnknownInlinedFun (lib503.c:49) ==103035== by 0x1090AF: main (first.c:220) ==103035== ==103035== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103035== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103035== by 0x4A6D258: __tsearch (tsearch.c:337) ==103035== by 0x4A6D258: tsearch (tsearch.c:290) ==103035== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103035== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103035== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103035== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103035== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103035== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103035== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103035== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103035== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103035== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103035== by 0x498986B: setlocale (setlocale.c:337) ==103035== by 0x109047: main (first.c:160) ==103035== ==103035== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103035== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103035== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103035== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103035== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103035== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103035== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103035== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103035== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103035== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103035== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103035== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103035== by 0x498986B: setlocale (setlocale.c:337) ==103035== by 0x109047: main (first.c:160) ==103035== === End of file valgrind503 test 0500...[simple libcurl HTTP GET tool] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind500 ./libtest/lib500 http://127.0.0.1:38509/500 log/9/ip500 > log/9/stdout500 2> log/9/stderr500 500: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 500 === Start of file http_server.log 02:01:58.291018 ====> Client connect 02:01:58.291055 accept_connection 3 returned 4 02:01:58.291072 accept_connection 3 returned 0 02:01:58.291085 Read 93 bytes 02:01:58.291095 Process 93 bytes request 02:01:58.291108 Got request: GET /verifiedserver HTTP/1.1 02:01:58.291117 Are-we-friendly question received 02:01:58.291141 Wrote request (93 bytes) input to log/9/server.input 02:01:58.291157 Identifying ourselves as friends 02:01:58.291259 Response sent (56 bytes) and written to log/9/server.response 02:01:58.291271 special request received, no persistency 02:01:58.291280 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind517 ./libtest/lib517 nothing > log/5/stdout517 2> log/5/stderr517 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind513 ./libtest/lib513 http://127.0.0.1:34215/513 > log/1/stdout513 2> log/1/stderr513 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind516 ./libtest/lib516 http://127.0.0.1:39457/516 > log/6/stdout516 2> log/6/stderr516 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 500 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr500 URL: http://127.0.0.1:38509/500 === End of file stderr500 === Start of file valgrind500 ==102832== ==102832== Process terminating with default action of signal 4 (SIGILL) ==102832== Illegal opcode at address 0x48EA16B ==102832== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==102832== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==102832== by 0x48EA16B: Curl_open (url.c:519) ==102832== by 0x4880EEF: curl_easy_init (easy.c:370) ==102832== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==102832== by 0x1090C4: main (first.c:220) ==102832== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==102832== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102832== by 0x4A6D258: __tsearch (tsearch.c:337) ==102832== by 0x4A6D258: tsearch (tsearch.c:290) ==102832== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102832== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102832== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102832== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102832== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==102832== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==102832== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102832== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102832== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102832== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102832== by 0x498986B: setlocale (setlocale.c:337) ==102832== by 0x109056: main (first.c:160) ==102832== ==102832== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==102832== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102832== by 0x4A6D258: __tsearch (tsearch.c:337) ==102832== by 0x4A6D258: tsearch (tsearch.c:290) ==102832== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102832== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==102832== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==102832== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102832== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102832== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102832== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102832== by 0x498986B: setlocale (setlocale.c:337) ==102832== by 0x109056: main (first.c:160) ==102832== ==102832== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==102832== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102832== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102832== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102832== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102832== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102832== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==102832== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==102832== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102832== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102832== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102832== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102832== by 0x498986B: setlocale (setlocale.c:337) ==102832== by 0x109056: main (first.c:160) ==102832== ==102832== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==102832== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102832== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102832== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==102832== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==102832== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102832== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102832== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102832== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102832== by 0x498986B: setlocale (setlocale.c:337) ==102832== by 0x109056: main (first.c:160) ==102832== ==102832== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==102832== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==102832== by 0x48EA143: Curl_open (url.c:510) ==102832== by 0x4880EEF: curl_easy_init (easy.c:370) ==102832== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==102832== by 0x1090C4: main (first.c:220) ==102832== ==102832== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==102832== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102832== by 0x4A6D258: __tsearch (tsearch.c:337) ==102832== by 0x4A6D258: tsearch (tsearch.c:290) ==102832== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==102832== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102832== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102832== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102832== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==102832== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==102832== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102832== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102832== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102832== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102832== by 0x498986B: setlocale (setlocale.c:337) ==102832== by 0x109056: main (first.c:160) ==102832== ==102832== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==102832== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==102832== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==102832== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==102832== by 0x497DBB2: add_alias (gconv_conf.c:178) ==102832== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==102832== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==102832== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==102832== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==102832== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==102832== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==102832== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==102832== by 0x498986B: setlocale (setlocale.c:337) ==102832== by 0x109056: main (first.c:160) ==102832== === End of file valgrind500 * starts no server test 0517...[curl_getdate() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind517 ./libtest/lib517 nothing > log/5/stdout517 2> log/5/stderr517 -------e-v- OK (485 out of 1584, remaining: 02:04, took 1.242s, duration: 00:54) test 0516...[make an HTTPPOST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind516 ./libtest/lib516 http://127.0.0.1:39457/516 > log/6/stdout516 2> log/6/stderr516 516: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 516 === Start of file http_server.log 02:02:01.666410 ====> Client connect 02:02:01.666445 accept_connection 3 returned 4 02:02:01.666462 accept_connection 3 returned 0 02:02:01.666476 Read 93 bytes 02:02:01.666488 Process 93 bytes request 02:02:01.666503 Got request: GET /verifiedserver HTTP/1.1 02:02:01.666513 Are-we-friendly question received 02:02:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind515 ./libtest/lib515 http://127.0.0.1:43803/515 > log/8/stdout515 2> log/8/stderr515 01.666539 Wrote request (93 bytes) input to log/6/server.input 02:02:01.666557 Identifying ourselves as friends 02:02:01.666631 Response sent (56 bytes) and written to log/6/server.response 02:02:01.666644 special request received, no persistency 02:02:01.666654 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 516 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file stderr516 URL: http://127.0.0.1:39457/516 === End of file stderr516 === Start of file valgrind516 ==103661== ==103661== Process terminating with default action of signal 4 (SIGILL) ==103661== Illegal opcode at address 0x48EA16B ==103661== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103661== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103661== by 0x48EA16B: Curl_open (url.c:519) ==103661== by 0x4880EEF: curl_easy_init (easy.c:370) ==103661== by 0x10908A: UnknownInlinedFun (lib516.c:38) ==103661== by 0x10908A: main (first.c:220) ==103661== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103661== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103661== by 0x4A6D258: __tsearch (tsearch.c:337) ==103661== by 0x4A6D258: tsearch (tsearch.c:290) ==103661== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103661== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103661== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103661== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103661== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103661== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103661== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103661== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103661== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103661== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103661== by 0x498986B: setlocale (setlocale.c:337) ==103661== by 0x109047: main (first.c:160) ==103661== ==103661== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103661== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103661== by 0x4A6D258: __tsearch (tsearch.c:337) ==103661== by 0x4A6D258: tsearch (tsearch.c:290) ==103661== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103661== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103661== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103661== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103661== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103661== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103661== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103661== by 0x498986B: setlocale (setlocale.c:337) ==103661== by 0x109047: main (first.c:160) ==103661== ==103661== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103661== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103661== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103661== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103661== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103661== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103661== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103661== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103661== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103661== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103661== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103661== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103661== by 0x498986B: setlocale (setlocale.c:337) ==103661== by 0x109047: main (first.c:160) ==103661== ==103661== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103661== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103661== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103661== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103661== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103661== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103661== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103661== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103661== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103661== by 0x498986B: setlocale (setlocale.c:337) ==103661== by 0x109047: main (first.c:160) ==103661== ==103661== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103661== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103661== by 0x48EA143: Curl_open (url.c:510) ==103661== by 0x4880EEF: curl_easy_init (easy.c:370) ==103661== by 0x10908A: UnknownInlinedFun (lib516.c:38) ==103661== by 0x10908A: main (first.c:220) ==103661== ==103661== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103661== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103661== by 0x4A6D258: __tsearch (tsearch.c:337) ==103661== by 0x4A6D258: tsearch (tsearch.c:290) ==103661== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103661== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103661== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103661== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103661== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103661== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103661== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103661== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103661== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103661== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103661== by 0x498986B: setlocale (setlocale.c:337) ==103661== by 0x109047: main (first.c:160) ==103661== ==103661== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103661== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103661== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103661== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103661== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103661== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103661== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103661== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103661== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103661== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103661== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103661== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103661== by 0x498986B: setlocale (setlocale.c:337) ==103661== by 0x109047: main (first.c:160) ==103661== === End of file valgrind516 test 0515...[make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind515 ./libtest/lib515 http://127.0.0.1:43803/515 > log/8/stdout515 2> log/8/stderr515 515: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 515 === Start of file http_server.log 02:02:01.681883 ====> Client connect 02:02:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind519 ./libtest/lib519 http://127.0.0.1:40653/519 > log/12/stdout519 2> log/12/stderr519 01.681919 accept_connection 3 returned 4 02:02:01.681939 accept_connection 3 returned 0 02:02:01.681955 Read 93 bytes 02:02:01.681967 Process 93 bytes request 02:02:01.681982 Got request: GET /verifiedserver HTTP/1.1 02:02:01.681991 Are-we-friendly question received 02:02:01.682022 Wrote request (93 bytes) input to log/8/server.input 02:02:01.682044 Identifying ourselves as friends 02:02:01.682136 Response sent (56 bytes) and written to log/8/server.response 02:02:01.682153 special request received, no persistency 02:02:01.682164 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 515 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr515 URL: http://127.0.0.1:43803/515 === End of file stderr515 === Start of file valgrind515 ==103675== ==103675== Process terminating with default action of signal 4 (SIGILL) ==103675== Illegal opcode at address 0x48EA16B ==103675== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103675== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103675== by 0x48EA16B: Curl_open (url.c:519) ==103675== by 0x4880EEF: curl_easy_init (easy.c:370) ==103675== by 0x10908A: UnknownInlinedFun (lib515.c:38) ==103675== by 0x10908A: main (first.c:220) ==103675== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103675== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103675== by 0x4A6D258: __tsearch (tsearch.c:337) ==103675== by 0x4A6D258: tsearch (tsearch.c:290) ==103675== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103675== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103675== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103675== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103675== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103675== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103675== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103675== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103675== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103675== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103675== by 0x498986B: setlocale (setlocale.c:337) ==103675== by 0x109047: main (first.c:160) ==103675== ==103675== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103675== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103675== by 0x4A6D258: __tsearch (tsearch.c:337) ==103675== by 0x4A6D258: tsearch (tsearch.c:290) ==103675== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103675== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103675== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103675== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103675== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103675== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103675== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103675== by 0x498986B: setlocale (setlocale.c:337) ==103675== by 0x109047: main (first.c:160) ==103675== ==103675== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103675== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103675== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103675== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103675== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103675== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103675== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103675== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103675== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103675== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103675== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103675== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103675== by 0x498986B: setlocale (setlocale.c:337) ==103675== by 0x109047: main (first.c:160) ==103675== ==103675== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103675== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103675== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103675== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103675== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103675== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103675== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103675== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103675== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103675== by 0x498986B: setlocale (setlocale.c:337) ==103675== by 0x109047: main (first.c:160) ==103675== ==103675== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103675== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103675== by 0x48EA143: Curl_open (url.c:510) ==103675== by 0x4880EEF: curl_easy_init (easy.c:370) ==103675== by 0x10908A: UnknownInlinedFun (lib515.c:38) ==103675== by 0x10908A: main (first.c:220) ==103675== ==103675== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103675== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103675== by 0x4A6D258: __tsearch (tsearch.c:337) ==103675== by 0x4A6D258: tsearch (tsearch.c:290) ==103675== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103675== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103675== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103675== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103675== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103675== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103675== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103675== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103675== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103675== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103675== by 0x498986B: setlocale (setlocale.c:337) ==103675== by 0x109047: main (first.c:160) ==103675== ==103675== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103675== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103675== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103675== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103675== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103675== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103675== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103675== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103675== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103675== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103675== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103675== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103675== by 0x498986B: setlocale (setlocale.c:337) ==103675== by 0x109047: main (first.c:160) ==103675== === End of file valgrind515 test 0519...[GET same URL twice with different users] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind519 ./libtest/lib519 http://127.0.0.1:40653/519 > log/12/stdout519 2> log/12/stderr519 519: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind514 ./libtest/lib514 http://127.0.0.1:43753/514 > log/7/stdout514 2> log/7/stderr514 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind520 ./libtest/lib520 ftp://127.0.0.1:45983/520 > log/3/stdout520 2> log/3/stderr520 protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 519 === Start of file http_server.log 02:02:01.877025 ====> Client connect 02:02:01.877057 accept_connection 3 returned 4 02:02:01.877073 accept_connection 3 returned 0 02:02:01.877281 Read 93 bytes 02:02:01.877297 Process 93 bytes request 02:02:01.877311 Got request: GET /verifiedserver HTTP/1.1 02:02:01.877320 Are-we-friendly question received 02:02:01.877347 Wrote request (93 bytes) input to log/12/server.input 02:02:01.877365 Identifying ourselves as friends 02:02:01.877500 Response sent (56 bytes) and written to log/12/server.response 02:02:01.877513 special request received, no persistency 02:02:01.877522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 519 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr519 URL: http://127.0.0.1:40653/519 === End of file stderr519 === Start of file valgrind519 ==103926== ==103926== Process terminating with default action of signal 4 (SIGILL) ==103926== Illegal opcode at address 0x48EA16B ==103926== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103926== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103926== by 0x48EA16B: Curl_open (url.c:519) ==103926== by 0x4880EEF: curl_easy_init (easy.c:370) ==103926== by 0x10908A: UnknownInlinedFun (lib519.c:38) ==103926== by 0x10908A: main (first.c:220) ==103926== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103926== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103926== by 0x4A6D258: __tsearch (tsearch.c:337) ==103926== by 0x4A6D258: tsearch (tsearch.c:290) ==103926== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103926== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103926== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103926== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103926== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103926== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103926== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103926== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103926== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103926== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103926== by 0x498986B: setlocale (setlocale.c:337) ==103926== by 0x109047: main (first.c:160) ==103926== ==103926== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103926== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103926== by 0x4A6D258: __tsearch (tsearch.c:337) ==103926== by 0x4A6D258: tsearch (tsearch.c:290) ==103926== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103926== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103926== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103926== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103926== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103926== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103926== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103926== by 0x498986B: setlocale (setlocale.c:337) ==103926== by 0x109047: main (first.c:160) ==103926== ==103926== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103926== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103926== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103926== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103926== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103926== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103926== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103926== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103926== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103926== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103926== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103926== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103926== by 0x498986B: setlocale (setlocale.c:337) ==103926== by 0x109047: main (first.c:160) ==103926== ==103926== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103926== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103926== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103926== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103926== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103926== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103926== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103926== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103926== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103926== by 0x498986B: setlocale (setlocale.c:337) ==103926== by 0x109047: main (first.c:160) ==103926== ==103926== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103926== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103926== by 0x48EA143: Curl_open (url.c:510) ==103926== by 0x4880EEF: curl_easy_init (easy.c:370) ==103926== by 0x10908A: UnknownInlinedFun (lib519.c:38) ==103926== by 0x10908A: main (first.c:220) ==103926== ==103926== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103926== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103926== by 0x4A6D258: __tsearch (tsearch.c:337) ==103926== by 0x4A6D258: tsearch (tsearch.c:290) ==103926== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103926== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103926== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103926== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103926== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103926== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103926== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103926== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103926== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103926== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103926== by 0x498986B: setlocale (setlocale.c:337) ==103926== by 0x109047: main (first.c:160) ==103926== ==103926== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103926== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103926== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103926== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103926== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103926== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103926== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103926== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103926== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103926== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103926== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103926== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103926== by 0x498986B: setlocale (setlocale.c:337) ==103926== by 0x109047: main (first.c:160) ==103926== === End of file valgrind519 test 0520...[FTP RETR with FILETIME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind520 ./libtest/lib520 ftp://127.0.0.1:45983/520 > log/3/stdout520 2> log/3/stderr520 520: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 520 === Start of file ftp_server.log 02:02:01.882724 ====> Client connect 02:02:01.882931 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:01.901910 < "USER anonymous" 02:02:01.901984 > "331 We are happy you popped in![CR][LF]" 02:02:01.905783 < "PASS ftp@example.com" 02:02:01.905828 > "230 Welcome you silly person[CR][LF]" 02:02:01.906048 < "PWD" 02:02:01.906087 > "257 "/" is current directory[CR][LF]" 02:02:01.906263 < "EPSV" 02:02:01.906292 ====> Passive DATA channel requested by client 02:02:01.906305 DATA sockfilt for passive data channel starting... 02:02:01.938460 DATA sockfilt for passive data channel started (pid 104076) 02:02:01.938599 DATA sockfilt for passive data channel listens on port 45785 02:02:01.938644 > "229 Entering Passive Mode (|||45785|)[LF]" 02:02:01.938660 Client has been notified that DATA conn will be accepted on port 45785 02:02:01.938926 Client connects to port 45785 02:02:01.938964 ====> Client established passive DATA connection on port 45785 02:02:01.939124 < "TYPE I" 02:02:01.939169 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:01.939384 < "SIZE verifiedserver" 02:02:01.939430 > "213 17[CR][LF]" 02:02:01.939629 < "RETR verifiedserver" 02:02:01.939669 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:01.939762 =====> Closing passive DATA connection... 02:02:01.939790 Server disconnects passive DATA connection 02:02:01.939933 Server disconnected passive DATA connection 02:02:01.939962 DATA sockfilt for passive data channel quits (pid 104076) 02:02:01.940190 DATA sockfilt for passive data channel quit (pid 104076) 02:02:01.940217 =====> Closed passive DATA connection 02:02:01.940246 > "226 File transfer complete[CR][LF]" 02:02:01.993238 < "QUIT" 02:02:01.993289 > "221 bye bye baby[CR][LF]" 02:02:01.995984 MAIN sockfilt said DISC 02:02:01.996080 ====> Client disconnected 02:02:01.996317 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:02.071117 ====> Client connect 02:02:02.083104 Received DATA (on stdin) 02:02:02.083131 > 160 bytes data, server => client 02:02:02.083146 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:02.083159 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:02.083170 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:02.097450 < 16 bytes data, client => server 02:02:02.097494 'USER anonymous\r\n' 02:02:02.102146 Received DATA (on stdin) 02:02:02.102170 > 33 bytes data, server => client 02:02:02.102182 '331 We are happy you popped in!\r\n' 02:02:02.105779 < 22 bytes data, client => server 02:02:02.105800 'PASS ftp@example.com\r\n' 02:02:02.105972 Received DATA (on stdin) 02:02:02.105987 > 30 bytes data, server => client 02:02:02.105999 '230 Welcome you silly person\r\n' 02:02:02.106085 < 5 bytes data, client => server 02:02:02.106099 'PWD\r\n' 02:02:02.106228 Received DATA (on stdin) 02:02:02.106241 > 30 bytes data, server => client 02:02:02.106252 '257 "/" is current directory\r\n' 02:02:02.106314 < 6 bytes data, client => server 02:02:02.106327 'EPSV\r\n' 02:02:02.138807 Received DATA (on stdin) 02:02:02.138823 > 38 bytes data, server => client 02:02:02.138834 '229 Entering Passive Mode (|||45785|)\n' 02:02:02.139130 < 8 bytes data, client => server 02:02:02.139149 'TYPE I\r\n' 02:02:02.139318 Received DATA (on stdin) 02:02:02.139335 > 33 bytes data, server => client 02:02:02.139347 '200 I modify TYPE as you wanted\r\n' 02:02:02.139418 < 21 bytes data, client => server 02:02:02.139436 'SIZE verifiedserver\r\n' 02:02:02.139579 Received DATA (on stdin) 02:02:02.139595 > 8 bytes data, server => client 02:02:02.139606 '213 17\r\n' 02:02:02.139669 < 21 bytes data, client => server 02:02:02.139686 'RETR verifiedserver\r\n' 02:02:02.140390 Received DATA (on stdin) 02:02:02.140406 > 29 bytes data, server => client 02:02:02.140417 '150 Binary junk (17 bytes).\r\n' 02:02:02.140444 Received DATA (on stdin) 02:02:02.140455 > 28 bytes data, server => client 02:02:02.140466 '226 File transfer complete\r\n' 02:02:02.192510 < 6 bytes data, client => server 02:02:02.192535 'QUIT\r\n' 02:02:02.193442 Received DATA (on stdin) 02:02:02.193461 > 18 bytes data, server => client 02:02:02.193472 '221 bye bye baby\r\n' 02:02:02.195961 ====> Client disconnect 02:02:02.196305 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:01.122650 Running IPv4 version 02:02:01.122747 Listening on port 45785 02:02:01.122782 Wrote pid 104076 to log/3/server/ftp_sockdata.pid 02:02:01.138503 Received PING (on stdin) 02:02:01.138642 Received PORT (on stdin) 02:02:01.139007 ====> Client connect 02:02:01.139937 Received DATA (on stdin) 02:02:01.139954 > 17 bytes data, server => client 02:02:01.139966 'WE ROOLZ: 80465\r\n' 02:02:01.140001 Received DISC (on stdin) 02:02:01.140018 ====> Client forcibly disconnected 02:02:01.140116 Received QUIT (on stdin) 02:02:01.140131 quits 02:02:01.140182 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 213 20030405060708 Testnum 520 === End of file server.cmd === Start of file stderr520 URL: ftp://127.0.0.1:45983/520 === End of file stderr520 === Start of file valgrind520 ==104198== ==104198== Process terminating with default action of signal 4 (SIGILL) ==104198== Illegal opcode at address 0x48EA16B ==104198== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104198== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104198== by 0x48EA16B: Curl_open (url.c:519) ==104198== by 0x4880EEF: curl_easy_init (easy.c:370) ==104198== by 0x10908A: UnknownInlinedFun (lib520.c:38) ==104198== by 0x10908A: main (first.c:220) ==104198== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104198== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104198== by 0x4A6D258: __tsearch (tsearch.c:337) ==104198== by 0x4A6D258: tsearch (tsearch.c:290) ==104198== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104198== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104198== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104198== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104198== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104198== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104198== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104198== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104198== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104198== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104198== by 0x498986B: setlocale (setlocale.c:337) ==104198== by 0x109047: main (first.c:160) ==104198== ==104198== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104198== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104198== by 0x4A6D258: __tsearch (tsearch.c:337) ==104198== by 0x4A6D258: tsearch (tsearch.c:290) ==104198== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104198== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104198== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104198== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104198== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104198== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104198== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104198== by 0x498986B: setlocale (setlocale.c:337) ==104CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind523 ./libtest/lib523 http://www.example.com:999/523 http://127.0.0.1:44137 > log/11/stdout523 2> log/11/stderr523 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind521 ./libtest/lib521 ftp://127.0.0.1/521/ 36595 > log/2/stdout521 2> log/2/stderr521 198== by 0x109047: main (first.c:160) ==104198== ==104198== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104198== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104198== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104198== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104198== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104198== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104198== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104198== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104198== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104198== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104198== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104198== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104198== by 0x498986B: setlocale (setlocale.c:337) ==104198== by 0x109047: main (first.c:160) ==104198== ==104198== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104198== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104198== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104198== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104198== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104198== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104198== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104198== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104198== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104198== by 0x498986B: setlocale (setlocale.c:337) ==104198== by 0x109047: main (first.c:160) ==104198== ==104198== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104198== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104198== by 0x48EA143: Curl_open (url.c:510) ==104198== by 0x4880EEF: curl_easy_init (easy.c:370) ==104198== by 0x10908A: UnknownInlinedFun (lib520.c:38) ==104198== by 0x10908A: main (first.c:220) ==104198== ==104198== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104198== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104198== by 0x4A6D258: __tsearch (tsearch.c:337) ==104198== by 0x4A6D258: tsearch (tsearch.c:290) ==104198== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104198== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104198== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104198== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104198== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104198== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104198== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104198== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104198== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104198== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104198== by 0x498986B: setlocale (setlocale.c:337) ==104198== by 0x109047: main (first.c:160) ==104198== ==104198== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104198== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104198== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104198== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104198== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104198== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104198== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104198== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104198== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104198== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104198== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104198== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104198== by 0x498986B: setlocale (setlocale.c:337) ==104198== by 0x109047: main (first.c:160) ==104198== === End of file valgrind520 test 0521...[FTP dir list PASV with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind521 ./libtest/lib521 ftp://127.0.0.1/521/ 36595 > log/2/stdout521 2> log/2/stderr521 521: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 521 === Start of file ftp_server.log 02:02:01.904005 ====> Client connect 02:02:01.904141 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:01.904455 < "USER anonymous" 02:02:01.904501 > "331 We are happy you popped in![CR][LF]" 02:02:01.904695 < "PASS ftp@example.com" 02:02:01.904725 > "230 Welcome you silly person[CR][LF]" 02:02:01.904896 < "PWD" 02:02:01.904932 > "257 "/" is current directory[CR][LF]" 02:02:01.905116 < "EPSV" 02:02:01.905143 ====> Passive DATA channel requested by client 02:02:01.905156 DATA sockfilt for passive data channel starting... 02:02:01.909423 DATA sockfilt for passive data channel started (pid 104075) 02:02:01.909556 DATA sockfilt for passive data channel listens on port 33287 02:02:01.909608 > "229 Entering Passive Mode (|||33287|)[LF]" 02:02:01.909632 Client has been notified that DATA conn will be accepted on port 33287 02:02:01.909937 Client connects to port 33287 02:02:01.909973 ====> Client established passive DATA connection on port 33287 02:02:01.910121 < "TYPE I" 02:02:01.910162 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:01.910375 < "SIZE verifiedserver" 02:02:01.910420 > "213 17[CR][LF]" 02:02:01.910620 < "RETR verifiedserver" 02:02:01.910660 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:01.910792 =====> Closing passive DATA connection... 02:02:01.910811 Server disconnects passive DATA connection 02:02:01.910984 Server disconnected passive DATA connection 02:02:01.911014 DATA sockfilt for passive data channel quits (pid 104075) 02:02:01.911234 DATA sockfilt for passive data channel quit (pid 104075) 02:02:01.911262 =====> Closed passive DATA connection 02:02:01.911292 > "226 File transfer complete[CR][LF]" 02:02:01.958856 < "QUIT" 02:02:01.958921 > "221 bye bye baby[CR][LF]" 02:02:01.959640 MAIN sockfilt said DISC 02:02:01.959684 ====> Client disconnected 02:02:01.959900 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:02.104051 ====> Client connect 02:02:02.104294 Received DATA (on stdin) 02:02:02.104309 > 160 bytes data, server => client 02:02:02.104322 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:02.104333 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:02.104344 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:02.104436 < 16 bytes data, client => server 02:02:02.104456 'USER anonymous\r\n' 02:02:02.104647 Received DATA (on stdin) 02:02:02.104662 > 33 bytes data, server => client 02:02:02.104673 '331 We are happy you popped in!\r\n' 02:02:02.104732 < 22 bytes data, client => server 02:02:02.104744 'PASS ftp@example.com\r\n' 02:02:02.104870 Received DATA (on stdin) 02:02:02.104882 > 30 bytes data, server => client 02:02:02.104892 '230 Welcome you silly person\r\n' 02:02:02.104944 < 5 bytes data, client => server 02:02:02.104957 'PWD\r\n' 02:02:02.105074 Received DATA (on stdin) 02:02:02.105086 > 30 bytes data, server => client 02:02:02.105097 '257 "/" is current directory\r\n' 02:02:02.105170 < 6 bytes data, client => server 02:02:02.105182 'EPSV\r\n' 02:02:02.109785 Received DATA (on stdin) 02:02:02.109801 > 38 bytes data, server => client 02:02:02.109814 '229 Entering Passive Mode (|||33287|)\n' 02:02:02.110135 < 8 bytes data, client => server 02:02:02.110152 'TYPE I\r\n' 02:02:02.110310 Received DATA (on stdin) 02:02:02.110325 > 33 bytes data, server => client 02:02:02.110337 '200 I modify TYPE as you wanted\r\n' 02:02:02.110407 < 21 bytes data, client => server 02:02:02.110425 'SIZE verifiedserver\r\n' 02:02:02.110568 Received DATA (on stdin) 02:02:02.110583 > 8 bytes data, server => client 02:02:02.110595 '213 17\r\n' 02:02:02.110657 < 21 bytes data, client => server 02:02:02.110674 'RETR verifiedserver\r\n' 02:02:02.111042 Received DATA (on stdin) 02:02:02.111057 > 29 bytes data, server => client 02:02:02.111069 '150 Binary junk (17 bytes).\r\n' 02:02:02.111438 Received DATA (on stdin) 02:02:02.111453 > 28 bytes data, server => client 02:02:02.111464 '226 File transfer complete\r\n' 02:02:02.158787 < 6 bytes data, client => server 02:02:02.158826 'QUIT\r\n' 02:02:02.159075 Received DATA (on stdin) 02:02:02.159093 > 18 bytes data, server => client 02:02:02.159105 '221 bye bye baby\r\n' 02:02:02.159718 ====> Client disconnect 02:02:02.159860 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:01.109059 Running IPv4 version 02:02:01.109274 Listening on port 33287 02:02:01.109327 Wrote pid 104075 to log/2/server/ftp_sockdata.pid 02:02:01.109495 Received PING (on stdin) 02:02:01.109597 Received PORT (on stdin) 02:02:01.110021 ====> Client connect 02:02:01.110815 Received DATA (on stdin) 02:02:01.110832 > 17 bytes data, server => client 02:02:01.110952 'WE ROOLZ: 80457\r\n' 02:02:01.110990 Received DISC (on stdin) 02:02:01.111008 ====> Client forcibly disconnected 02:02:01.111169 Received QUIT (on stdin) 02:02:01.111184 quits 02:02:01.111247 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 521 === End of file server.cmd === Start of file stderr521 URL: ftp://127.0.0.1/521/ === End of file stderr521 === Start of file valgrind521 ==104101== ==104101== Process terminating with default action of signal 4 (SIGILL) ==104101== Illegal opcode at address 0x48EA16B ==104101== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104101== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104101== by 0x48EA16B: Curl_open (url.c:519) ==104101== by 0x4880EEF: curl_easy_init (easy.c:370) ==104101== by 0x10909C: UnknownInlinedFun (lib521.c:38) ==104101== by 0x10909C: main (first.c:220) ==104101== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104101== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104101== by 0x4A6D258: __tsearch (tsearch.c:337) ==104101== by 0x4A6D258: tsearch (tsearch.c:290) ==104101== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104101== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104101== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104101== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104101== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104101== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104101== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104101== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104101== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104101== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104101== by 0x498986B: setlocale (setlocale.c:337) ==104101== by 0x109047: main (first.c:160) ==104101== ==104101== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104101== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104101== by 0x4A6D258: __tsearch (tsearch.c:337) ==104101== by 0x4A6D258: tsearch (tsearch.c:290) ==104101== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104101== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104101== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104101== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104101== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104101== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104101== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104101== by 0x498986B: setlocale (setlocale.c:337) ==104101== by 0x109047: main (first.c:160) ==104101== ==104101== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104101== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104101== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104101== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104101== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104101== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104101== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104101== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104101== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104101== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104101== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104101== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104101== by 0x498986B: setlocale (setlocale.c:337) ==104101== by 0x109047: main (first.c:160) ==104101== ==104101== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104101== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104101== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104101== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104101== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104101== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104101== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104101== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104101== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104101== by 0x498986B: setlocale (setlocale.c:337) ==104101== by 0x109047: main (first.c:160) ==104101== ==104101== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104101== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104101== by 0x48EA143: Curl_open (url.c:510) ==104101== by 0x4880EEF: curl_easy_init (easy.c:370) ==104101== by 0x10909C: UnknownInlinedFun (lib521.c:38) ==104101== by 0x10909C: main (first.c:220) ==104101== ==104101== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104101== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104101== by 0x4A6D258: __tsearch (tsearch.c:337) ==104101== by 0x4A6D258: tsearch (tsearch.c:290) ==104101== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104101== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104101== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104101== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104101== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104101== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104101== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104101== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104101== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104101== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104101== by 0x498986B: setlocale (setlocale.c:337) ==104101== by 0x109047: main (first.c:160) ==104101== ==104101== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104101== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104101== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104101== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104101== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104101== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104101== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104101== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104101== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104101== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104101== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104101== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104101== by 0x498986B: setlocale (setlocale.c:337) ==104101== by 0x109047: main (first.c:160) ==104101== === End of file valgrind521 test 0523...[HTTP GET with proxy and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind523 ./libtest/lib523 http://www.example.com:999/523 http://127.0.0.1:44137 > log/11/stdout523 2> log/11/stderr523 523: stdout FAILED: --- log/11/check-expected 2024-12-15 02:02:03.885549545 +0000 +++ log/11/check-generated 2024-12-15 02:02:03.885549545 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/11/ dir after test 523 === Start of file check-expected hello[LF] === End of file check-expected === Start of file http_server.log 02:02:02.135724 ====> Client connect 02:02:02.135758 accept_connection 3 returned 4 02:02:02.135774 accept_connection 3 returned 0 02:02:02.135789 Read 93 bytes 02:02:02.135799 Process 93 bytes request 02:02:02.135813 Got request: GET /verifiedserver HTTP/1.1 02:02:02.135822 Are-we-friendly question received 02:02:02.135843 Wrote request (93 bytes) input to log/11/server.input 02:02:02.135860 Identifying ourselves as friends 02:02:02.138604 Response sent (56 bytes) and written to log/11/server.response 02:02:02.138624 special request received, no persistency 02:02:02.138634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 523 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr523 URL: http://www.example.com:999/523 === End of file stderr523 === Start of file valgrind523 ==104089== ==104089== Process terminating with default action of signal 4 (SIGILL) ==104089== Illegal opcode at address 0x48EA16B ==104089== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104089== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104089== by 0x48EA16B: Curl_open (url.c:519) ==104089== by 0x4880EEF: curl_easy_init (easy.c:370) ==104089== by 0x109098: UnknownInlinedFun (lib523.c:38) ==104089== by 0x109098: main (first.c:220) ==104089== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104089== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104089== by 0x4A6D258: __tsearch (tsearch.c:337) ==104089== by 0x4A6D258: tsearch (tsearch.c:290) ==104089== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104089== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104089== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104089== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104089== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104089== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104089== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104089== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104089== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104089== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104089== by 0x498986B: setlocale (setlocale.c:337) ==104089== by 0x109045: main (first.c:160) ==104089== ==104089== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104089== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104089== by 0x4A6D258: __tsearch (tsearch.c:337) ==104089== by 0x4A6D258: tsearch (tsearch.c:290) ==104089== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104089== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104089== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104089== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104089== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104089== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104089== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104089== by 0x498986B: setlocale (setlocale.c:337) ==104089== by 0x109045: main (first.c:160) ==104089== ==104089== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104089== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104089== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104089== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104089== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104089== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104089== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104089== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104089== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104089== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104089== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104089== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104089== by 0x498986B: setlocale (setlocale.c:337) ==104089== by 0x109045: main (first.c:160) ==104089== ==104089== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104089== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104089== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104089== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104089== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104089== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104089== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104089== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104089== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104089== by 0x498986B: setlocale (setlocale.c:337) ==104089== by 0x109045: main (first.c:160) ==104089== ==104089== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104089== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104089== by 0x48EA143: Curl_open (url.c:510) ==104089== by 0x4880EEF: curl_easy_init (easy.c:370) ==104089== by 0x109098: UnknownInlinedFun (lib523.c:38) ==104089== by 0x109098: main (first.c:220) ==104089== ==104089== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104089== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104089== by 0x4A6D258: __tsearch (tsearch.c:337) ==104089== by 0x4A6D258: tsearch (tsearch.c:290) ==104089== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104089== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104089== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104089== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104089== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104089== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104089== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104089== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104089== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104089== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104089== by 0x498986B: setlocale (setlocale.c:337) ==104089== by 0x109045: main (first.c:160) ==104089== ==104089== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104089== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104089== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104089== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104089== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104089== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104089== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104089== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104089== by 0x49EE8CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind522 ./libtest/lib521 http://127.0.0.1/522 42929 > log/10/stdout522 2> log/10/stderr522 FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104089== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104089== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104089== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104089== by 0x498986B: setlocale (setlocale.c:337) ==104089== by 0x109045: main (first.c:160) ==104089== === End of file valgrind523 test 0522...[HTTP GET with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind522 ./libtest/lib521 http://127.0.0.1/522 42929 > log/10/stdout522 2> log/10/stderr522 522: stdout FAILED: --- log/10/check-expected 2024-12-15 02:02:03.932217051 +0000 +++ log/10/check-generated 2024-12-15 02:02:03.932217051 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/10/ dir after test 522 === Start of file check-expected hello[LF] === End of file check-expected === Start of file http_server.log 02:02:02.125213 ====> Client connect 02:02:02.125252 accept_connection 3 returned 4 02:02:02.125268 accept_connection 3 returned 0 02:02:02.125281 Read 93 bytes 02:02:02.125291 Process 93 bytes request 02:02:02.125307 Got request: GET /verifiedserver HTTP/1.1 02:02:02.125315 Are-we-friendly question received 02:02:02.125339 Wrote request (93 bytes) input to log/10/server.input 02:02:02.125355 Identifying ourselves as friends 02:02:02.125428 Response sent (56 bytes) and written to log/10/server.response 02:02:02.125440 special request received, no persistency 02:02:02.125449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 522 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr522 URL: http://127.0.0.1/522 === End of file stderr522 === Start of file valgrind522 ==104088== ==104088== Process terminating with default action of signal 4 (SIGILL) ==104088== Illegal opcode at address 0x48EA16B ==104088== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104088== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104088== by 0x48EA16B: Curl_open (url.c:519) ==104088== by 0x4880EEF: curl_easy_init (easy.c:370) ==104088== by 0x10909C: UnknownInlinedFun (lib521.c:38) ==104088== by 0x10909C: main (first.c:220) ==104088== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104088== by 0x4A6D258: __tsearch (tsearch.c:337) ==104088== by 0x4A6D258: tsearch (tsearch.c:290) ==104088== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104088== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104088== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104088== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104088== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104088== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104088== by 0x498986B: setlocale (setlocale.c:337) ==104088== by 0x109047: main (first.c:160) ==104088== ==104088== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104088== by 0x4A6D258: __tsearch (tsearch.c:337) ==104088== by 0x4A6D258: tsearch (tsearch.c:290) ==104088== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104088== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104088== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104088== by 0x498986B: setlocale (setlocale.c:337) ==104088== by 0x109047: main (first.c:160) ==104088== ==104088== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104088== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104088== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104088== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104088== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104088== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104088== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104088== by 0x498986B: setlocale (setlocale.c:337) ==104088== by 0x109047: main (first.c:160) ==104088== ==104088== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104088== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104088== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104088== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104088== by 0x498986B: setlocale (setlocale.c:337) ==104088== by 0x109047: main (first.c:160) ==104088== ==104088== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104088== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104088== by 0x48EA143: Curl_open (url.c:510) ==104088== by 0x4880EEF: curl_easy_init (easy.c:370) ==104088== by 0x10909C: UnknownInlinedFun (lib521.c:38) ==104088== by 0x10909C: main (first.c:220) ==104088== ==104088== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104088== by 0x4A6D258: __tsearch (tsearch.c:337) ==104088== by 0x4A6D258: tsearch (tsearch.c:290) ==104088== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104088== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104088== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104088== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104088== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104088== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104088== by 0x498986B: setlocale (setlocale.c:337) ==104088== by 0x109047: main (first.c:160) ==104088== ==104088== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104088== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104088== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104088== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104088== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104088== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104088== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind525 ./libtest/lib525 ftp://127.0.0.1:35301/path/525 log/9/upload525 > log/9/stdout525 2> log/9/stderr525 116) ==104088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104088== by 0x498986B: setlocale (setlocale.c:337) ==104088== by 0x109047: main (first.c:160) ==104088== === End of file valgrind522 test 0525...[FTP PORT upload using multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind525 ./libtest/lib525 ftp://127.0.0.1:35301/path/525 log/9/upload525 > log/9/stdout525 2> log/9/stderr525 525: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 525 === Start of file ftp_server.log 02:02:01.926057 ====> Client connect 02:02:01.926211 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:01.926528 < "USER anonymous" 02:02:01.926574 > "331 We are happy you popped in![CR][LF]" 02:02:01.926772 < "PASS ftp@example.com" 02:02:01.926811 > "230 Welcome you silly person[CR][LF]" 02:02:01.927007 < "PWD" 02:02:01.927047 > "257 "/" is current directory[CR][LF]" 02:02:01.927238 < "EPSV" 02:02:01.927265 ====> Passive DATA channel requested by client 02:02:01.927279 DATA sockfilt for passive data channel starting... 02:02:01.930247 DATA sockfilt for passive data channel started (pid 104083) 02:02:01.930370 DATA sockfilt for passive data channel listens on port 33417 02:02:01.930423 > "229 Entering Passive Mode (|||33417|)[LF]" 02:02:01.930448 Client has been notified that DATA conn will be accepted on port 33417 02:02:01.930732 Client connects to port 33417 02:02:01.930761 ====> Client established passive DATA connection on port 33417 02:02:01.930825 < "TYPE I" 02:02:01.930851 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:01.930995 < "SIZE verifiedserver" 02:02:01.931027 > "213 17[CR][LF]" 02:02:01.931159 < "RETR verifiedserver" 02:02:01.931189 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:01.931257 =====> Closing passive DATA connection... 02:02:01.931271 Server disconnects passive DATA connection 02:02:01.931481 Server disconnected passive DATA connection 02:02:01.931506 DATA sockfilt for passive data channel quits (pid 104083) 02:02:01.931689 DATA sockfilt for passive data channel quit (pid 104083) 02:02:01.931725 =====> Closed passive DATA connection 02:02:01.931756 > "226 File transfer complete[CR][LF]" 02:02:01.975522 < "QUIT" 02:02:01.975569 > "221 bye bye baby[CR][LF]" 02:02:01.976594 MAIN sockfilt said DISC 02:02:01.976643 ====> Client disconnected 02:02:01.976716 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:02.126100 ====> Client connect 02:02:02.126376 Received DATA (on stdin) 02:02:02.126396 > 160 bytes data, server => client 02:02:02.126409 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:02.126421 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:02.126433 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:02.126516 < 16 bytes data, client => server 02:02:02.126534 'USER anonymous\r\n' 02:02:02.126722 Received DATA (on stdin) 02:02:02.126737 > 33 bytes data, server => client 02:02:02.126749 '331 We are happy you popped in!\r\n' 02:02:02.126801 < 22 bytes data, client => server 02:02:02.126811 'PASS ftp@example.com\r\n' 02:02:02.126955 Received DATA (on stdin) 02:02:02.126969 > 30 bytes data, server => client 02:02:02.126981 '230 Welcome you silly person\r\n' 02:02:02.127039 < 5 bytes data, client => server 02:02:02.127055 'PWD\r\n' 02:02:02.127191 Received DATA (on stdin) 02:02:02.127205 > 30 bytes data, server => client 02:02:02.127217 '257 "/" is current directory\r\n' 02:02:02.127281 < 6 bytes data, client => server 02:02:02.127295 'EPSV\r\n' 02:02:02.130597 Received DATA (on stdin) 02:02:02.130612 > 38 bytes data, server => client 02:02:02.130624 '229 Entering Passive Mode (|||33417|)\n' 02:02:02.130761 < 8 bytes data, client => server 02:02:02.130780 'TYPE I\r\n' 02:02:02.130988 Received DATA (on stdin) 02:02:02.131000 > 33 bytes data, server => client 02:02:02.131011 '200 I modify TYPE as you wanted\r\n' 02:02:02.131061 < 21 bytes data, client => server 02:02:02.131072 'SIZE verifiedserver\r\n' 02:02:02.131163 Received DATA (on stdin) 02:02:02.131173 > 8 bytes data, server => client 02:02:02.131183 '213 17\r\n' 02:02:02.131226 < 21 bytes data, client => server 02:02:02.131236 'RETR verifiedserver\r\n' 02:02:02.131496 Received DATA (on stdin) 02:02:02.131507 > 29 bytes data, server => client 02:02:02.131517 '150 Binary junk (17 bytes).\r\n' 02:02:02.134533 Received DATA (on stdin) 02:02:02.134558 > 28 bytes data, server => client 02:02:02.134571 '226 File transfer complete\r\n' 02:02:02.175300 < 6 bytes data, client => server 02:02:02.175328 'QUIT\r\n' 02:02:02.175715 Received DATA (on stdin) 02:02:02.175731 > 18 bytes data, server => client 02:02:02.175742 '221 bye bye baby\r\n' 02:02:02.176438 ====> Client disconnect 02:02:02.176859 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:01.130075 Running IPv4 version 02:02:01.130131 Listening on port 33417 02:02:01.130176 Wrote pid 104083 to log/9/server/ftp_sockdata.pid 02:02:01.130318 Received PING (on stdin) 02:02:01.130414 Received PORT (on stdin) 02:02:01.130829 ====> Client connect 02:02:01.131410 Received DATA (on stdin) 02:02:01.131422 > 17 bytes data, server => client 02:02:01.131433 'WE ROOLZ: 80452\r\n' 02:02:01.131460 Received DISC (on stdin) 02:02:01.131472 ====> Client forcibly disconnected 02:02:01.131652 Received QUIT (on stdin) 02:02:01.131664 quits 02:02:01.131712 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 525 === End of file server.cmd === Start of file stderr525 URL: ftp://127.0.0.1:35301/path/525 === End of file stderr525 === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 ==104109== ==104109== Process terminating with default action of signal 4 (SIGILL) ==104109== Illegal opcode at address 0x48EA16B ==104109== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104109== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104109== by 0x48EA16B: Curl_open (url.c:519) ==104109== by 0x4880EEF: curl_easy_init (easy.c:370) ==104109== by 0x10931B: test (lib525.c:82) ==104109== by 0x109087: main (first.c:220) ==104109== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==104109== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104109== by 0x4A6D258: __tsearch (tsearch.c:337) ==104109== by 0x4A6D258: tsearch (tsearch.c:290) ==104109== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104109== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104109== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104109== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104109== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104109== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104109== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104109== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104109== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104109== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104109== by 0x498986B: setlocale (setlocale.c:337) ==104109== by 0x109047: main (first.c:160) ==104109== ==104109== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==104109== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104109== by 0x4A6D258: __tsearch (tsearch.c:337) ==104109== by 0x4A6D258: tsearch (tsearch.c:290) ==104109== by 0x497D877: add_aliCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind524 ./libtest/lib524 ftp://127.0.0.1:34583/path/to/ > log/4/stdout524 2> log/4/stderr524 as2.part.0 (gconv_conf.c:142) ==104109== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104109== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104109== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104109== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104109== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104109== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104109== by 0x498986B: setlocale (setlocale.c:337) ==104109== by 0x109047: main (first.c:160) ==104109== ==104109== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==104109== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104109== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104109== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104109== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104109== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104109== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104109== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104109== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104109== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104109== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104109== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104109== by 0x498986B: setlocale (setlocale.c:337) ==104109== by 0x109047: main (first.c:160) ==104109== ==104109== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==104109== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104109== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104109== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104109== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104109== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104109== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104109== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104109== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104109== by 0x498986B: setlocale (setlocale.c:337) ==104109== by 0x109047: main (first.c:160) ==104109== ==104109== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==104109== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104109== by 0x48EA143: Curl_open (url.c:510) ==104109== by 0x4880EEF: curl_easy_init (easy.c:370) ==104109== by 0x10931B: test (lib525.c:82) ==104109== by 0x109087: main (first.c:220) ==104109== ==104109== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==104109== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104109== by 0x4A6D258: __tsearch (tsearch.c:337) ==104109== by 0x4A6D258: tsearch (tsearch.c:290) ==104109== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104109== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104109== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104109== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104109== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104109== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104109== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104109== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104109== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104109== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104109== by 0x498986B: setlocale (setlocale.c:337) ==104109== by 0x109047: main (first.c:160) ==104109== ==104109== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==104109== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104109== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104109== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104109== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104109== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104109== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104109== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104109== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104109== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104109== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104109== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104109== by 0x498986B: setlocale (setlocale.c:337) ==104109== by 0x109047: main (first.c:160) ==104109== === End of file valgrind525 test 0524...[FTP upload with target URL ending with slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind524 ./libtest/lib524 ftp://127.0.0.1:34583/path/to/ > log/4/stdout524 2> log/4/stderr524 524: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 524 === Start of file ftp_server.log 02:02:01.915333 ====> Client connect 02:02:01.915509 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:01.918691 < "USER anonymous" 02:02:01.918766 > "331 We are happy you popped in![CR][LF]" 02:02:01.924271 < "PASS ftp@example.com" 02:02:01.924340 > "230 Welcome you silly person[CR][LF]" 02:02:01.924606 < "PWD" 02:02:01.924658 > "257 "/" is current directory[CR][LF]" 02:02:01.927667 < "EPSV" 02:02:01.927702 ====> Passive DATA channel requested by client 02:02:01.927716 DATA sockfilt for passive data channel starting... 02:02:01.935232 DATA sockfilt for passive data channel started (pid 104085) 02:02:01.938644 DATA sockfilt for passive data channel listens on port 44101 02:02:01.938704 > "229 Entering Passive Mode (|||44101|)[LF]" 02:02:01.938723 Client has been notified that DATA conn will be accepted on port 44101 02:02:01.948685 Client connects to port 44101 02:02:01.948738 ====> Client established passive DATA connection on port 44101 02:02:01.948888 < "TYPE I" 02:02:01.948927 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:01.949108 < "SIZE verifiedserver" 02:02:01.949150 > "213 17[CR][LF]" 02:02:01.949305 < "RETR verifiedserver" 02:02:01.949339 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:01.949422 =====> Closing passive DATA connection... 02:02:01.949437 Server disconnects passive DATA connection 02:02:01.949566 Server disconnected passive DATA connection 02:02:01.949589 DATA sockfilt for passive data channel quits (pid 104085) 02:02:01.949850 DATA sockfilt for passive data channel quit (pid 104085) 02:02:01.949873 =====> Closed passive DATA connection 02:02:01.949899 > "226 File transfer complete[CR][LF]" 02:02:01.998536 < "QUIT" 02:02:01.998586 > "221 bye bye baby[CR][LF]" 02:02:01.999430 MAIN sockfilt said DISC 02:02:01.999470 ====> Client disconnected 02:02:01.999543 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:02.115183 ====> Client connect 02:02:02.115667 Received DATA (on stdin) 02:02:02.115685 > 160 bytes data, server => client 02:02:02.115698 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:02.115709 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:02.115719 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:02.118618 < 16 bytes data, client => server 02:02:02.118646 'USER anonymous\r\n' 02:02:02.118922 Received DATA (on stdin) 02:02:02.118940 > 33 bytes data, server => client 02:02:02.118953 '331 We are happy you popped in!\r\n' 02:02:02.124198 < 22 bytes data, client => server 02:02:02.124223 'PASS ftp@example.com\r\n' 02:02:02.124496 Received DATA (on stdin) 02:02:02.124515 > 30 bytes data, server => client 02:02:02.124528 '230 Welcome you silly person\r\n' 02:02:02.124609 < 5 bytes data, client => server 02:02:02.124629 'PWD\r\n' 02:02:02.124807 Received DATA (on stdin) 02:02:02.124821 > 30 bytes data, server => client 02:02:02.124833 '257 "/" is current directory\r\n' 02:02:02.127680 < 6 bytes data, client => server 02:02:02.127700 'EPSV\r\n' 02:02:02.148502 Received DATA (on stdin) 02:02:02.148537 > 38 bytes data, server => client 02:02:02.148550 '229 Entering Passive Mode (|||44101|)\n' 02:02:02.148901 < 8 bytes data, client => server 02:02:02.148917 'TYPE I\r\n' 02:02:02.149067 Received DATA (on stdin) 02:02:02.149080 > 33 bytes data, server => client 02:02:02.149091 '200 I modify TYPE as you wanted\r\n' 02:02:02.149154 < 21 bytes data, client => server 02:02:02.149165 'SIZE verifiedserver\r\n' 02:02:02.149289 Received DATA (on stdin) 02:02:02.149302 > 8 bytes data, server => client 02:02:02.149312 '213 17\r\n' 02:02:02.149364 < 21 bytes data, client => server 02:02:02.149375 'RETR verifiedserver\r\n' 02:02:02.150043 Received DATA (on stdin) 02:02:02.150058 > 29 bytes data, server => client 02:02:02.150069 '150 Binary junk (17 bytes).\r\n' 02:02:02.150096 Received DATA (on stdin) 02:02:02.150106 > 28 bytes data, server => client 02:02:02.150117 '226 File transfer complete\r\n' 02:02:02.198552 < 6 bytes data, client => server 02:02:02.198575 'QUIT\r\n' 02:02:02.198730 Received DATA (on stdin) 02:02:02.198744 > 18 bytes data, server => client 02:02:02.198756 '221 bye bye baby\r\n' 02:02:02.199509 ====> Client disconnect 02:02:02.199687 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:01.129516 Running IPv4 version 02:02:01.129578 Listening on port 44101 02:02:01.129615 Wrote pid 104085 to log/4/server/ftp_sockdata.pid 02:02:01.130799 Received PING (on stdin) 02:02:01.138615 Received PORT (on stdin) 02:02:01.148751 ====> Client connect 02:02:01.149578 Received DATA (on stdin) 02:02:01.149594 > 17 bytes data, server => client 02:02:01.149606 'WE ROOLZ: 80536\r\n' 02:02:01.149639 Received DISC (on stdin) 02:02:01.149653 ====> Client forcibly disconnected 02:02:01.149736 Received QUIT (on stdin) 02:02:01.149747 quits 02:02:01.149799 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 524 === End of file server.cmd === Start of file stderr524 URL: ftp://127.0.0.1:34583/path/to/ === End of file stderr524 === Start of file valgrind524 ==104149== ==104149== Process terminating with default action of signal 4 (SIGILL) ==104149== Illegal opcode at address 0x48EA16B ==104149== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104149== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104149== by 0x48EA16B: Curl_open (url.c:519) ==104149== by 0x4880EEF: curl_easy_init (easy.c:370) ==104149== by 0x10908A: UnknownInlinedFun (lib524.c:38) ==104149== by 0x10908A: main (first.c:220) ==104149== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104149== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104149== by 0x4A6D258: __tsearch (tsearch.c:337) ==104149== by 0x4A6D258: tsearch (tsearch.c:290) ==104149== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104149== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104149== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104149== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104149== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104149== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104149== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104149== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104149== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104149== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104149== by 0x498986B: setlocale (setlocale.c:337) ==104149== by 0x109047: main (first.c:160) ==104149== ==104149== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104149== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104149== by 0x4A6D258: __tsearch (tsearch.c:337) ==104149== by 0x4A6D258: tsearch (tsearch.c:290) ==104149== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104149== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104149== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104149== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104149== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104149== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104149== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104149== by 0x498986B: setlocale (setlocale.c:337) ==104149== by 0x109047: main (first.c:160) ==104149== ==104149== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104149== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104149== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104149== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104149== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104149== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104149== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104149== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104149== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104149== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104149== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104149== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104149== by 0x498986B: setlocale (setlocale.c:337) ==104149== by 0x109047: main (first.c:160) ==104149== ==104149== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104149== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104149== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104149== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104149== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104149== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104149== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104149== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104149== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104149== by 0x498986B: setlocale (setlocale.c:337) ==104149== by 0x109047: main (first.c:160) ==104149== ==104149== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104149== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104149== by 0x48EA143: Curl_open (url.c:510) ==104149== by 0x4880EEF: curl_easy_init (easy.c:370) ==104149== by 0x10908A: UnknownInlinedFun (lib524.c:38) ==104149== by 0x10908A: main (first.c:220) ==104149== ==104149== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104149== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104149== by 0x4A6D258: __tsearch (tsearch.c:337) ==104149== by 0x4A6D258: tsearch (tsearch.c:290) ==104149== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104149== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104149== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104149== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104149== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104149== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104149== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104149== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104149== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104149== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104149== by 0x498986B: setlocale (setlocale.c:337) ==104149== by 0x109047: main (first.c:160) ==104149== ==104149== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104149== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104149== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104149== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104149== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104149== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104149== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104149== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104149== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104149== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104149== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104149== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104149== by 0x498986B: setlocale (setlocale.c:337) ==104149== by 0x109047: main (first.c:160) ==104149== === End of file valgrind524 test 0513...[send HTTP POST using read callback that returns CURL_READFUNC_ABORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind513 ./libtest/lib513 http://127.0.0.1:34215/513 > log/1/stdout513 2> log/1/stderr513 lib513 returned 132, when expecting 42 513: exit FAILED == Contents of files in the log/1/ dir after test 513 === Start of file http_server.log 02:02:01.647620 ====> Client connect 02:02:01.647655 accept_connection 3 returned 4 02:02:01.647675 accept_connection 3 returned 0 02:02:01.647691 Read 93 bytes 02:02:01.647703 Process 93 bytes request 02:02:01.647718 Got request: GET /verifiedserver HTTP/1.1 02:02:01.647741 Are-we-friendly question received 02:02:01.647774 Wrote request (93 bytes) input to log/1/server.input 02:02:01.647794 Identifying ourselves as friends 02:02:01.647873 Response sent (56 bytes) and written to log/1/server.response 02:02:01.647887 special request received, no persistency 02:02:01.647897 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 513 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr513 URL: http://127.0.0.1:34215/513 === End of file stderr513 === Start of file valgrind513 ==103657== ==103657== Process terminating with default action of signal 4 (SIGILL) ==103657== Illegal opcode at address 0x48EA16B ==103657== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103657== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103657== by 0x48EA16B: Curl_open (url.c:519) ==103657== by 0x4880EEF: curl_easy_init (easy.c:370) ==103657== by 0x10908A: UnknownInlinedFun (lib513.c:47) ==103657== by 0x10908A: main (first.c:220) ==103657== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103657== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103657== by 0x4A6D258: __tsearch (tsearch.c:337) ==103657== by 0x4A6D258: tsearch (tsearch.c:290) ==103657== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103657== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103657== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103657== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103657== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103657== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103657== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103657== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103657== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103657== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103657== by 0x498986B: setlocale (setlocale.c:337) ==103657== by 0x109047: main (first.c:160) ==103657== ==103657== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103657== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103657== by 0x4A6D258: __tsearch (tsearch.c:337) ==103657== by 0x4A6D258: tsearch (tsearch.c:290) ==103657== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103657== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103657== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103657== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103657== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103657== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103657== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103657== by 0x498986B: setlocale (setlocale.c:337) ==103657== by 0x109047: main (first.c:160) ==103657== ==103657== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103657== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103657== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103657== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103657== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103657== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103657== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103657== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103657== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103657== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103657== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103657== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103657== by 0x498986B: setlocale (setlocale.c:337) ==103657== by 0x109047: main (first.c:160) ==103657== ==103657== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103657== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103657== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103657== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103657== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103657== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103657== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103657== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103657== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103657== by 0x498986B: setlocale (setlocale.c:337) ==103657== by 0x109047: main (first.c:160) ==103657== ==103657== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103657== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103657== by 0x48EA143: Curl_open (url.c:510) ==103657== by 0x4880EEF: curl_easy_init (easy.c:370) ==103657== by 0x10908A: UnknownInlinedFun (lib513.c:47) ==103657== by 0x10908A: main (first.c:220) ==103657== ==103657== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103657== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103657== by 0x4A6D258: __tsearch (tsearch.c:337) ==103657== by 0x4A6D258: tsearch (tsearch.c:290) ==103657== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103657== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103657== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103657== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103657== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103657== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103657== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103657== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103657== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103657== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103657== by 0x498986B: setlocale (setlocale.c:337) ==103657== by 0x109047: main (first.c:160) ==103657== ==103657== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103657== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103657== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103657== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103657== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103657== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103657== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103657== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103657== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103657== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103657== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103657== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103657== by 0x498986B: setlocale (setlocale.c:337) ==103657== by 0x109047: main (first.c:160) ==103657== === End of file valgrind513 test 0514...[First set options to POST and then to make HEAD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind514 ./libtest/lib514 http://127.0.0.1:43753/514 > log/7/stdout514 2> log/7/stderr514 514: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 514 === Start of file http_server.log 02:02:01.648206 ====> Client connect 02:02:01.648244 accept_connection 3 returned 4 02:02:01.648263 accept_connection 3 returned 0 02:02:01.648377 Read 93 bytes 02:02:01.648395 Process 93 bytes request 02:02:01.648409 Got request: GET /verifiedserver HTTP/1.1 02:02:01.648420 Are-we-friendly question received 02:02:01.648448 Wrote request (93 bytes) input to log/7/server.input 02:02:01.648469 Identifying ourselves as friends 02:02:01.648562 Response sent (56 bytes) and written to log/7/server.response 02:02:01.648578 special request received, no persistency 02:02:01.648588 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 514 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr514 URL: http://127.0.0.1:43753/514 === End of file stderr514 === Start of file valgrind514 ==103688== ==103688== Process terminating with default action of signal 4 (SIGILL) ==103688== Illegal opcode at address 0x48EA16B ==103688== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==103688== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==103688== by 0x48EA16B: Curl_open (url.c:519) ==103688== by 0x4880EEF: curl_easy_init (easy.c:370) ==103688== by 0x10908A: UnknownInlinedFun (lib514.c:38) ==103688== by 0x10908A: main (first.c:220) ==103688== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==103688== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103688== by 0x4A6D258: __tsearch (tsearch.c:337) ==103688== by 0x4A6D258: tsearch (tsearch.c:290) ==103688== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103688== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103688== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103688== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103688== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103688== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103688== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103688== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103688== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103688== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103688== by 0x498986B: setlocale (setlocale.c:337) ==103688== by 0x109047: main (first.c:160) ==103688== ==103688== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==103688== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103688== by 0x4A6D258: __tsearch (tsearch.c:337) ==103688== by 0x4A6D258: tsearch (tsearch.c:290) ==103688== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103688== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103688== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103688== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103688== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103688== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103688== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103688== by 0x498986B: setlocale (setlocale.c:337) ==103688== by 0x109047: main (first.c:160) ==103688== ==103688== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==103688== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103688== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103688== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103688== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103688== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103688== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==103688== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==103688== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103688== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103688== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103688== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103688== by 0x498986B: setlocale (setlocale.c:337) ==103688== by 0x109047: main (first.c:160) ==103688== ==103688== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==103688== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103688== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103688== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==103688== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==103688== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103688== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103688== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103688== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103688== by 0x498986B: setlocale (setlocale.c:337) ==103688== by 0x109047: main (first.c:160) ==103688== ==103688== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==103688== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==103688== by 0x48EA143: Curl_open (url.c:510) ==103688== by 0x4880EEF: curl_easy_init (easy.c:370) ==103688== by 0x10908A: UnknownInlinedFun (lib514.c:38) ==103688== by 0x10908A: main (first.c:220) ==103688== ==103688== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==103688== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103688== by 0x4A6D258: __tsearch (tsearch.c:337) ==103688== by 0x4A6D258: tsearch (tsearch.c:290) ==103688== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==103688== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103688== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103688== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103688== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103688== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103688== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103688== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103688== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103688== by 0x4986E9D: _nl_find_localCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind526 ./libtest/lib526 ftp://127.0.0.1:36485/path/526 > log/5/stdout526 2> log/5/stderr526 e (findlocale.c:298) ==103688== by 0x498986B: setlocale (setlocale.c:337) ==103688== by 0x109047: main (first.c:160) ==103688== ==103688== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==103688== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==103688== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==103688== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==103688== by 0x497DBB2: add_alias (gconv_conf.c:178) ==103688== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==103688== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==103688== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==103688== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==103688== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==103688== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==103688== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==103688== by 0x498986B: setlocale (setlocale.c:337) ==103688== by 0x109047: main (first.c:160) ==103688== === End of file valgrind514 test 0526...[FTP RETR same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind526 ./libtest/lib526 ftp://127.0.0.1:36485/path/526 > log/5/stdout526 2> log/5/stderr526 526: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 526 === Start of file ftp_server.log 02:02:02.883691 ====> Client connect 02:02:02.883853 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:02.884179 < "USER anonymous" 02:02:02.884231 > "331 We are happy you popped in![CR][LF]" 02:02:02.884442 < "PASS ftp@example.com" 02:02:02.884478 > "230 Welcome you silly person[CR][LF]" 02:02:02.884654 < "PWD" 02:02:02.884688 > "257 "/" is current directory[CR][LF]" 02:02:02.884864 < "EPSV" 02:02:02.884890 ====> Passive DATA channel requested by client 02:02:02.884903 DATA sockfilt for passive data channel starting... 02:02:02.896205 DATA sockfilt for passive data channel started (pid 104399) 02:02:02.896344 DATA sockfilt for passive data channel listens on port 43905 02:02:02.896399 > "229 Entering Passive Mode (|||43905|)[LF]" 02:02:02.896424 Client has been notified that DATA conn will be accepted on port 43905 02:02:02.898414 Client connects to port 43905 02:02:02.898445 ====> Client established passive DATA connection on port 43905 02:02:02.898524 < "TYPE I" 02:02:02.898556 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:02.898730 < "SIZE verifiedserver" 02:02:02.898762 > "213 17[CR][LF]" 02:02:02.898905 < "RETR verifiedserver" 02:02:02.898936 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:02.899016 =====> Closing passive DATA connection... 02:02:02.899030 Server disconnects passive DATA connection 02:02:02.899260 Server disconnected passive DATA connection 02:02:02.899286 DATA sockfilt for passive data channel quits (pid 104399) 02:02:02.899524 DATA sockfilt for passive data channel quit (pid 104399) 02:02:02.899548 =====> Closed passive DATA connection 02:02:02.899576 > "226 File transfer complete[CR][LF]" 02:02:02.951844 < "QUIT" 02:02:02.951904 > "221 bye bye baby[CR][LF]" 02:02:02.962571 MAIN sockfilt said DISC 02:02:02.962633 ====> Client disconnected 02:02:02.962709 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:02.083703 ====> Client connect 02:02:02.084009 Received DATA (on stdin) 02:02:02.084026 > 160 bytes data, server => client 02:02:02.084039 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:02.084051 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:02.084061 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:02.084151 < 16 bytes data, client => server 02:02:02.084167 'USER anonymous\r\n' 02:02:02.084380 Received DATA (on stdin) 02:02:02.084395 > 33 bytes data, server => client 02:02:02.084408 '331 We are happy you popped in!\r\n' 02:02:02.084472 < 22 bytes data, client => server 02:02:02.084485 'PASS ftp@example.com\r\n' 02:02:02.084619 Received DATA (on stdin) 02:02:02.084632 > 30 bytes data, server => client 02:02:02.084643 '230 Welcome you silly person\r\n' 02:02:02.084699 < 5 bytes data, client => server 02:02:02.084711 'PWD\r\n' 02:02:02.084829 Received DATA (on stdin) 02:02:02.084842 > 30 bytes data, server => client 02:02:02.084853 '257 "/" is current directory\r\n' 02:02:02.084914 < 6 bytes data, client => server 02:02:02.084927 'EPSV\r\n' 02:02:02.096577 Received DATA (on stdin) 02:02:02.096597 > 38 bytes data, server => client 02:02:02.096610 '229 Entering Passive Mode (|||43905|)\n' 02:02:02.096823 < 8 bytes data, client => server 02:02:02.096843 'TYPE I\r\n' 02:02:02.098696 Received DATA (on stdin) 02:02:02.098710 > 33 bytes data, server => client 02:02:02.098722 '200 I modify TYPE as you wanted\r\n' 02:02:02.098786 < 21 bytes data, client => server 02:02:02.098798 'SIZE verifiedserver\r\n' 02:02:02.098900 Received DATA (on stdin) 02:02:02.098911 > 8 bytes data, server => client 02:02:02.098921 '213 17\r\n' 02:02:02.098968 < 21 bytes data, client => server 02:02:02.098979 'RETR verifiedserver\r\n' 02:02:02.099169 Received DATA (on stdin) 02:02:02.099181 > 29 bytes data, server => client 02:02:02.099192 '150 Binary junk (17 bytes).\r\n' 02:02:02.099720 Received DATA (on stdin) 02:02:02.099735 > 28 bytes data, server => client 02:02:02.099747 '226 File transfer complete\r\n' 02:02:02.148521 < 6 bytes data, client => server 02:02:02.148561 'QUIT\r\n' 02:02:02.161831 Received DATA (on stdin) 02:02:02.161864 > 18 bytes data, server => client 02:02:02.161877 '221 bye bye baby\r\n' 02:02:02.162640 ====> Client disconnect 02:02:02.162856 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:02.095961 Running IPv4 version 02:02:02.096059 Listening on port 43905 02:02:02.096111 Wrote pid 104399 to log/5/server/ftp_sockdata.pid 02:02:02.096276 Received PING (on stdin) 02:02:02.096383 Received PORT (on stdin) 02:02:02.098498 ====> Client connect 02:02:02.099220 Received DATA (on stdin) 02:02:02.099233 > 17 bytes data, server => client 02:02:02.099244 'WE ROOLZ: 80534\r\n' 02:02:02.099271 Received DISC (on stdin) 02:02:02.099284 ====> Client forcibly disconnected 02:02:02.099432 Received QUIT (on stdin) 02:02:02.099444 quits 02:02:02.099497 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 526 === End of file server.cmd === Start of file stderr526 URL: ftp://127.0.0.1:36485/path/526 === End of file stderr526 === Start of file valgrind526 ==104406== ==104406== Process terminating with default action of signal 4 (SIGILL) ==104406== Illegal opcode at address 0x48EA16B ==104406== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104406== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104406== by 0x48EA16B: Curl_open (url.c:519) ==104406== by 0x4880EEF: curl_easy_init (easy.c:370) ==104406== by 0x109288: test (lib526.c:73) ==104406== by 0x109076: main (first.c:220) ==104406== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104406== by 0x4A6D258: __tsearch (tsearch.c:337) ==104406== by 0x4A6D258: tsearch (tsearch.c:290) ==104406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104406== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104406== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind527 ./libtest/lib527 ftp://127.0.0.1:40433/path/527 > log/6/stdout527 2> log/6/stderr527 104406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104406== by 0x498986B: setlocale (setlocale.c:337) ==104406== by 0x109047: main (first.c:160) ==104406== ==104406== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104406== by 0x4A6D258: __tsearch (tsearch.c:337) ==104406== by 0x4A6D258: tsearch (tsearch.c:290) ==104406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104406== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104406== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104406== by 0x498986B: setlocale (setlocale.c:337) ==104406== by 0x109047: main (first.c:160) ==104406== ==104406== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104406== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104406== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104406== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104406== by 0x498986B: setlocale (setlocale.c:337) ==104406== by 0x109047: main (first.c:160) ==104406== ==104406== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104406== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104406== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104406== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104406== by 0x498986B: setlocale (setlocale.c:337) ==104406== by 0x109047: main (first.c:160) ==104406== ==104406== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104406== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104406== by 0x48EA143: Curl_open (url.c:510) ==104406== by 0x4880EEF: curl_easy_init (easy.c:370) ==104406== by 0x109288: test (lib526.c:73) ==104406== by 0x109076: main (first.c:220) ==104406== ==104406== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104406== by 0x4A6D258: __tsearch (tsearch.c:337) ==104406== by 0x4A6D258: tsearch (tsearch.c:290) ==104406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104406== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104406== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104406== by 0x498986B: setlocale (setlocale.c:337) ==104406== by 0x109047: main (first.c:160) ==104406== ==104406== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104406== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104406== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104406== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104406== by 0x498986B: setlocale (setlocale.c:337) ==104406== by 0x109047: main (first.c:160) ==104406== === End of file valgrind526 test 0527...[FTP RETR same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind527 ./libtest/lib527 ftp://127.0.0.1:40433/path/527 > log/6/stdout527 2> log/6/stderr527 527: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 527 === Start of file ftp_server.log 02:02:03.509916 ====> Client connect 02:02:03.510070 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:03.510374 < "USER anonymous" 02:02:03.510416 > "331 We are happy you popped in![CR][LF]" 02:02:03.520197 < "PASS ftp@example.com" 02:02:03.520254 > "230 Welcome you silly person[CR][LF]" 02:02:03.520514 < "PWD" 02:02:03.520553 > "257 "/" is current directory[CR][LF]" 02:02:03.520748 < "EPSV" 02:02:03.520775 ====> Passive DATA channel requested by client 02:02:03.520789 DATA sockfilt for passive data channel starting... 02:02:03.532756 DATA sockfilt for passive data channel started (pid 104487) 02:02:03.532909 DATA sockfilt for passive data channel listens on port 42099 02:02:03.532969 > "229 Entering Passive Mode (|||42099|)[LF]" 02:02:03.532990 Client has been notified that DATA conn will be accepted on port 42099 02:02:03.533328 Client connects to port 42099 02:02:03.533362 ====> Client established passive DATA connection on port 42099 02:02:03.533453 < "TYPE I" 02:02:03.533490 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:03.533698 < "SIZE verifiedserver" 02:02:03.533744 > "213 17[CR][LF]" 02:02:03.533930 < "RETR verifiedserver" 02:02:03.533967 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:03.534058 =====> Closing passive DATA connection... 02:02:03.534080 Server disconnects passive DATA connection 02:02:03.534365 Server disconnected passive DATA connection 02:02:03.534396 DATA sockfilt for passive data channel quits (pid 104487) 02:02:03.534622 DATA sockfilt for passive data channel quit (pid 104487) 02:02:03.534650 =====> Closed passive DATA connection 02:02:03.534681 > "226 File transfer complete[CR][LF]" 02:02:03.578713 < "QUIT" 02:02:03.578775 > "221 bye bye baby[CR][LF]" 02:02:03.584672 MAIN sockfilt said DISC 02:02:03.584737 ====> Client disconnected 02:02:03.584822 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:03.709947 ====> Client connect 02:02:03.710224 Received DATA (on stdin) 02:02:03.710240 > 160 bytes data, server => client 02:02:03.710253 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:03.710264 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:03.710275 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:03.710364 < 16 bytes data, client => server 02:02:03.710381 'USER anonymous\r\n' 02:02:03.710559 Received DATA (on stdin) 02:02:03.710573 > 33 bytes data, server => client 02:02:03.710584 '331 We are happy you popped in!\r\n' 02:02:03.710642 < 22 bytes data, client => server 02:02:03.710657 'PASS ftp@example.com\r\n' 02:02:03.720406 Received DATA (on stdin) 02:02:03.720428 > 30 bytes data, server => client 02:02:03.720440 '230 Welcome you silly person\r\n' 02:02:03.720547 < 5 bytes data, client => server 02:02:03.720562 'PWD\r\n' 02:02:03.720694 Received DATA (on stdin) 02:02:03.720706 > 30 bytes data, server => client 02:02:03.720716 '257 "/" is current directory\r\n' 02:02:03.720789 < 6 bytes data, client => server 02:02:03.720804 'EPSV\r\n' 02:02:03.733146 Received DATA (on stdin) 02:02:03.733167 > 38 bytes data, server => client 02:02:03.733179 '229 Entering Passive Mode (|||42099|)\n' 02:02:03.733374 < 8 bytes data, client => server 02:02:03.733397 'TYPE I\r\n' 02:02:03.733636 Received DATA (on stdin) 02:02:03.733651 > 33 bytes data, server => client 02:02:03.733664 '200 I modify TYPE as you wanted\r\n' 02:02:03.733732 < 21 bytes data, client => server 02:02:03.733750 'SIZE verifiedserver\r\n' 02:02:03.733891 Received DATA (on stdin) 02:02:03.733905 > 8 bytes data, server => client 02:02:03.733916 '213 17\r\n' 02:02:03.733975 < 21 bytes data, client => server 02:02:03.733990 'RETR verifiedserver\r\n' 02:02:03.734223 Received DATA (on stdin) 02:02:03.734238 > 29 bytes data, server => client 02:02:03.734250 '150 Binary junk (17 bytes).\r\n' 02:02:03.734826 Received DATA (on stdin) 02:02:03.734841 > 28 bytes data, server => client 02:02:03.734852 '226 File transfer complete\r\n' 02:02:03.778630 < 6 bytes data, client => server 02:02:03.778674 'QUIT\r\n' 02:02:03.778932 Received DATA (on stdin) 02:02:03.778950 > 18 bytes data, server => client 02:02:03.778962 '221 bye bye baby\r\n' 02:02:03.781873 ====> Client disconnect 02:02:03.787488 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:03.732512 Running IPv4 version 02:02:03.732606 Listening on port 42099 02:02:03.732649 Wrote pid 104487 to log/6/server/ftp_sockdata.pid 02:02:03.732825 Received PING (on stdin) 02:02:03.732939 Received PORT (on stdin) 02:02:03.733419 ====> Client connect 02:02:03.734308 Received DATA (on stdin) 02:02:03.734328 > 17 bytes data, server => client 02:02:03.734339 'WE ROOLZ: 80451\r\n' 02:02:03.734376 Received DISC (on stdin) 02:02:03.734393 ====> Client forcibly disconnected 02:02:03.734550 Received QUIT (on stdin) 02:02:03.734564 quits 02:02:03.734622 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 527 === End of file server.cmd === Start of file stderr527 URL: ftp://127.0.0.1:40433/path/527 === End of file stderr527 === Start of file valgrind527 ==104507== ==104507== Process terminating with default action of signal 4 (SIGILL) ==104507== Illegal opcode at address 0x48EA16B ==104507== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104507== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104507== by 0x48EA16B: Curl_open (url.c:519) ==104507== by 0x4880EEF: curl_easy_init (easy.c:370) ==104507== by 0x109288: test (lib526.c:73) ==104507== by 0x109076: main (first.c:220) ==104507== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104507== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104507== by 0x4A6D258: __tsearch (tsearch.c:337) ==104507== by 0x4A6D258: tsearch (tsearch.c:290) ==104507== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104507== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104507== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104507== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104507== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104507== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104507== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104507== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104507== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104507== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104507== by 0x498986B: setlocale (setlocale.c:337) ==104507== by 0x109047: main (first.c:160) ==104507== ==104507== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104507== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104507== by 0x4A6D258: __tsearch (tsearch.c:337) ==104507== by 0x4A6D258: tsearch (tsearch.c:290) ==104507== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104507== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104507== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104507== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104507== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104507== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104507== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104507== by 0x498986B: setlocale (setlocale.c:337) ==104507== by 0x109047: main (first.c:160) ==104507== ==104507== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104507== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104507== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104507== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104507== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104507== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104507== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104507== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104507== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104507== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104507== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104507== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104507== by 0x498986B: setlocale (setlocale.c:337) ==104507== by 0x109047: main (first.c:160) ==104507== ==104507== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104507== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104507== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104507== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104507== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104507== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104507== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104507== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104507== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104507== by 0x498986B: setlocale (setlocale.c:337) ==104507== by 0x109047: main (first.c:160) ==104507== ==104507== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104507== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104507== by 0x48EA143: Curl_open (url.c:510) ==104507== by 0x4880EEF: curl_easy_init (easy.c:370) ==104507== by 0x109288: test (lib526.c:73) ==104507== by 0x109076: main (first.c:220) ==104507== ==104507== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104507== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104507== by 0x4A6D258: __tsearch (tsearch.c:337) ==104507== by 0x4A6D258: tsearch (tsearch.c:290) ==104507== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104507== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104507== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104507== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104507== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104507== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104507== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthreaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind530 ./libtest/lib530 http://127.0.0.1:34527/file530 > log/3/stdout530 2> log/3/stderr530 d_once.c:116) ==104507== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104507== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104507== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104507== by 0x498986B: setlocale (setlocale.c:337) ==104507== by 0x109047: main (first.c:160) ==104507== ==104507== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104507== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104507== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104507== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104507== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104507== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104507== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104507== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104507== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104507== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104507== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104507== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104507== by 0x498986B: setlocale (setlocale.c:337) ==104507== by 0x109047: main (first.c:160) ==104507== === End of file valgrind527 test 0530...[multi_socket interface transfer with callbacks returning error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind530 ./libtest/lib530 http://127.0.0.1:34527/file530 > log/3/stdout530 2> log/3/stderr530 lib530 returned 132, when expecting 0 530: exit FAILED == Contents of files in the log/3/ dir after test 530 === Start of file http_server.log 02:02:04.128333 ====> Client connect 02:02:04.128376 accept_connection 3 returned 4 02:02:04.128396 accept_connection 3 returned 0 02:02:04.129271 Read 93 bytes 02:02:04.129290 Process 93 bytes request 02:02:04.129305 Got request: GET /verifiedserver HTTP/1.1 02:02:04.129314 Are-we-friendly question received 02:02:04.129345 Wrote request (93 bytes) input to log/3/server.input 02:02:04.129364 Identifying ourselves as friends 02:02:04.129428 Response sent (56 bytes) and written to log/3/server.response 02:02:04.129438 special request received, no persistency 02:02:04.129447 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 530 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr530 URL: http://127.0.0.1:34527/file530 start test: 0 0 === End of file stderr530 === Start of file valgrind530 ==104673== ==104673== Process terminating with default action of signal 4 (SIGILL) ==104673== Illegal opcode at address 0x48EA16B ==104673== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104673== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104673== by 0x48EA16B: Curl_open (url.c:519) ==104673== by 0x4880EEF: curl_easy_init (easy.c:370) ==104673== by 0x109B2E: testone (lib530.c:280) ==104673== by 0x10907D: UnknownInlinedFun (lib530.c:372) ==104673== by 0x10907D: main (first.c:220) ==104673== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104673== by 0x4A6D258: __tsearch (tsearch.c:337) ==104673== by 0x4A6D258: tsearch (tsearch.c:290) ==104673== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104673== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104673== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104673== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104673== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104673== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104673== by 0x498986B: setlocale (setlocale.c:337) ==104673== by 0x109047: main (first.c:160) ==104673== ==104673== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104673== by 0x4A6D258: __tsearch (tsearch.c:337) ==104673== by 0x4A6D258: tsearch (tsearch.c:290) ==104673== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104673== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104673== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104673== by 0x498986B: setlocale (setlocale.c:337) ==104673== by 0x109047: main (first.c:160) ==104673== ==104673== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104673== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104673== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104673== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104673== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104673== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104673== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104673== by 0x498986B: setlocale (setlocale.c:337) ==104673== by 0x109047: main (first.c:160) ==104673== ==104673== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104673== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104673== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104673== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104673== by 0x498986B: setlocale (setlocale.c:337) ==104673== by 0x109047: main (first.c:160) ==104673== ==104673== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104673== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104673== by 0x48EA143: Curl_open (url.c:510) ==104673== by 0x4880EEF: curl_easy_init (easy.c:370) ==104673== by 0x109B2E: testone (lib530.c:280) ==104673== by 0x10907D: UnknownInlinedFun (lib530.c:372) ==104673== by 0x10907D: main (first.c:220) ==104673== ==104673== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104673== by 0x4A6D258: __tsearch (tsearch.c:337) ==104673== by 0x4A6D258: tsearch (tsearch.c:290) ==104673== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104673== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==10467CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind528 ./libtest/lib526 http://127.0.0.1:43803/path/528 > log/8/stdout528 2> log/8/stderr528 3== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104673== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104673== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104673== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104673== by 0x498986B: setlocale (setlocale.c:337) ==104673== by 0x109047: main (first.c:160) ==104673== ==104673== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104673== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104673== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104673== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104673== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104673== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104673== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104673== by 0x498986B: setlocale (setlocale.c:337) ==104673== by 0x109047: main (first.c:160) ==104673== === End of file valgrind530 test 0528...[HTTP GET same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind528 ./libtest/lib526 http://127.0.0.1:43803/path/528 > log/8/stdout528 2> log/8/stderr528 528: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 528 === Start of file http_server.log 02:02:03.803831 ====> Client connect 02:02:03.803864 accept_connection 3 returned 4 02:02:03.803879 accept_connection 3 returned 0 02:02:03.803892 Read 93 bytes 02:02:03.803902 Process 93 bytes request 02:02:03.803916 Got request: GET /verifiedserver HTTP/1.1 02:02:03.803925 Are-we-friendly question received 02:02:03.803944 Wrote request (93 bytes) input to log/8/server.input 02:02:03.803959 Identifying ourselves as friends 02:02:03.804020 Response sent (56 bytes) and written to log/8/server.response 02:02:03.804030 special request received, no persistency 02:02:03.804039 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 528 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr528 URL: http://127.0.0.1:43803/path/528 === End of file stderr528 === Start of file valgrind528 ==104501== ==104501== Process terminating with default action of signal 4 (SIGILL) ==104501== Illegal opcode at address 0x48EA16B ==104501== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104501== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104501== by 0x48EA16B: Curl_open (url.c:519) ==104501== by 0x4880EEF: curl_easy_init (easy.c:370) ==104501== by 0x109288: test (lib526.c:73) ==104501== by 0x109076: main (first.c:220) ==104501== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104501== by 0x4A6D258: __tsearch (tsearch.c:337) ==104501== by 0x4A6D258: tsearch (tsearch.c:290) ==104501== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104501== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104501== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104501== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104501== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104501== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104501== by 0x498986B: setlocale (setlocale.c:337) ==104501== by 0x109047: main (first.c:160) ==104501== ==104501== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104501== by 0x4A6D258: __tsearch (tsearch.c:337) ==104501== by 0x4A6D258: tsearch (tsearch.c:290) ==104501== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104501== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104501== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104501== by 0x498986B: setlocale (setlocale.c:337) ==104501== by 0x109047: main (first.c:160) ==104501== ==104501== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104501== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104501== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104501== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104501== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104501== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104501== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104501== by 0x498986B: setlocale (setlocale.c:337) ==104501== by 0x109047: main (first.c:160) ==104501== ==104501== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104501== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104501== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104501== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104501== by 0x498986B: setlocale (setlocale.c:337) ==104501== by 0x109047: main (first.c:160) ==104501== ==104501== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104501== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104501== by 0x48EA143: Curl_open (url.c:510) ==104501== by 0x4880EEF: curl_easy_init (easy.c:370) ==104501== by 0x109288: test (lib526.c:73) ==104501== by 0x109076: main (first.c:220) ==104501== ==104501== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104501== at 0x48447A8: malloc (vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind529 ./libtest/lib529 ftp://127.0.0.1:40171/path/529 log/12/upload529 > log/12/stdout529 2> log/12/stderr529 g_replace_malloc.c:446) ==104501== by 0x4A6D258: __tsearch (tsearch.c:337) ==104501== by 0x4A6D258: tsearch (tsearch.c:290) ==104501== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104501== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104501== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104501== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104501== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104501== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104501== by 0x498986B: setlocale (setlocale.c:337) ==104501== by 0x109047: main (first.c:160) ==104501== ==104501== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104501== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104501== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104501== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104501== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104501== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104501== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104501== by 0x498986B: setlocale (setlocale.c:337) ==104501== by 0x109047: main (first.c:160) ==104501== === End of file valgrind528 test 0529...[FTP PORT upload using multi interface (weird cleanup function sequence)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind529 ./libtest/lib529 ftp://127.0.0.1:40171/path/529 log/12/upload529 > log/12/stdout529 2> log/12/stderr529 529: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 529 === Start of file ftp_server.log 02:02:03.773589 ====> Client connect 02:02:03.773760 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:03.774764 < "USER anonymous" 02:02:03.774808 > "331 We are happy you popped in![CR][LF]" 02:02:03.776348 < "PASS ftp@example.com" 02:02:03.776389 > "230 Welcome you silly person[CR][LF]" 02:02:03.776587 < "PWD" 02:02:03.776627 > "257 "/" is current directory[CR][LF]" 02:02:03.776825 < "EPSV" 02:02:03.776853 ====> Passive DATA channel requested by client 02:02:03.776868 DATA sockfilt for passive data channel starting... 02:02:03.781408 DATA sockfilt for passive data channel started (pid 104572) 02:02:03.785145 DATA sockfilt for passive data channel listens on port 46337 02:02:03.785207 > "229 Entering Passive Mode (|||46337|)[LF]" 02:02:03.785227 Client has been notified that DATA conn will be accepted on port 46337 02:02:03.785555 Client connects to port 46337 02:02:03.785586 ====> Client established passive DATA connection on port 46337 02:02:03.785670 < "TYPE I" 02:02:03.785704 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:03.785896 < "SIZE verifiedserver" 02:02:03.785939 > "213 17[CR][LF]" 02:02:03.786115 < "RETR verifiedserver" 02:02:03.786151 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:03.786235 =====> Closing passive DATA connection... 02:02:03.786253 Server disconnects passive DATA connection 02:02:03.786527 Server disconnected passive DATA connection 02:02:03.786558 DATA sockfilt for passive data channel quits (pid 104572) 02:02:03.795244 DATA sockfilt for passive data channel quit (pid 104572) 02:02:03.795294 =====> Closed passive DATA connection 02:02:03.795335 > "226 File transfer complete[CR][LF]" 02:02:03.830684 < "QUIT" 02:02:03.830744 > "221 bye bye baby[CR][LF]" 02:02:03.831726 MAIN sockfilt said DISC 02:02:03.831772 ====> Client disconnected 02:02:03.831846 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:03.973599 ====> Client connect 02:02:03.974230 Received DATA (on stdin) 02:02:03.974257 > 160 bytes data, server => client 02:02:03.974272 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:03.974285 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:03.974297 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:03.974737 < 16 bytes data, client => server 02:02:03.974761 'USER anonymous\r\n' 02:02:03.974956 Received DATA (on stdin) 02:02:03.974973 > 33 bytes data, server => client 02:02:03.974985 '331 We are happy you popped in!\r\n' 02:02:03.976348 < 22 bytes data, client => server 02:02:03.976370 'PASS ftp@example.com\r\n' 02:02:03.976535 Received DATA (on stdin) 02:02:03.976550 > 30 bytes data, server => client 02:02:03.976564 '230 Welcome you silly person\r\n' 02:02:03.976624 < 5 bytes data, client => server 02:02:03.976637 'PWD\r\n' 02:02:03.976772 Received DATA (on stdin) 02:02:03.976787 > 30 bytes data, server => client 02:02:03.976798 '257 "/" is current directory\r\n' 02:02:03.976866 < 6 bytes data, client => server 02:02:03.976880 'EPSV\r\n' 02:02:03.985379 Received DATA (on stdin) 02:02:03.985396 > 38 bytes data, server => client 02:02:03.985408 '229 Entering Passive Mode (|||46337|)\n' 02:02:03.985637 < 8 bytes data, client => server 02:02:03.985651 'TYPE I\r\n' 02:02:03.985847 Received DATA (on stdin) 02:02:03.985861 > 33 bytes data, server => client 02:02:03.985872 '200 I modify TYPE as you wanted\r\n' 02:02:03.985937 < 21 bytes data, client => server 02:02:03.985951 'SIZE verifiedserver\r\n' 02:02:03.986081 Received DATA (on stdin) 02:02:03.986094 > 8 bytes data, server => client 02:02:03.986105 '213 17\r\n' 02:02:03.986161 < 21 bytes data, client => server 02:02:03.986175 'RETR verifiedserver\r\n' 02:02:03.986523 Received DATA (on stdin) 02:02:03.986536 > 29 bytes data, server => client 02:02:03.986547 '150 Binary junk (17 bytes).\r\n' 02:02:03.995487 Received DATA (on stdin) 02:02:03.995506 > 28 bytes data, server => client 02:02:03.995521 '226 File transfer complete\r\n' 02:02:04.030632 < 6 bytes data, client => server 02:02:04.030660 'QUIT\r\n' 02:02:04.030897 Received DATA (on stdin) 02:02:04.030914 > 18 bytes data, server => client 02:02:04.030926 '221 bye bye baby\r\n' 02:02:04.031743 ====> Client disconnect 02:02:04.031913 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:03.980112 Running IPv4 version 02:02:03.980186 Listening on port 46337 02:02:03.980226 Wrote pid 104572 to log/12/server/ftp_sockdata.pid 02:02:03.980246 Received PING (on stdin) 02:02:03.982091 Received PORT (on stdin) 02:02:03.985603 ====> Client connect 02:02:03.986396 Received DATA (on stdin) 02:02:03.986411 > 17 bytes data, server => client 02:02:03.986443 'WE ROOLZ: 80450\r\n' 02:02:03.986477 Received DISC (on stdin) 02:02:03.986491 ====> Client forcibly disconnected 02:02:03.986707 Received QUIT (on stdin) 02:02:03.986720 quits 02:02:03.995212 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 529 === End of file server.cmd === Start of file stderr529 URL: ftp://127.0.0.1:40171/path/529 === End of file stderr529 === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 ==104605== ==104605== Process terminating with default action of signal 4 (SIGILL) ==104605== Illegal opcode at address 0x48EA16B ==104605== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind533 ./libtest/lib533 ftp://127.0.0.1:42661/path/533 ftp://127.0.0.1:42661/path/533 > log/10/stdout533 2> log/10/stderr533 605== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104605== by 0x48EA16B: Curl_open (url.c:519) ==104605== by 0x4880EEF: curl_easy_init (easy.c:370) ==104605== by 0x10931B: test (lib525.c:82) ==104605== by 0x109087: main (first.c:220) ==104605== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==104605== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104605== by 0x4A6D258: __tsearch (tsearch.c:337) ==104605== by 0x4A6D258: tsearch (tsearch.c:290) ==104605== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104605== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104605== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104605== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104605== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104605== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104605== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104605== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104605== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104605== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104605== by 0x498986B: setlocale (setlocale.c:337) ==104605== by 0x109047: main (first.c:160) ==104605== ==104605== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==104605== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104605== by 0x4A6D258: __tsearch (tsearch.c:337) ==104605== by 0x4A6D258: tsearch (tsearch.c:290) ==104605== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104605== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104605== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104605== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104605== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104605== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104605== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104605== by 0x498986B: setlocale (setlocale.c:337) ==104605== by 0x109047: main (first.c:160) ==104605== ==104605== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==104605== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104605== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104605== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104605== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104605== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104605== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104605== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104605== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104605== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104605== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104605== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104605== by 0x498986B: setlocale (setlocale.c:337) ==104605== by 0x109047: main (first.c:160) ==104605== ==104605== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==104605== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104605== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104605== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104605== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104605== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104605== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104605== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104605== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104605== by 0x498986B: setlocale (setlocale.c:337) ==104605== by 0x109047: main (first.c:160) ==104605== ==104605== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==104605== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104605== by 0x48EA143: Curl_open (url.c:510) ==104605== by 0x4880EEF: curl_easy_init (easy.c:370) ==104605== by 0x10931B: test (lib525.c:82) ==104605== by 0x109087: main (first.c:220) ==104605== ==104605== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==104605== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104605== by 0x4A6D258: __tsearch (tsearch.c:337) ==104605== by 0x4A6D258: tsearch (tsearch.c:290) ==104605== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104605== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104605== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104605== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104605== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104605== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104605== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104605== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104605== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104605== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104605== by 0x498986B: setlocale (setlocale.c:337) ==104605== by 0x109047: main (first.c:160) ==104605== ==104605== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==104605== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104605== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104605== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104605== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104605== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104605== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104605== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104605== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104605== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104605== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104605== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104605== by 0x498986B: setlocale (setlocale.c:337) ==104605== by 0x109047: main (first.c:160) ==104605== === End of file valgrind529 test 0533...[FTP RETR a non-existing file twice using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind533 ./libtest/lib533 ftp://127.0.0.1:42661/path/533 ftp://127.0.0.1:42661/path/533 > log/10/stdout533 2> log/10/stderr533 533: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 533 === Start of file ftp_server.log 02:02:04.038698 ====> Client connect 02:02:04.038854 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:04.039212 < "USER anonymous" 02:02:04.039253 > "331 We are happy you popped in![CR][LF]" 02:02:04.039448 < "PASS ftp@example.com" 02:02:04.039478 > "230 Welcome you silly person[CR][LF]" 02:02:04.039645 < "PWD" 02:02:04.039678 > "257 "/" is current directory[CR][LF]" 02:02:04.039859 < "EPSV" 02:02:04.039886 ====> Passive DATA channel requested by client 02:02:04.039899 DATA sockfilt for passive data channel starting... 02:02:04.046670 DATA sockfilt for passive data channel started (pid 104737) 02:02:04.046786 DATA sockfilt for passive data channel listens on port 44587 02:02:04.046830 > "229 Entering Passive Mode (|||44587|)[LF]" 02:02:04.046848 Client has been notified that DATA conn will be accepted on port 44587 02:02:04.047102 Client connects to port 44587 02:02:04.047131 ====> Client established passive DATA connection on port 44587 02:02:04.047205 < "TYPE I" 02:02:04.047235 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:04.047405 < "SIZE verifiedserver" 02:02:04.047444 > "213 17[CR][LF]" 02:02:04.047603 < "RETR verifiedserver" 02:02:04.047636 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:04.047709 =====> Closing passive DATA connection... 02:02:04.047725 Server disconnects passive DATA connection 02:02:04.047955 Server disconnected passive DATA connection 02:02:04.047984 DATA sockfilt for passive data channel quits (pid 104737) 02:02:04.048172 DATA sockfilt for passive data channel quit (pid 104737) 02:02:04.048197 =====> Closed passive DATA connection 02:02:04.048223 > "226 File transfer complete[CR][LF]" 02:02:04.103375 < "QUIT" 02:02:04.103425 > "221 bye bye baby[CR][LF]" 02:02:04.105079 MAIN sockfilt said DISC 02:02:04.105138 ====> Client disconnected 02:02:04.105206 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:04.231846 ====> Client connect 02:02:04.239013 Received DATA (on stdin) 02:02:04.239032 > 160 bytes data, server => client 02:02:04.239046 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:04.239058 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:04.239069 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:04.239197 < 16 bytes data, client => server 02:02:04.239213 'USER anonymous\r\n' 02:02:04.239397 Received DATA (on stdin) 02:02:04.239411 > 33 bytes data, server => client 02:02:04.239422 '331 We are happy you popped in!\r\n' 02:02:04.239485 < 22 bytes data, client => server 02:02:04.239499 'PASS ftp@example.com\r\n' 02:02:04.239618 Received DATA (on stdin) 02:02:04.239631 > 30 bytes data, server => client 02:02:04.239641 '230 Welcome you silly person\r\n' 02:02:04.239695 < 5 bytes data, client => server 02:02:04.239709 'PWD\r\n' 02:02:04.239820 Received DATA (on stdin) 02:02:04.239833 > 30 bytes data, server => client 02:02:04.239844 '257 "/" is current directory\r\n' 02:02:04.239909 < 6 bytes data, client => server 02:02:04.239922 'EPSV\r\n' 02:02:04.246998 Received DATA (on stdin) 02:02:04.247014 > 38 bytes data, server => client 02:02:04.247027 '229 Entering Passive Mode (|||44587|)\n' 02:02:04.247158 < 8 bytes data, client => server 02:02:04.247176 'TYPE I\r\n' 02:02:04.247375 Received DATA (on stdin) 02:02:04.247387 > 33 bytes data, server => client 02:02:04.247398 '200 I modify TYPE as you wanted\r\n' 02:02:04.247453 < 21 bytes data, client => server 02:02:04.247466 'SIZE verifiedserver\r\n' 02:02:04.247584 Received DATA (on stdin) 02:02:04.247596 > 8 bytes data, server => client 02:02:04.247606 '213 17\r\n' 02:02:04.247657 < 21 bytes data, client => server 02:02:04.247670 'RETR verifiedserver\r\n' 02:02:04.247865 Received DATA (on stdin) 02:02:04.247877 > 29 bytes data, server => client 02:02:04.247888 '150 Binary junk (17 bytes).\r\n' 02:02:04.248364 Received DATA (on stdin) 02:02:04.248378 > 28 bytes data, server => client 02:02:04.248389 '226 File transfer complete\r\n' 02:02:04.301921 < 6 bytes data, client => server 02:02:04.301947 'QUIT\r\n' 02:02:04.303575 Received DATA (on stdin) 02:02:04.303592 > 18 bytes data, server => client 02:02:04.303603 '221 bye bye baby\r\n' 02:02:04.304355 ====> Client disconnect 02:02:04.305351 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:04.245909 Running IPv4 version 02:02:04.245965 Listening on port 44587 02:02:04.246008 Wrote pid 104737 to log/10/server/ftp_sockdata.pid 02:02:04.246740 Received PING (on stdin) 02:02:04.246836 Received PORT (on stdin) 02:02:04.247195 ====> Client connect 02:02:04.247917 Received DATA (on stdin) 02:02:04.247931 > 17 bytes data, server => client 02:02:04.247942 'WE ROOLZ: 80449\r\n' 02:02:04.247970 Received DISC (on stdin) 02:02:04.247984 ====> Client forcibly disconnected 02:02:04.248131 Received QUIT (on stdin) 02:02:04.248144 quits 02:02:04.248190 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist REPLY SIZE 500 Can't check for file existence Testnum 533 === End of file server.cmd === Start of file stderr533 URL: ftp://127.0.0.1:42661/path/533 === End of file stderr533 === Start of file valgrind533 ==104803== ==104803== Process terminating with default action of signal 4 (SIGILL) ==104803== Illegal opcode at address 0x48EA16B ==104803== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104803== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104803== by 0x48EA16B: Curl_open (url.c:519) ==104803== by 0x4880EEF: curl_easy_init (easy.c:370) ==104803== by 0x109311: test.part.0 (lib533.c:48) ==104803== by 0x1090AF: UnknownInlinedFun (lib533.c:46) ==104803== by 0x1090AF: main (first.c:220) ==104803== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104803== by 0x4A6D258: __tsearch (tsearch.c:337) ==104803== by 0x4A6D258: tsearch (tsearch.c:290) ==104803== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104803== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104803== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104803== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104803== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104803== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104803== by 0x498986B: setlocale (setlocale.c:337) ==104803== by 0x109047: main (first.c:160) ==104803== ==104803== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104803== by 0x4A6D258: __tsearch (tsearch.c:337) ==104803== by 0x4A6D258: tsearch (tsearch.c:290) ==104803== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104803== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104803== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104803== by 0x498986B: setlocale (setlocale.c:337) ==104803== by 0x109047: main (first.c:160) ==104803== ==104803== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104803== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104803== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104803== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104803== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104803== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104803== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104803== by 0x498986B: setlocale (setlocale.c:337) ==104803== by 0x109047: main (first.c:160) ==104803== ==104803== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104803== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104803== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104803== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104803== by 0x498986B: setlocale (setlocale.c:337) ==104803== by 0x109047: main (firsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind531 ./libtest/lib525 ftp://127.0.0.1:45687/path/531 log/11/upload531 > log/11/stdout531 2> log/11/stderr531 t.c:160) ==104803== ==104803== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104803== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104803== by 0x48EA143: Curl_open (url.c:510) ==104803== by 0x4880EEF: curl_easy_init (easy.c:370) ==104803== by 0x109311: test.part.0 (lib533.c:48) ==104803== by 0x1090AF: UnknownInlinedFun (lib533.c:46) ==104803== by 0x1090AF: main (first.c:220) ==104803== ==104803== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104803== by 0x4A6D258: __tsearch (tsearch.c:337) ==104803== by 0x4A6D258: tsearch (tsearch.c:290) ==104803== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104803== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104803== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104803== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104803== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104803== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104803== by 0x498986B: setlocale (setlocale.c:337) ==104803== by 0x109047: main (first.c:160) ==104803== ==104803== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104803== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104803== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104803== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104803== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104803== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104803== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104803== by 0x498986B: setlocale (setlocale.c:337) ==104803== by 0x109047: main (first.c:160) ==104803== === End of file valgrind533 test 0531...[FTP PORT upload using multi interface and get 425 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind531 ./libtest/lib525 ftp://127.0.0.1:45687/path/531 log/11/upload531 > log/11/stdout531 2> log/11/stderr531 531: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 531 === Start of file ftp_server.log 02:02:04.002002 ====> Client connect 02:02:04.002179 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:04.002505 < "USER anonymous" 02:02:04.002548 > "331 We are happy you popped in![CR][LF]" 02:02:04.002757 < "PASS ftp@example.com" 02:02:04.002798 > "230 Welcome you silly person[CR][LF]" 02:02:04.002987 < "PWD" 02:02:04.003027 > "257 "/" is current directory[CR][LF]" 02:02:04.003224 < "EPSV" 02:02:04.003253 ====> Passive DATA channel requested by client 02:02:04.003270 DATA sockfilt for passive data channel starting... 02:02:04.005056 DATA sockfilt for passive data channel started (pid 104711) 02:02:04.005162 DATA sockfilt for passive data channel listens on port 46651 02:02:04.005205 > "229 Entering Passive Mode (|||46651|)[LF]" 02:02:04.005225 Client has been notified that DATA conn will be accepted on port 46651 02:02:04.005480 Client connects to port 46651 02:02:04.005513 ====> Client established passive DATA connection on port 46651 02:02:04.005582 < "TYPE I" 02:02:04.005611 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:04.005784 < "SIZE verifiedserver" 02:02:04.005823 > "213 17[CR][LF]" 02:02:04.006001 < "RETR verifiedserver" 02:02:04.006041 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:04.006131 =====> Closing passive DATA connection... 02:02:04.006151 Server disconnects passive DATA connection 02:02:04.006406 Server disconnected passive DATA connection 02:02:04.006437 DATA sockfilt for passive data channel quits (pid 104711) 02:02:04.006634 DATA sockfilt for passive data channel quit (pid 104711) 02:02:04.006659 =====> Closed passive DATA connection 02:02:04.006688 > "226 File transfer complete[CR][LF]" 02:02:04.055213 < "QUIT" 02:02:04.055261 > "221 bye bye baby[CR][LF]" 02:02:04.056111 MAIN sockfilt said DISC 02:02:04.056152 ====> Client disconnected 02:02:04.056214 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:04.202017 ====> Client connect 02:02:04.202344 Received DATA (on stdin) 02:02:04.202365 > 160 bytes data, server => client 02:02:04.202378 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:04.202391 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:04.202402 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:04.202483 < 16 bytes data, client => server 02:02:04.202501 'USER anonymous\r\n' 02:02:04.202696 Received DATA (on stdin) 02:02:04.202711 > 33 bytes data, server => client 02:02:04.202723 '331 We are happy you popped in!\r\n' 02:02:04.202783 < 22 bytes data, client => server 02:02:04.202800 'PASS ftp@example.com\r\n' 02:02:04.202943 Received DATA (on stdin) 02:02:04.202958 > 30 bytes data, server => client 02:02:04.202969 '230 Welcome you silly person\r\n' 02:02:04.203026 < 5 bytes data, client => server 02:02:04.203042 'PWD\r\n' 02:02:04.203172 Received DATA (on stdin) 02:02:04.203185 > 30 bytes data, server => client 02:02:04.203196 '257 "/" is current directory\r\n' 02:02:04.203267 < 6 bytes data, client => server 02:02:04.203284 'EPSV\r\n' 02:02:04.205373 Received DATA (on stdin) 02:02:04.205389 > 38 bytes data, server => client 02:02:04.205402 '229 Entering Passive Mode (|||46651|)\n' 02:02:04.205532 < 8 bytes data, client => server 02:02:04.205551 'TYPE I\r\n' 02:02:04.205754 Received DATA (on stdin) 02:02:04.205767 > 33 bytes data, server => client 02:02:04.205779 '200 I modify TYPE as you wanted\r\n' 02:02:04.205836 < 21 bytes data, client => server 02:02:04.205850 'SIZE verifiedserver\r\n' 02:02:04.205966 Received DATA (on stdin) 02:02:04.205980 > 8 bytes data, server => client 02:02:04.205990 '213 17\r\n' 02:02:04.206045 < 21 bytes data, client => server 02:02:04.206063 'RETR verifiedserver\r\n' 02:02:04.206402 Received DATA (on stdin) 02:02:04.206416 > 29 bytes data, server => client 02:02:04.206428 '150 Binary junk (17 bytes).\r\n' 02:02:04.206830 Received DATA (on stdin) 02:02:04.206845 > 28 bytes data, server => client 02:02:04.206857 '226 File transfer complete\r\n' 02:02:04.255173 < 6 bytes data, client => server 02:02:04.255210 'QUIT\r\n' 02:02:04.255403 Received DATA (on stdin) 02:02:04.255415 > 18 bytes data, server => client 02:02:04.255427 '221 bye bye baby\r\n' 02:02:04.256192 ====> Client disconnect 02:02:04.256353 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:03.204861 Running IPv4 version 02:02:03.204921 Listening on port 46651 02:02:03.204962 Wrote pid 104711 to log/11/server/ftp_sockdata.pid 02:02:03.205131 Received PING (on stdin) 02:02:03.205219 Received PORT (on stdin) 02:02:03.205573 ====> Client connect 02:02:03.206293 Received DATA (on stdin) 02:02:03.206308 > 17 bytes data, server => client 02:02:03.206324 'WE ROOLZ: 80480\r\n' 02:02:03.206358 Received DISC (on stdin) 02:02:03.206373 ====> Client forcibly disconnected 02:02:03.206591 Received QUIT (on stdin) 02:02:03.206605 quits 02:02:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind532 ./libtest/lib532 ftp://127.0.0.1:36595/path/532 > log/2/stdout532 2> log/2/stderr532 03.206653 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY STOR 425 Permission Denied. File Exists. Testnum 531 === End of file server.cmd === Start of file stderr531 URL: ftp://127.0.0.1:45687/path/531 === End of file stderr531 === Start of file upload531 Moooooooooooo don't upload this === End of file upload531 === Start of file valgrind531 ==104759== ==104759== Process terminating with default action of signal 4 (SIGILL) ==104759== Illegal opcode at address 0x48EA16B ==104759== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104759== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104759== by 0x48EA16B: Curl_open (url.c:519) ==104759== by 0x4880EEF: curl_easy_init (easy.c:370) ==104759== by 0x10931B: test (lib525.c:82) ==104759== by 0x109087: main (first.c:220) ==104759== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==104759== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104759== by 0x4A6D258: __tsearch (tsearch.c:337) ==104759== by 0x4A6D258: tsearch (tsearch.c:290) ==104759== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104759== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104759== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104759== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104759== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104759== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104759== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104759== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104759== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104759== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104759== by 0x498986B: setlocale (setlocale.c:337) ==104759== by 0x109047: main (first.c:160) ==104759== ==104759== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==104759== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104759== by 0x4A6D258: __tsearch (tsearch.c:337) ==104759== by 0x4A6D258: tsearch (tsearch.c:290) ==104759== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104759== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104759== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104759== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104759== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104759== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104759== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104759== by 0x498986B: setlocale (setlocale.c:337) ==104759== by 0x109047: main (first.c:160) ==104759== ==104759== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==104759== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104759== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104759== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104759== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104759== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104759== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104759== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104759== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104759== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104759== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104759== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104759== by 0x498986B: setlocale (setlocale.c:337) ==104759== by 0x109047: main (first.c:160) ==104759== ==104759== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==104759== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104759== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104759== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104759== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104759== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104759== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104759== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104759== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104759== by 0x498986B: setlocale (setlocale.c:337) ==104759== by 0x109047: main (first.c:160) ==104759== ==104759== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==104759== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104759== by 0x48EA143: Curl_open (url.c:510) ==104759== by 0x4880EEF: curl_easy_init (easy.c:370) ==104759== by 0x10931B: test (lib525.c:82) ==104759== by 0x109087: main (first.c:220) ==104759== ==104759== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==104759== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104759== by 0x4A6D258: __tsearch (tsearch.c:337) ==104759== by 0x4A6D258: tsearch (tsearch.c:290) ==104759== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104759== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104759== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104759== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104759== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104759== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104759== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104759== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104759== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104759== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104759== by 0x498986B: setlocale (setlocale.c:337) ==104759== by 0x109047: main (first.c:160) ==104759== ==104759== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==104759== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104759== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104759== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104759== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104759== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104759== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104759== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104759== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104759== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104759== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104759== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104759== by 0x498986B: setlocale (setlocale.c:337) ==104759== by 0x109047: main (first.c:160) ==104759== === End of file valgrind531 test 0532...[FTP RETR same file using reset handles between each transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind532 ./libtest/lib532 ftp://127.0.0.1:36595/path/532 > log/2/stdout532 2> log/2/stderr532 532: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 532 === Start of file ftp_server.log 02:02:04.038399 ====> Client connect 02:02:04.038573 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:04.039789 < "USER anonymous" 02:02:04.039822 > "331 We are happy you popped in![CR][LF]" 02:02:04.039985 < "PASS ftp@example.com" 02:02:04.040008 > "230 Welcome you silly person[CR][LF]" 02:02:04.040156 < "PWD" 02:02:04.040252 > "257 "/" is current directory[CR][LF]" 02:02:04.040416 < "EPSV" 02:02:04.040441 ====> Passive DATA channel requested by client 02:02:04.040454 DATA sockfilt for passive data channel starting... 02:02:04.043640 DATA sockfilt for passive data channel started (pid 104738) 02:02:04.043734 DATA sockfilt for passive data channel listens on port 37891 02:02:04.043768 > "229 Entering Passive Mode (|||37891|)[LF]" 02:02:04.043785 Client has been notified that DATA conn will be accepted on port 37891 02:02:04.044007 Client connects to port 37891 02:02:04.044034 ====> Client established passive DATA connection on port 37891 02:02:04.044135 < "TYPE I" 02:02:04.044160 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:04.044306 < "SIZE verifiedserver" 02:02:04.044338 > "213 17[CR][LF]" 02:02:04.044478 < "RETR verifiedserver" 02:02:04.044503 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:04.044570 =====> Closing passive DATA connection... 02:02:04.044584 Server disconnects passive DATA connection 02:02:04.044803 Server disconnected passive DATA connection 02:02:04.044828 DATA sockfilt for passive data channel quits (pid 104738) 02:02:04.045024 DATA sockfilt for passive data channel quit (pid 104738) 02:02:04.045080 =====> Closed passive DATA connection 02:02:04.045105 > "226 File transfer complete[CR][LF]" 02:02:04.089343 < "QUIT" 02:02:04.091238 > "221 bye bye baby[CR][LF]" 02:02:04.103114 MAIN sockfilt said DISC 02:02:04.103181 ====> Client disconnected 02:02:04.103249 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:04.235184 ====> Client connect 02:02:04.239637 Received DATA (on stdin) 02:02:04.239660 > 160 bytes data, server => client 02:02:04.239673 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:04.239685 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:04.239696 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:04.239799 < 16 bytes data, client => server 02:02:04.239813 'USER anonymous\r\n' 02:02:04.239962 Received DATA (on stdin) 02:02:04.239980 > 33 bytes data, server => client 02:02:04.239991 '331 We are happy you popped in!\r\n' 02:02:04.240044 < 22 bytes data, client => server 02:02:04.240056 'PASS ftp@example.com\r\n' 02:02:04.240146 Received DATA (on stdin) 02:02:04.240158 > 30 bytes data, server => client 02:02:04.240169 '230 Welcome you silly person\r\n' 02:02:04.240218 < 5 bytes data, client => server 02:02:04.240229 'PWD\r\n' 02:02:04.240392 Received DATA (on stdin) 02:02:04.240405 > 30 bytes data, server => client 02:02:04.240416 '257 "/" is current directory\r\n' 02:02:04.240476 < 6 bytes data, client => server 02:02:04.240488 'EPSV\r\n' 02:02:04.243929 Received DATA (on stdin) 02:02:04.243944 > 38 bytes data, server => client 02:02:04.243955 '229 Entering Passive Mode (|||37891|)\n' 02:02:04.244185 < 8 bytes data, client => server 02:02:04.244197 'TYPE I\r\n' 02:02:04.244297 Received DATA (on stdin) 02:02:04.244308 > 33 bytes data, server => client 02:02:04.244318 '200 I modify TYPE as you wanted\r\n' 02:02:04.244366 < 21 bytes data, client => server 02:02:04.244379 'SIZE verifiedserver\r\n' 02:02:04.244475 Received DATA (on stdin) 02:02:04.244486 > 8 bytes data, server => client 02:02:04.244496 '213 17\r\n' 02:02:04.244543 < 21 bytes data, client => server 02:02:04.244554 'RETR verifiedserver\r\n' 02:02:04.244814 Received DATA (on stdin) 02:02:04.244826 > 29 bytes data, server => client 02:02:04.244837 '150 Binary junk (17 bytes).\r\n' 02:02:04.245245 Received DATA (on stdin) 02:02:04.245257 > 28 bytes data, server => client 02:02:04.245267 '226 File transfer complete\r\n' 02:02:04.289299 < 6 bytes data, client => server 02:02:04.289327 'QUIT\r\n' 02:02:04.297492 Received DATA (on stdin) 02:02:04.297519 > 18 bytes data, server => client 02:02:04.297531 '221 bye bye baby\r\n' 02:02:04.303175 ====> Client disconnect 02:02:04.303397 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:04.242564 Running IPv4 version 02:02:04.242613 Listening on port 37891 02:02:04.242658 Wrote pid 104738 to log/2/server/ftp_sockdata.pid 02:02:04.243715 Received PING (on stdin) 02:02:04.243799 Received PORT (on stdin) 02:02:04.244099 ====> Client connect 02:02:04.244723 Received DATA (on stdin) 02:02:04.244735 > 17 bytes data, server => client 02:02:04.244746 'WE ROOLZ: 80457\r\n' 02:02:04.244775 Received DISC (on stdin) 02:02:04.244787 ====> Client forcibly disconnected 02:02:04.244981 Received QUIT (on stdin) 02:02:04.244994 quits 02:02:04.245048 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 532 === End of file server.cmd === Start of file stderr532 URL: ftp://127.0.0.1:36595/path/532 === End of file stderr532 === Start of file valgrind532 ==104796== ==104796== Process terminating with default action of signal 4 (SIGILL) ==104796== Illegal opcode at address 0x48EA16B ==104796== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104796== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104796== by 0x48EA16B: Curl_open (url.c:519) ==104796== by 0x4880EEF: curl_easy_init (easy.c:370) ==104796== by 0x1092DE: test (lib526.c:73) ==104796== by 0x109076: main (first.c:220) ==104796== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104796== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104796== by 0x4A6D258: __tsearch (tsearch.c:337) ==104796== by 0x4A6D258: tsearch (tsearch.c:290) ==104796== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104796== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104796== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104796== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104796== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104796== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104796== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104796== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104796== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104796== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104796== by 0x498986B: setlocale (setlocale.c:337) ==104796== by 0x109047: main (first.c:160) ==104796== ==104796== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104796== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104796== by 0x4A6D258: __tsearch (tsearch.c:337) ==104796== by 0x4A6D258: tsearch (tsearch.c:290) ==104796== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104796== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104796== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104796== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104796== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104796== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104796== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104796== by 0x498986B: setlocale (setlocale.c:337) ==104796== by 0x109047: main (first.c:160) ==104796== ==104796== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104796== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104796== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104796== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104796== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104796== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104796== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104796== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104796== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104796== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104796== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104796== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104796== by 0x498986B: setlocale (setlocale.c:337) ==104796== by 0x109047: main (first.c:160) ==104796== ==104796== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104796== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104796== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104796== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104796== by 0x497DFCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind534 ./libtest/lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:35301/path/534 > log/9/stdout534 2> log/9/stderr534 3B: __gconv_read_conf (gconv_conf.c:508) ==104796== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104796== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104796== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104796== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104796== by 0x498986B: setlocale (setlocale.c:337) ==104796== by 0x109047: main (first.c:160) ==104796== ==104796== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104796== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104796== by 0x48EA143: Curl_open (url.c:510) ==104796== by 0x4880EEF: curl_easy_init (easy.c:370) ==104796== by 0x1092DE: test (lib526.c:73) ==104796== by 0x109076: main (first.c:220) ==104796== ==104796== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104796== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104796== by 0x4A6D258: __tsearch (tsearch.c:337) ==104796== by 0x4A6D258: tsearch (tsearch.c:290) ==104796== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104796== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104796== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104796== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104796== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104796== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104796== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104796== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104796== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104796== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104796== by 0x498986B: setlocale (setlocale.c:337) ==104796== by 0x109047: main (first.c:160) ==104796== ==104796== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104796== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104796== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104796== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104796== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104796== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104796== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104796== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104796== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104796== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104796== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104796== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104796== by 0x498986B: setlocale (setlocale.c:337) ==104796== by 0x109047: main (first.c:160) ==104796== === End of file valgrind532 test 0534...[FTP RETR twice using multi: non-existing host and non-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind534 ./libtest/lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:35301/path/534 > log/9/stdout534 2> log/9/stderr534 534: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 534 === Start of file ftp_server.log 02:02:04.181831 ====> Client connect 02:02:04.181997 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:04.182329 < "USER anonymous" 02:02:04.182369 > "331 We are happy you popped in![CR][LF]" 02:02:04.182577 < "PASS ftp@example.com" 02:02:04.182618 > "230 Welcome you silly person[CR][LF]" 02:02:04.182817 < "PWD" 02:02:04.182859 > "257 "/" is current directory[CR][LF]" 02:02:04.183062 < "EPSV" 02:02:04.183090 ====> Passive DATA channel requested by client 02:02:04.183105 DATA sockfilt for passive data channel starting... 02:02:04.192365 DATA sockfilt for passive data channel started (pid 104863) 02:02:04.192516 DATA sockfilt for passive data channel listens on port 33107 02:02:04.192577 > "229 Entering Passive Mode (|||33107|)[LF]" 02:02:04.192599 Client has been notified that DATA conn will be accepted on port 33107 02:02:04.195601 Client connects to port 33107 02:02:04.195639 ====> Client established passive DATA connection on port 33107 02:02:04.195736 < "TYPE I" 02:02:04.195779 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:04.198627 < "SIZE verifiedserver" 02:02:04.198683 > "213 17[CR][LF]" 02:02:04.198886 < "RETR verifiedserver" 02:02:04.198931 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:04.199022 =====> Closing passive DATA connection... 02:02:04.199044 Server disconnects passive DATA connection 02:02:04.205084 Server disconnected passive DATA connection 02:02:04.205134 DATA sockfilt for passive data channel quits (pid 104863) 02:02:04.205406 DATA sockfilt for passive data channel quit (pid 104863) 02:02:04.205439 =====> Closed passive DATA connection 02:02:04.205480 > "226 File transfer complete[CR][LF]" 02:02:04.245314 < "QUIT" 02:02:04.245362 > "221 bye bye baby[CR][LF]" 02:02:04.246298 MAIN sockfilt said DISC 02:02:04.246341 ====> Client disconnected 02:02:04.246413 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:04.381844 ====> Client connect 02:02:04.382155 Received DATA (on stdin) 02:02:04.382173 > 160 bytes data, server => client 02:02:04.382186 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:04.382198 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:04.382209 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:04.382309 < 16 bytes data, client => server 02:02:04.382323 'USER anonymous\r\n' 02:02:04.382513 Received DATA (on stdin) 02:02:04.382526 > 33 bytes data, server => client 02:02:04.382537 '331 We are happy you popped in!\r\n' 02:02:04.382601 < 22 bytes data, client => server 02:02:04.382617 'PASS ftp@example.com\r\n' 02:02:04.382763 Received DATA (on stdin) 02:02:04.382778 > 30 bytes data, server => client 02:02:04.382790 '230 Welcome you silly person\r\n' 02:02:04.382853 < 5 bytes data, client => server 02:02:04.382870 'PWD\r\n' 02:02:04.383005 Received DATA (on stdin) 02:02:04.383019 > 30 bytes data, server => client 02:02:04.383030 '257 "/" is current directory\r\n' 02:02:04.383101 < 6 bytes data, client => server 02:02:04.383118 'EPSV\r\n' 02:02:04.395170 Received DATA (on stdin) 02:02:04.395200 > 38 bytes data, server => client 02:02:04.395214 '229 Entering Passive Mode (|||33107|)\n' 02:02:04.395415 < 8 bytes data, client => server 02:02:04.395435 'TYPE I\r\n' 02:02:04.398507 Received DATA (on stdin) 02:02:04.398531 > 33 bytes data, server => client 02:02:04.398544 '200 I modify TYPE as you wanted\r\n' 02:02:04.398626 < 21 bytes data, client => server 02:02:04.398644 'SIZE verifiedserver\r\n' 02:02:04.398829 Received DATA (on stdin) 02:02:04.398844 > 8 bytes data, server => client 02:02:04.398854 '213 17\r\n' 02:02:04.398919 < 21 bytes data, client => server 02:02:04.398936 'RETR verifiedserver\r\n' 02:02:04.399189 Received DATA (on stdin) 02:02:04.399203 > 29 bytes data, server => client 02:02:04.399215 '150 Binary junk (17 bytes).\r\n' 02:02:04.405634 Received DATA (on stdin) 02:02:04.405652 > 28 bytes data, server => client 02:02:04.405664 '226 File transfer complete\r\n' 02:02:04.445266 < 6 bytes data, client => server 02:02:04.445300 'QUIT\r\n' 02:02:04.445507 Received DATA (on stdin) 02:02:04.445521 > 18 bytes data, server => client 02:02:04.445532 '221 bye bye baby\r\n' 02:02:04.446375 ====> Client disconnect 02:02:04.446551 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:04.389575 Running IPv4 version 02:02:04.389632 Listening on port 33107 02:02:04.389671 Wrote pid 104863 to log/9/server/ftp_sockdata.pid 02:02:04.392428 Received PING (on stdinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind535 ./libtest/lib533 http://127.0.0.1:36813/535 http://127.0.0.1:36813/5350001 > log/4/stdout535 2> log/4/stderr535 ) 02:02:04.392548 Received PORT (on stdin) 02:02:04.395684 ====> Client connect 02:02:04.401834 Received DATA (on stdin) 02:02:04.401861 > 17 bytes data, server => client 02:02:04.401874 'WE ROOLZ: 80452\r\n' 02:02:04.401925 Received DISC (on stdin) 02:02:04.401944 ====> Client forcibly disconnected 02:02:04.405299 Received QUIT (on stdin) 02:02:04.405316 quits 02:02:04.405385 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist REPLY SIZE 500 Can't check for file existence Testnum 534 === End of file server.cmd === Start of file stderr534 URL: ftp://non-existing-host.haxx.se/path/534 === End of file stderr534 === Start of file valgrind534 ==104948== ==104948== Process terminating with default action of signal 4 (SIGILL) ==104948== Illegal opcode at address 0x48EA16B ==104948== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104948== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104948== by 0x48EA16B: Curl_open (url.c:519) ==104948== by 0x4880EEF: curl_easy_init (easy.c:370) ==104948== by 0x109311: test.part.0 (lib533.c:48) ==104948== by 0x1090AF: UnknownInlinedFun (lib533.c:46) ==104948== by 0x1090AF: main (first.c:220) ==104948== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104948== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104948== by 0x4A6D258: __tsearch (tsearch.c:337) ==104948== by 0x4A6D258: tsearch (tsearch.c:290) ==104948== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104948== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104948== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104948== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104948== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104948== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104948== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104948== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104948== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104948== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104948== by 0x498986B: setlocale (setlocale.c:337) ==104948== by 0x109047: main (first.c:160) ==104948== ==104948== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104948== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104948== by 0x4A6D258: __tsearch (tsearch.c:337) ==104948== by 0x4A6D258: tsearch (tsearch.c:290) ==104948== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104948== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104948== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104948== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104948== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104948== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104948== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104948== by 0x498986B: setlocale (setlocale.c:337) ==104948== by 0x109047: main (first.c:160) ==104948== ==104948== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104948== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104948== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104948== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104948== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104948== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104948== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104948== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104948== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104948== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104948== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104948== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104948== by 0x498986B: setlocale (setlocale.c:337) ==104948== by 0x109047: main (first.c:160) ==104948== ==104948== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104948== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104948== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104948== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104948== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104948== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104948== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104948== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104948== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104948== by 0x498986B: setlocale (setlocale.c:337) ==104948== by 0x109047: main (first.c:160) ==104948== ==104948== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104948== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104948== by 0x48EA143: Curl_open (url.c:510) ==104948== by 0x4880EEF: curl_easy_init (easy.c:370) ==104948== by 0x109311: test.part.0 (lib533.c:48) ==104948== by 0x1090AF: UnknownInlinedFun (lib533.c:46) ==104948== by 0x1090AF: main (first.c:220) ==104948== ==104948== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104948== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104948== by 0x4A6D258: __tsearch (tsearch.c:337) ==104948== by 0x4A6D258: tsearch (tsearch.c:290) ==104948== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104948== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104948== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104948== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104948== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104948== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104948== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104948== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104948== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104948== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104948== by 0x498986B: setlocale (setlocale.c:337) ==104948== by 0x109047: main (first.c:160) ==104948== ==104948== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104948== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104948== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104948== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104948== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104948== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104948== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104948== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104948== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104948== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104948== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104948== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104948== by 0x498986B: setlocale (setlocale.c:337) ==104948== by 0x109047: main (first.c:160) ==104948== === End of file valgrind534 test 0535...[HTTP GET multi two files with FAILONERROR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind535 ./libtest/lib533 http://127.0.0.1:36813/535 http://127.0.0.1:36813/5350001 > log/4/stdout535 2> log/4/stderr535 535: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 535 === Start of file http_server.log 02:02:04.397275 ====> Client connect 02:02:04.397313 accept_connection 3 returned 4 02:02:04.397330 accept_connection 3 returned 0 02:02:04.397345 Read 93 bytes 02:02:04.397357 Process 93 bytes request 02:02:04.397371 Got request: GET /verifiedserver HTTP/1.1 02:02:04.397381 Are-we-friendly question reCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind536 ./libtest/lib536 http://127.0.0.1:34215 goingdirect.com:34215 goingdirect.com:34215:127.0.0.1 > log/1/stdout536 2> log/1/stderr536 ceived 02:02:04.397406 Wrote request (93 bytes) input to log/4/server.input 02:02:04.397427 Identifying ourselves as friends 02:02:04.397497 Response sent (56 bytes) and written to log/4/server.response 02:02:04.397510 special request received, no persistency 02:02:04.397520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 535 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr535 URL: http://127.0.0.1:36813/535 === End of file stderr535 === Start of file valgrind535 ==104889== ==104889== Process terminating with default action of signal 4 (SIGILL) ==104889== Illegal opcode at address 0x48EA16B ==104889== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==104889== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==104889== by 0x48EA16B: Curl_open (url.c:519) ==104889== by 0x4880EEF: curl_easy_init (easy.c:370) ==104889== by 0x109311: test.part.0 (lib533.c:48) ==104889== by 0x1090AF: UnknownInlinedFun (lib533.c:46) ==104889== by 0x1090AF: main (first.c:220) ==104889== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==104889== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104889== by 0x4A6D258: __tsearch (tsearch.c:337) ==104889== by 0x4A6D258: tsearch (tsearch.c:290) ==104889== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104889== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104889== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104889== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104889== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104889== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104889== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104889== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104889== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104889== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104889== by 0x498986B: setlocale (setlocale.c:337) ==104889== by 0x109047: main (first.c:160) ==104889== ==104889== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==104889== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104889== by 0x4A6D258: __tsearch (tsearch.c:337) ==104889== by 0x4A6D258: tsearch (tsearch.c:290) ==104889== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104889== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104889== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104889== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104889== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104889== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104889== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104889== by 0x498986B: setlocale (setlocale.c:337) ==104889== by 0x109047: main (first.c:160) ==104889== ==104889== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==104889== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104889== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104889== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104889== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104889== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104889== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==104889== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==104889== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104889== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104889== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104889== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104889== by 0x498986B: setlocale (setlocale.c:337) ==104889== by 0x109047: main (first.c:160) ==104889== ==104889== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==104889== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104889== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104889== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==104889== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==104889== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104889== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104889== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104889== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104889== by 0x498986B: setlocale (setlocale.c:337) ==104889== by 0x109047: main (first.c:160) ==104889== ==104889== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==104889== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==104889== by 0x48EA143: Curl_open (url.c:510) ==104889== by 0x4880EEF: curl_easy_init (easy.c:370) ==104889== by 0x109311: test.part.0 (lib533.c:48) ==104889== by 0x1090AF: UnknownInlinedFun (lib533.c:46) ==104889== by 0x1090AF: main (first.c:220) ==104889== ==104889== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==104889== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104889== by 0x4A6D258: __tsearch (tsearch.c:337) ==104889== by 0x4A6D258: tsearch (tsearch.c:290) ==104889== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==104889== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104889== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104889== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104889== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104889== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104889== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104889== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104889== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104889== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104889== by 0x498986B: setlocale (setlocale.c:337) ==104889== by 0x109047: main (first.c:160) ==104889== ==104889== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==104889== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==104889== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==104889== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==104889== by 0x497DBB2: add_alias (gconv_conf.c:178) ==104889== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==104889== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==104889== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==104889== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==104889== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==104889== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==104889== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==104889== by 0x498986B: setlocale (setlocale.c:337) ==104889== by 0x109047: main (first.c:160) ==104889== === End of file valgrind535 test 0536...[CURLINFO_USED_PROXY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind536 ./libtest/lib536 http://127.0.0.1:34215 goingdirect.com:34215 goingdirect.com:34215:127.0.0.1 > log/1/stdout536 2> log/1/stderr536 536: stdout FAILED: --- log/1/check-expected 2024-12-15 02:02:06.585598023 +0000 +++ log/1/check-generated 2024-12-15 02:02:06.585598023 +0000 @@ -1,4 +0,0 @@ -hello[CR][LF] -This used the proxy[CR][LF] -hello[CR][LF] -This DID NOT use the proxy[CR][LF] == Contents of files in the log/1/ dir after test 536 === Start of file check-expected hello[CR][LF] This used the proxy[CR][LF] hello[CR][LF] This DID NOT use the proxy[CR][LF] === End of file check-expected === Start of file http_server.log 02:02:04.617025 ====> Client connect 02:02:04.617059 accept_connection 3 returned 4 02:02:04.617078 accept_connection 3 returned 0 02:02:04.617093 Read 93 bytes 02:02:04.617104 Process 93 bytes request 02:02:04.617119 Got request: GET /verifiedserver HTTP/1.1 02:02:04.617129 Are-we-friendly question received 02:02:04.617152 Wrote request (93 bytes) input to log/1/server.input 02:02:04.617170 Identifying ourselves as friends 02:02:04.617236 Response sent (56 bytes) and written to log/1/server.response 02:02:04.617248 special request received, no persistency 02:02:04.617257 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 536 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr536 URL: http://127.0.0.1:34215 === End of file stderr536 === Start of file valgrind536 ==105049== ==105049== Process terminating with default action of signal 4 (SIGILL) ==105049== Illegal opcode at address 0x48EA16B ==105049== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105049== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105049== by 0x48EA16B: Curl_open (url.c:519) ==105049== by 0x4880EEF: curl_easy_init (easy.c:370) ==105049== by 0x1090B3: UnknownInlinedFun (lib536.c:51) ==105049== by 0x1090B3: main (first.c:220) ==105049== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105049== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105049== by 0x4A6D258: __tsearch (tsearch.c:337) ==105049== by 0x4A6D258: tsearch (tsearch.c:290) ==105049== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105049== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105049== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105049== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105049== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105049== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105049== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105049== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105049== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105049== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105049== by 0x498986B: setlocale (setlocale.c:337) ==105049== by 0x10904B: main (first.c:160) ==105049== ==105049== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105049== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105049== by 0x4A6D258: __tsearch (tsearch.c:337) ==105049== by 0x4A6D258: tsearch (tsearch.c:290) ==105049== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105049== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105049== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105049== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105049== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105049== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105049== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105049== by 0x498986B: setlocale (setlocale.c:337) ==105049== by 0x10904B: main (first.c:160) ==105049== ==105049== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105049== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105049== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105049== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105049== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105049== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105049== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105049== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105049== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105049== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105049== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105049== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105049== by 0x498986B: setlocale (setlocale.c:337) ==105049== by 0x10904B: main (first.c:160) ==105049== ==105049== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105049== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105049== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105049== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105049== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105049== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105049== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105049== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105049== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105049== by 0x498986B: setlocale (setlocale.c:337) ==105049== by 0x10904B: main (first.c:160) ==105049== ==105049== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105049== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105049== by 0x48EA143: Curl_open (url.c:510) ==105049== by 0x4880EEF: curl_easy_init (easy.c:370) ==105049== by 0x1090B3: UnknownInlinedFun (lib536.c:51) ==105049== by 0x1090B3: main (first.c:220) ==105049== ==105049== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105049== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105049== by 0x4A6D258: __tsearch (tsearch.c:337) ==105049== by 0x4A6D258: tsearch (tsearch.c:290) ==105049== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105049== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105049== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105049== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105049== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105049== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105049== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105049== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105049== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105049== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105049== by 0x498986B: setlocale (setlocale.c:337) ==105049== by 0x10904B: main (first.c:160) ==105049== ==105049== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105049== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105049== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105049== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105049== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105049== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind537 ./libtest/lib537 http://127.0.0.1:43753/537 > log/7/stdout537 2> log/7/stderr537 049== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105049== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105049== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105049== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105049== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105049== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105049== by 0x498986B: setlocale (setlocale.c:337) ==105049== by 0x10904B: main (first.c:160) ==105049== === End of file valgrind536 prechecked ./libtest/lib537 check test 0537...[HTTP GET with a HUGE number of file descriptors open] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind537 ./libtest/lib537 http://127.0.0.1:43753/537 > log/7/stdout537 2> log/7/stderr537 537: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 537 === Start of file http_server.log 02:02:04.998552 ====> Client connect 02:02:04.998592 accept_connection 3 returned 4 02:02:04.998612 accept_connection 3 returned 0 02:02:04.998628 Read 93 bytes 02:02:04.998640 Process 93 bytes request 02:02:04.998654 Got request: GET /verifiedserver HTTP/1.1 02:02:04.998665 Are-we-friendly question received 02:02:04.998694 Wrote request (93 bytes) input to log/7/server.input 02:02:04.998714 Identifying ourselves as friends 02:02:04.998875 Response sent (56 bytes) and written to log/7/server.response 02:02:04.998892 special request received, no persistency 02:02:04.998902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file precheck-537 URL: check initial soft limit: 1024 initial hard limit: 524288 raising soft limit up to hard limit current soft limit: 524288 current hard limit: 524288 allocating memchunk 1048576 byte array initializing memchunk array allocating array for 524277 file descriptors initializing testfd array trying to open 524277 file descriptors 524277 file descriptors open Test ended with result 0 === End of file precheck-537 === Start of file server.cmd Testnum 537 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr537 URL: http://127.0.0.1:43753/537 === End of file stderr537 === Start of file valgrind537 ==105171== ==105171== Process terminating with default action of signal 4 (SIGILL) ==105171== Illegal opcode at address 0x491FA2E ==105171== at 0x491FA2E: formatf.constprop.3 (mprintf.c:809) ==105171== by 0x48BA15A: curl_mvsnprintf (mprintf.c:1075) ==105171== by 0x48BA23B: curl_msnprintf (mprintf.c:1095) ==105171== by 0x1094DF: test_rlimit (lib537.c:140) ==105171== by 0x1090CA: UnknownInlinedFun (lib537.c:473) ==105171== by 0x1090CA: UnknownInlinedFun (lib537.c:459) ==105171== by 0x1090CA: main (first.c:220) ==105171== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==105171== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105171== by 0x4A6D258: __tsearch (tsearch.c:337) ==105171== by 0x4A6D258: tsearch (tsearch.c:290) ==105171== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105171== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105171== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105171== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105171== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105171== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105171== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105171== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105171== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105171== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105171== by 0x498986B: setlocale (setlocale.c:337) ==105171== by 0x109047: main (first.c:160) ==105171== ==105171== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==105171== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105171== by 0x4A6D258: __tsearch (tsearch.c:337) ==105171== by 0x4A6D258: tsearch (tsearch.c:290) ==105171== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105171== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105171== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105171== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105171== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105171== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105171== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105171== by 0x498986B: setlocale (setlocale.c:337) ==105171== by 0x109047: main (first.c:160) ==105171== ==105171== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==105171== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105171== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105171== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105171== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105171== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105171== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105171== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105171== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105171== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105171== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105171== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105171== by 0x498986B: setlocale (setlocale.c:337) ==105171== by 0x109047: main (first.c:160) ==105171== ==105171== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==105171== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105171== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105171== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105171== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105171== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105171== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105171== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105171== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105171== by 0x498986B: setlocale (setlocale.c:337) ==105171== by 0x109047: main (first.c:160) ==105171== ==105171== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==105171== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105171== by 0x4A6D258: __tsearch (tsearch.c:337) ==105171== by 0x4A6D258: tsearch (tsearch.c:290) ==105171== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105171== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105171== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105171== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105171== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105171== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105171== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105171== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105171== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105171== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105171== by 0x498986B: setlocale (setlocale.c:337) ==105171== by 0x109047: maCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind540 ./libtest/lib540 http://test.remote.example.com/path/540 http://127.0.0.1:34527 silly:person custom.set.host.name > log/3/stdout540 2> log/3/stderr540 in (first.c:160) ==105171== ==105171== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==105171== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105171== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105171== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105171== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105171== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105171== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105171== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105171== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105171== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105171== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105171== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105171== by 0x498986B: setlocale (setlocale.c:337) ==105171== by 0x109047: main (first.c:160) ==105171== === End of file valgrind537 test 0540...[HTTP proxy auth Digest multi API re-using connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind540 ./libtest/lib540 http://test.remote.example.com/path/540 http://127.0.0.1:34527 silly:person custom.set.host.name > log/3/stdout540 2> log/3/stderr540 540: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 540 === Start of file http_server.log 02:02:05.785219 ====> Client connect 02:02:05.785255 accept_connection 3 returned 4 02:02:05.785274 accept_connection 3 returned 0 02:02:05.785289 Read 93 bytes 02:02:05.785299 Process 93 bytes request 02:02:05.785314 Got request: GET /verifiedserver HTTP/1.1 02:02:05.785323 Are-we-friendly question received 02:02:05.785347 Wrote request (93 bytes) input to log/3/server.input 02:02:05.785365 Identifying ourselves as friends 02:02:05.785436 Response sent (56 bytes) and written to log/3/server.response 02:02:05.785446 special request received, no persistency 02:02:05.785454 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 540 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr540 URL: http://test.remote.example.com/path/540 === End of file stderr540 === Start of file valgrind540 ==105318== ==105318== Process terminating with default action of signal 4 (SIGILL) ==105318== Illegal opcode at address 0x48EA16B ==105318== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105318== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105318== by 0x48EA16B: Curl_open (url.c:519) ==105318== by 0x4880EEF: curl_easy_init (easy.c:370) ==105318== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==105318== by 0x48BF363: Curl_multi_handle (multi.c:416) ==105318== by 0x109171: UnknownInlinedFun (lib540.c:226) ==105318== by 0x109171: UnknownInlinedFun (lib540.c:195) ==105318== by 0x109171: main (first.c:220) ==105318== 408 bytes in 17 blocks are possibly lost in loss record 605 of 657 ==105318== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105318== by 0x4A6D258: __tsearch (tsearch.c:337) ==105318== by 0x4A6D258: tsearch (tsearch.c:290) ==105318== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105318== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105318== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105318== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105318== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105318== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105318== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105318== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105318== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105318== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105318== by 0x498986B: setlocale (setlocale.c:337) ==105318== by 0x10905B: main (first.c:160) ==105318== ==105318== 552 bytes in 23 blocks are possibly lost in loss record 610 of 657 ==105318== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105318== by 0x4A6D258: __tsearch (tsearch.c:337) ==105318== by 0x4A6D258: tsearch (tsearch.c:290) ==105318== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105318== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105318== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105318== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105318== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105318== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105318== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105318== by 0x498986B: setlocale (setlocale.c:337) ==105318== by 0x10905B: main (first.c:160) ==105318== ==105318== 681 bytes in 17 blocks are possibly lost in loss record 617 of 657 ==105318== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105318== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105318== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105318== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105318== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105318== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105318== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105318== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105318== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105318== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105318== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105318== by 0x498986B: setlocale (setlocale.c:337) ==105318== by 0x10905B: main (first.c:160) ==105318== ==105318== 1,018 bytes in 23 blocks are possibly lost in loss record 631 of 657 ==105318== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105318== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105318== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105318== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105318== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105318== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105318== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105318== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105318== by 0x498986B: setlocale (setlocale.c:337) ==105318== by 0x10905B: main (first.c:160) ==105318== ==105318== 5,480 bytes in 1 blocks are definitely lost in loss record 650 of 657 ==105318== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105318== by 0x48EA143: Curl_open (url.c:510) ==105318== by 0x4880EEF: curl_easy_init (easy.c:370) ==105318== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==105318== by 0x48BF363: Curl_multi_handle (multi.c:416) ==105318== by 0x109171: UnknownInlinedFun (lib540.c:226) ==105318== by 0x109171: UnknownInlinedFun (lib540.c:195) ==105318== by 0x109171: main (first.c:220) ==105318== ==105318== 11,664 bytes in 486 blocks are possibly lost in loss record 653 of 657 ==105318== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105318== by 0x4A6D258: __tsearch (tsearch.c:337) ==105318== by 0x4A6D258: tsearch (tsearch.c:290) ==105318== by 0x497D8CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind538 ./libtest/lib504 ftp://127.0.0.1:36485/538 > log/5/stdout538 2> log/5/stderr538 77: add_alias2.part.0 (gconv_conf.c:142) ==105318== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105318== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105318== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105318== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105318== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105318== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105318== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105318== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105318== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105318== by 0x498986B: setlocale (setlocale.c:337) ==105318== by 0x10905B: main (first.c:160) ==105318== ==105318== 18,800 bytes in 486 blocks are possibly lost in loss record 655 of 657 ==105318== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105318== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105318== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105318== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105318== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105318== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105318== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105318== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105318== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105318== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105318== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105318== by 0x498986B: setlocale (setlocale.c:337) ==105318== by 0x10905B: main (first.c:160) ==105318== === End of file valgrind540 test 0538...[FTP multi-interface download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind538 ./libtest/lib504 ftp://127.0.0.1:36485/538 > log/5/stdout538 2> log/5/stderr538 538: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 538 === Start of file ftp_server.log 02:02:05.291810 ====> Client connect 02:02:05.291973 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:05.297636 < "USER anonymous" 02:02:05.297690 > "331 We are happy you popped in![CR][LF]" 02:02:05.305273 < "PASS ftp@example.com" 02:02:05.305333 > "230 Welcome you silly person[CR][LF]" 02:02:05.305577 < "PWD" 02:02:05.305625 > "257 "/" is current directory[CR][LF]" 02:02:05.305825 < "EPSV" 02:02:05.305855 ====> Passive DATA channel requested by client 02:02:05.305870 DATA sockfilt for passive data channel starting... 02:02:05.307814 DATA sockfilt for passive data channel started (pid 105165) 02:02:05.307925 DATA sockfilt for passive data channel listens on port 44385 02:02:05.307971 > "229 Entering Passive Mode (|||44385|)[LF]" 02:02:05.307990 Client has been notified that DATA conn will be accepted on port 44385 02:02:05.308250 Client connects to port 44385 02:02:05.308282 ====> Client established passive DATA connection on port 44385 02:02:05.308469 < "TYPE I" 02:02:05.308506 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:05.308696 < "SIZE verifiedserver" 02:02:05.308737 > "213 17[CR][LF]" 02:02:05.308918 < "RETR verifiedserver" 02:02:05.308957 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:05.309053 =====> Closing passive DATA connection... 02:02:05.309075 Server disconnects passive DATA connection 02:02:05.309212 Server disconnected passive DATA connection 02:02:05.309241 DATA sockfilt for passive data channel quits (pid 105165) 02:02:05.309473 DATA sockfilt for passive data channel quit (pid 105165) 02:02:05.309503 =====> Closed passive DATA connection 02:02:05.309532 > "226 File transfer complete[CR][LF]" 02:02:05.354306 < "QUIT" 02:02:05.354359 > "221 bye bye baby[CR][LF]" 02:02:05.359859 MAIN sockfilt said DISC 02:02:05.359913 ====> Client disconnected 02:02:05.359986 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:04.491844 ====> Client connect 02:02:04.492132 Received DATA (on stdin) 02:02:04.492153 > 160 bytes data, server => client 02:02:04.492167 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:04.492180 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:04.492191 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:04.497570 < 16 bytes data, client => server 02:02:04.497598 'USER anonymous\r\n' 02:02:04.497836 Received DATA (on stdin) 02:02:04.497851 > 33 bytes data, server => client 02:02:04.497862 '331 We are happy you popped in!\r\n' 02:02:04.505179 < 22 bytes data, client => server 02:02:04.505224 'PASS ftp@example.com\r\n' 02:02:04.505482 Received DATA (on stdin) 02:02:04.505499 > 30 bytes data, server => client 02:02:04.505511 '230 Welcome you silly person\r\n' 02:02:04.505604 < 5 bytes data, client => server 02:02:04.505620 'PWD\r\n' 02:02:04.505768 Received DATA (on stdin) 02:02:04.505781 > 30 bytes data, server => client 02:02:04.505793 '257 "/" is current directory\r\n' 02:02:04.505867 < 6 bytes data, client => server 02:02:04.505881 'EPSV\r\n' 02:02:04.508137 Received DATA (on stdin) 02:02:04.508152 > 38 bytes data, server => client 02:02:04.508165 '229 Entering Passive Mode (|||44385|)\n' 02:02:04.508436 < 8 bytes data, client => server 02:02:04.508451 'TYPE I\r\n' 02:02:04.508649 Received DATA (on stdin) 02:02:04.508664 > 33 bytes data, server => client 02:02:04.508675 '200 I modify TYPE as you wanted\r\n' 02:02:04.508737 < 21 bytes data, client => server 02:02:04.508753 'SIZE verifiedserver\r\n' 02:02:04.508879 Received DATA (on stdin) 02:02:04.508892 > 8 bytes data, server => client 02:02:04.508904 '213 17\r\n' 02:02:04.508963 < 21 bytes data, client => server 02:02:04.508979 'RETR verifiedserver\r\n' 02:02:04.509676 Received DATA (on stdin) 02:02:04.509690 > 29 bytes data, server => client 02:02:04.509702 '150 Binary junk (17 bytes).\r\n' 02:02:04.509728 Received DATA (on stdin) 02:02:04.509739 > 28 bytes data, server => client 02:02:04.509751 '226 File transfer complete\r\n' 02:02:04.551958 < 6 bytes data, client => server 02:02:04.551994 'QUIT\r\n' 02:02:04.558496 Received DATA (on stdin) 02:02:04.558528 > 18 bytes data, server => client 02:02:04.558540 '221 bye bye baby\r\n' 02:02:04.559408 ====> Client disconnect 02:02:04.561825 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:05.507624 Running IPv4 version 02:02:05.507700 Listening on port 44385 02:02:05.507743 Wrote pid 105165 to log/5/server/ftp_sockdata.pid 02:02:05.507890 Received PING (on stdin) 02:02:05.507979 Received PORT (on stdin) 02:02:05.508334 ====> Client connect 02:02:05.509220 Received DATA (on stdin) 02:02:05.509236 > 17 bytes data, server => client 02:02:05.509247 'WE ROOLZ: 80534\r\n' 02:02:05.509281 Received DISC (on stdin) 02:02:05.509296 ====> Client forcibly disconnected 02:02:05.509394 Received QUIT (on stdin) 02:02:05.509408 quits 02:02:05.509471 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 538 === End of file server.cmd === Start of file stderr538 URL: ftp://127.0.0.1:36485/538 === End of file stderr538 === Start of file valgrind538 ==105174== ==105174== Process terminating with default action of signal 4 (SIGILL) ==105174== Illegal opcode at address 0x48EA16B ==105174== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105174== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105174== by 0x48EA16B: Curl_open (url.c:519) ==105174== by 0x4880EEF: curl_easy_init (easy.c:370) ==105174== by 0x109309: test.part.0 (lib504.c:51) ==105174== by 0x1090AF: UnknownInCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind539 ./libtest/lib539 ftp://127.0.0.1:40433/path/to/the/file/539 ftp://127.0.0.1:40433/path/to/the/file/5390001 > log/6/stdout539 2> log/6/stderr539 linedFun (lib504.c:49) ==105174== by 0x1090AF: main (first.c:220) ==105174== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105174== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105174== by 0x4A6D258: __tsearch (tsearch.c:337) ==105174== by 0x4A6D258: tsearch (tsearch.c:290) ==105174== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105174== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105174== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105174== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105174== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105174== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105174== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105174== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105174== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105174== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105174== by 0x498986B: setlocale (setlocale.c:337) ==105174== by 0x109047: main (first.c:160) ==105174== ==105174== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105174== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105174== by 0x4A6D258: __tsearch (tsearch.c:337) ==105174== by 0x4A6D258: tsearch (tsearch.c:290) ==105174== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105174== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105174== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105174== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105174== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105174== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105174== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105174== by 0x498986B: setlocale (setlocale.c:337) ==105174== by 0x109047: main (first.c:160) ==105174== ==105174== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105174== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105174== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105174== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105174== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105174== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105174== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105174== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105174== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105174== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105174== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105174== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105174== by 0x498986B: setlocale (setlocale.c:337) ==105174== by 0x109047: main (first.c:160) ==105174== ==105174== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105174== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105174== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105174== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105174== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105174== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105174== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105174== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105174== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105174== by 0x498986B: setlocale (setlocale.c:337) ==105174== by 0x109047: main (first.c:160) ==105174== ==105174== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105174== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105174== by 0x48EA143: Curl_open (url.c:510) ==105174== by 0x4880EEF: curl_easy_init (easy.c:370) ==105174== by 0x109309: test.part.0 (lib504.c:51) ==105174== by 0x1090AF: UnknownInlinedFun (lib504.c:49) ==105174== by 0x1090AF: main (first.c:220) ==105174== ==105174== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105174== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105174== by 0x4A6D258: __tsearch (tsearch.c:337) ==105174== by 0x4A6D258: tsearch (tsearch.c:290) ==105174== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105174== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105174== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105174== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105174== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105174== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105174== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105174== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105174== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105174== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105174== by 0x498986B: setlocale (setlocale.c:337) ==105174== by 0x109047: main (first.c:160) ==105174== ==105174== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105174== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105174== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105174== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105174== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105174== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105174== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105174== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105174== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105174== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105174== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105174== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105174== by 0x498986B: setlocale (setlocale.c:337) ==105174== by 0x109047: main (first.c:160) ==105174== === End of file valgrind538 test 0539...[Two FTP fetches using different CURLOPT_FTP_FILEMETHOD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind539 ./libtest/lib539 ftp://127.0.0.1:40433/path/to/the/file/539 ftp://127.0.0.1:40433/path/to/the/file/5390001 > log/6/stdout539 2> log/6/stderr539 539: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 539 === Start of file ftp_server.log 02:02:05.515077 ====> Client connect 02:02:05.515271 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:05.515635 < "USER anonymous" 02:02:05.515680 > "331 We are happy you popped in![CR][LF]" 02:02:05.515896 < "PASS ftp@example.com" 02:02:05.515930 > "230 Welcome you silly person[CR][LF]" 02:02:05.518539 < "PWD" 02:02:05.518577 > "257 "/" is current directory[CR][LF]" 02:02:05.518773 < "EPSV" 02:02:05.518799 ====> Passive DATA channel requested by client 02:02:05.518812 DATA sockfilt for passive data channel starting... 02:02:05.535246 DATA sockfilt for passive data channel started (pid 105235) 02:02:05.535391 DATA sockfilt for passive data channel listens on port 38693 02:02:05.535444 > "229 Entering Passive Mode (|||38693|)[LF]" 02:02:05.535463 Client has been notified that DATA conn will be accepted on port 38693 02:02:05.535766 Client connects to port 38693 02:02:05.535800 ====> Client established passive DATA connection on port 38693 02:02:05.535932 < "TYPE I" 02:02:05.535967 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:05.537527 < "SIZE verifiedserver" 02:02:05.537576 > "213 17[CR][LF]" 02:02:05.537761 < "RETR verifiedserver" 02:02:05.537800 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:05.537886 =====> Closing passive DATA connection... 02:02:05.537902 Server disconnects passive DATA connection 02:02:05.538031 Server disconnected passive DATA connection 02:02:05.538053 DATA sockfilt for passive data channel quits (pid 105235) 02:02:05.547325 DATA sockfilt for passive data channel quit (pid 105235) 02:02:05.547384 =====> Closed passive DATA connection 02:02:05.547424 > "226 File transfer complete[CR][LF]" 02:02:05.582687 < "QUIT" 02:02:05.582745 > "221 bye bye baby[CR][LF]" 02:02:05.583629 MAIN sockfilt said DISC 02:02:05.583671 ====> Client disconnected 02:02:05.583749 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:05.712243 ====> Client connect 02:02:05.715429 Received DATA (on stdin) 02:02:05.715449 > 160 bytes data, server => client 02:02:05.715461 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:05.715473 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:05.715484 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:05.715609 < 16 bytes data, client => server 02:02:05.715630 'USER anonymous\r\n' 02:02:05.715828 Received DATA (on stdin) 02:02:05.715842 > 33 bytes data, server => client 02:02:05.715853 '331 We are happy you popped in!\r\n' 02:02:05.715922 < 22 bytes data, client => server 02:02:05.715940 'PASS ftp@example.com\r\n' 02:02:05.716077 Received DATA (on stdin) 02:02:05.716092 > 30 bytes data, server => client 02:02:05.716104 '230 Welcome you silly person\r\n' 02:02:05.718570 < 5 bytes data, client => server 02:02:05.718589 'PWD\r\n' 02:02:05.718719 Received DATA (on stdin) 02:02:05.718732 > 30 bytes data, server => client 02:02:05.718743 '257 "/" is current directory\r\n' 02:02:05.718817 < 6 bytes data, client => server 02:02:05.718833 'EPSV\r\n' 02:02:05.735619 Received DATA (on stdin) 02:02:05.735637 > 38 bytes data, server => client 02:02:05.735649 '229 Entering Passive Mode (|||38693|)\n' 02:02:05.735960 < 8 bytes data, client => server 02:02:05.735975 'TYPE I\r\n' 02:02:05.736109 Received DATA (on stdin) 02:02:05.736122 > 33 bytes data, server => client 02:02:05.736133 '200 I modify TYPE as you wanted\r\n' 02:02:05.736197 < 21 bytes data, client => server 02:02:05.736209 'SIZE verifiedserver\r\n' 02:02:05.737719 Received DATA (on stdin) 02:02:05.737733 > 8 bytes data, server => client 02:02:05.737745 '213 17\r\n' 02:02:05.737808 < 21 bytes data, client => server 02:02:05.737822 'RETR verifiedserver\r\n' 02:02:05.738200 Received DATA (on stdin) 02:02:05.738214 > 29 bytes data, server => client 02:02:05.738224 '150 Binary junk (17 bytes).\r\n' 02:02:05.748627 Received DATA (on stdin) 02:02:05.748658 > 28 bytes data, server => client 02:02:05.748670 '226 File transfer complete\r\n' 02:02:05.782626 < 6 bytes data, client => server 02:02:05.782660 'QUIT\r\n' 02:02:05.782900 Received DATA (on stdin) 02:02:05.782918 > 18 bytes data, server => client 02:02:05.782930 '221 bye bye baby\r\n' 02:02:05.783710 ====> Client disconnect 02:02:05.783901 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:05.722955 Running IPv4 version 02:02:05.723024 Listening on port 38693 02:02:05.723074 Wrote pid 105235 to log/6/server/ftp_sockdata.pid 02:02:05.735303 Received PING (on stdin) 02:02:05.735429 Received PORT (on stdin) 02:02:05.735851 ====> Client connect 02:02:05.738045 Received DATA (on stdin) 02:02:05.738059 > 17 bytes data, server => client 02:02:05.738070 'WE ROOLZ: 80451\r\n' 02:02:05.738104 Received DISC (on stdin) 02:02:05.738118 ====> Client forcibly disconnected 02:02:05.738318 Received QUIT (on stdin) 02:02:05.738332 quits 02:02:05.738390 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 539 === End of file server.cmd === Start of file stderr539 URL: ftp://127.0.0.1:40433/path/to/the/file/539 === End of file stderr539 === Start of file valgrind539 ==105294== ==105294== Process terminating with default action of signal 4 (SIGILL) ==105294== Illegal opcode at address 0x48EA16B ==105294== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105294== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105294== by 0x48EA16B: Curl_open (url.c:519) ==105294== by 0x4880EEF: curl_easy_init (easy.c:370) ==105294== by 0x10909A: UnknownInlinedFun (lib539.c:40) ==105294== by 0x10909A: main (first.c:220) ==105294== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105294== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105294== by 0x4A6D258: __tsearch (tsearch.c:337) ==105294== by 0x4A6D258: tsearch (tsearch.c:290) ==105294== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105294== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105294== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105294== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105294== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105294== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105294== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105294== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105294== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105294== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105294== by 0x498986B: setlocale (setlocale.c:337) ==105294== by 0x109045: main (first.c:160) ==105294== ==105294== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105294== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105294== by 0x4A6D258: __tsearch (tsearch.c:337) ==105294== by 0x4A6D258: tsearch (tsearch.c:290) ==105294== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105294== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105294== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105294== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105294== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105294== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105294== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105294== by 0x498986B: setlocale (setlocale.c:337) ==105294== by 0x109045: main (first.c:160) ==105294== ==105294== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105294== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105294== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105294== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105294== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105294== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105294== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105294== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105294== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105294== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105294== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105294== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105294== by 0x498986B: setlocale (setlocale.c:337) ==105294== by 0x109045: main (first.c:160) ==105294== ==105294== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105294== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105294== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105294== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105294== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105294== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105294== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105294== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105294== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105294== by 0x498986B: setlocale (setlocale.c:337) ==105294== by 0x109045: main (first.c:160) ==105294== ==105294== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105294== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105294== by 0x48EA143: Curl_open (url.c:510) ==105294== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind541 ./libtest/lib541 ftp://127.0.0.1:39101/541 log/8/upload541 > log/8/stdout541 2> log/8/stderr541 by 0x4880EEF: curl_easy_init (easy.c:370) ==105294== by 0x10909A: UnknownInlinedFun (lib539.c:40) ==105294== by 0x10909A: main (first.c:220) ==105294== ==105294== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105294== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105294== by 0x4A6D258: __tsearch (tsearch.c:337) ==105294== by 0x4A6D258: tsearch (tsearch.c:290) ==105294== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105294== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105294== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105294== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105294== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105294== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105294== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105294== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105294== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105294== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105294== by 0x498986B: setlocale (setlocale.c:337) ==105294== by 0x109045: main (first.c:160) ==105294== ==105294== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105294== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105294== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105294== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105294== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105294== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105294== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105294== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105294== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105294== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105294== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105294== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105294== by 0x498986B: setlocale (setlocale.c:337) ==105294== by 0x109045: main (first.c:160) ==105294== === End of file valgrind539 test 0541...[FTP upload and upload same file again without rewind] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind541 ./libtest/lib541 ftp://127.0.0.1:39101/541 log/8/upload541 > log/8/stdout541 2> log/8/stderr541 541: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 541 === Start of file ftp_server.log 02:02:05.693273 ====> Client connect 02:02:05.693446 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:05.693802 < "USER anonymous" 02:02:05.693849 > "331 We are happy you popped in![CR][LF]" 02:02:05.694075 < "PASS ftp@example.com" 02:02:05.694113 > "230 Welcome you silly person[CR][LF]" 02:02:05.694319 < "PWD" 02:02:05.694359 > "257 "/" is current directory[CR][LF]" 02:02:05.694560 < "EPSV" 02:02:05.694590 ====> Passive DATA channel requested by client 02:02:05.694606 DATA sockfilt for passive data channel starting... 02:02:05.703706 DATA sockfilt for passive data channel started (pid 105335) 02:02:05.703849 DATA sockfilt for passive data channel listens on port 34855 02:02:05.703900 > "229 Entering Passive Mode (|||34855|)[LF]" 02:02:05.703918 Client has been notified that DATA conn will be accepted on port 34855 02:02:05.704256 Client connects to port 34855 02:02:05.704286 ====> Client established passive DATA connection on port 34855 02:02:05.704369 < "TYPE I" 02:02:05.704403 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:05.704578 < "SIZE verifiedserver" 02:02:05.704615 > "213 17[CR][LF]" 02:02:05.704763 < "RETR verifiedserver" 02:02:05.704797 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:05.704869 =====> Closing passive DATA connection... 02:02:05.704883 Server disconnects passive DATA connection 02:02:05.705124 Server disconnected passive DATA connection 02:02:05.705152 DATA sockfilt for passive data channel quits (pid 105335) 02:02:05.705362 DATA sockfilt for passive data channel quit (pid 105335) 02:02:05.705389 =====> Closed passive DATA connection 02:02:05.705419 > "226 File transfer complete[CR][LF]" 02:02:05.755251 < "QUIT" 02:02:05.755308 > "221 bye bye baby[CR][LF]" 02:02:05.756736 MAIN sockfilt said DISC 02:02:05.756788 ====> Client disconnected 02:02:05.756861 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:05.893304 ====> Client connect 02:02:05.893610 Received DATA (on stdin) 02:02:05.893631 > 160 bytes data, server => client 02:02:05.893645 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:05.893656 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:05.893668 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:05.893768 < 16 bytes data, client => server 02:02:05.893788 'USER anonymous\r\n' 02:02:05.893998 Received DATA (on stdin) 02:02:05.894015 > 33 bytes data, server => client 02:02:05.894027 '331 We are happy you popped in!\r\n' 02:02:05.894095 < 22 bytes data, client => server 02:02:05.894113 'PASS ftp@example.com\r\n' 02:02:05.894260 Received DATA (on stdin) 02:02:05.894275 > 30 bytes data, server => client 02:02:05.894287 '230 Welcome you silly person\r\n' 02:02:05.894350 < 5 bytes data, client => server 02:02:05.894367 'PWD\r\n' 02:02:05.894504 Received DATA (on stdin) 02:02:05.894518 > 30 bytes data, server => client 02:02:05.894530 '257 "/" is current directory\r\n' 02:02:05.894597 < 6 bytes data, client => server 02:02:05.894613 'EPSV\r\n' 02:02:05.904066 Received DATA (on stdin) 02:02:05.904084 > 38 bytes data, server => client 02:02:05.904097 '229 Entering Passive Mode (|||34855|)\n' 02:02:05.904309 < 8 bytes data, client => server 02:02:05.904331 'TYPE I\r\n' 02:02:05.904543 Received DATA (on stdin) 02:02:05.904555 > 33 bytes data, server => client 02:02:05.904566 '200 I modify TYPE as you wanted\r\n' 02:02:05.904626 < 21 bytes data, client => server 02:02:05.904638 'SIZE verifiedserver\r\n' 02:02:05.904755 Received DATA (on stdin) 02:02:05.904766 > 8 bytes data, server => client 02:02:05.904776 '213 17\r\n' 02:02:05.904824 < 21 bytes data, client => server 02:02:05.904835 'RETR verifiedserver\r\n' 02:02:05.905112 Received DATA (on stdin) 02:02:05.905124 > 29 bytes data, server => client 02:02:05.905134 '150 Binary junk (17 bytes).\r\n' 02:02:05.905564 Received DATA (on stdin) 02:02:05.905578 > 28 bytes data, server => client 02:02:05.905589 '226 File transfer complete\r\n' 02:02:05.955180 < 6 bytes data, client => server 02:02:05.955222 'QUIT\r\n' 02:02:05.955455 Received DATA (on stdin) 02:02:05.955470 > 18 bytes data, server => client 02:02:05.955482 '221 bye bye baby\r\n' 02:02:05.956369 ====> Client disconnect 02:02:05.957013 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:05.903023 Running IPv4 version 02:02:05.903117 Listening on port 34855 02:02:05.903156 Wrote pid 105335 to log/8/server/ftp_sockdata.pid 02:02:05.903773 Received PING (on stdin) 02:02:05.903887 Received PORT (on stdin) 02:02:05.904350 ====> Client connect 02:02:05.905021 Received DATA (on stdin) 02:02:05.905034 > 17 bytes data, server => client 02:02:05.905044 'WE ROOLZ: 80441\r\n' 02:02:05.905076 Received DISC (on stdin) 02:02:05.905088 ====> Client forcibly disconnected 02:02:05.905301 Received QUIT (on stdin) 02:02:05.905314 quits 02:02:05.905371 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 541 === End of file server.cmd === Start of file stderr541 URL: ftp://127.0.0.1:39101/541 === End of file stderr541 === Start of file upload541 Contents of a file to verify ftp upload worCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind543 ./libtest/lib543 - > log/10/stdout543 2> log/10/stderr543 ks? === End of file upload541 === Start of file valgrind541 ==105397== ==105397== Process terminating with default action of signal 4 (SIGILL) ==105397== Illegal opcode at address 0x48EA16B ==105397== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105397== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105397== by 0x48EA16B: Curl_open (url.c:519) ==105397== by 0x4880EEF: curl_easy_init (easy.c:370) ==105397== by 0x109108: UnknownInlinedFun (lib541.c:81) ==105397== by 0x109108: main (first.c:220) ==105397== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==105397== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105397== by 0x4A6D258: __tsearch (tsearch.c:337) ==105397== by 0x4A6D258: tsearch (tsearch.c:290) ==105397== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105397== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105397== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105397== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105397== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105397== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105397== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105397== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105397== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105397== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105397== by 0x498986B: setlocale (setlocale.c:337) ==105397== by 0x10905B: main (first.c:160) ==105397== ==105397== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==105397== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105397== by 0x4A6D258: __tsearch (tsearch.c:337) ==105397== by 0x4A6D258: tsearch (tsearch.c:290) ==105397== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105397== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105397== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105397== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105397== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105397== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105397== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105397== by 0x498986B: setlocale (setlocale.c:337) ==105397== by 0x10905B: main (first.c:160) ==105397== ==105397== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==105397== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105397== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105397== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105397== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105397== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105397== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105397== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105397== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105397== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105397== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105397== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105397== by 0x498986B: setlocale (setlocale.c:337) ==105397== by 0x10905B: main (first.c:160) ==105397== ==105397== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==105397== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105397== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105397== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105397== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105397== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105397== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105397== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105397== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105397== by 0x498986B: setlocale (setlocale.c:337) ==105397== by 0x10905B: main (first.c:160) ==105397== ==105397== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==105397== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105397== by 0x48EA143: Curl_open (url.c:510) ==105397== by 0x4880EEF: curl_easy_init (easy.c:370) ==105397== by 0x109108: UnknownInlinedFun (lib541.c:81) ==105397== by 0x109108: main (first.c:220) ==105397== ==105397== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==105397== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105397== by 0x4A6D258: __tsearch (tsearch.c:337) ==105397== by 0x4A6D258: tsearch (tsearch.c:290) ==105397== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105397== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105397== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105397== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105397== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105397== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105397== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105397== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105397== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105397== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105397== by 0x498986B: setlocale (setlocale.c:337) ==105397== by 0x10905B: main (first.c:160) ==105397== ==105397== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==105397== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105397== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105397== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105397== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105397== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105397== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105397== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105397== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105397== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105397== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105397== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105397== by 0x498986B: setlocale (setlocale.c:337) ==105397== by 0x10905B: main (first.c:160) ==105397== === End of file valgrind541 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind542 ./libtest/lib542 ftp://127.0.0.1:40171/542 > log/12/stdout542 2> log/12/stderr542 * starts no server test 0543...[curl_easy_escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind543 ./libtest/lib543 - > log/10/stdout543 2> log/10/stderr543 543: stdout FAILED: --- log/10/check-expected 2024-12-15 02:02:07.915621896 +0000 +++ log/10/check-generated 2024-12-15 02:02:07.915621896 +0000 @@ -1,3 +0,0 @@ -%9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1[LF] -IN: '' OUT: ''[LF] -IN: ' 12' OUT: '%2012'[LF] == Contents of files in the log/10/ dir after test 543 === Start of file check-expected %9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1[LF] IN: '' OUT: ''[LF] IN: ' 12' OUT: '%2012'[LF] === End of file check-expected === Start of file server.cmd Testnum 543 === End of file server.cmd === Start of file stderr543 URL: - === End of file stderr543 === Start of file valgrind543 ==105454== ==105454== Process terminating with default action of signal 4 (SIGILL) ==105454== Illegal opcode at address 0x48EA16B ==105454== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105454== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105454== by 0x48EA16B: Curl_open (url.c:519) ==105454== by 0x4880EEF: curl_easy_init (easy.c:370) ==105454== by 0x109091: UnknownInlinedFun (lib543.c:42) ==105454== by 0x109091: UnknownInlinedFun (lib543.c:30) ==105454== by 0x109091: main (first.c:220) ==105454== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105454== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105454== by 0x4A6D258: __tsearch (tsearch.c:337) ==105454== by 0x4A6D258: tsearch (tsearch.c:290) ==105454== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105454== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105454== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105454== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105454== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105454== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105454== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105454== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105454== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105454== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105454== by 0x498986B: setlocale (setlocale.c:337) ==105454== by 0x10904E: main (first.c:160) ==105454== ==105454== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105454== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105454== by 0x4A6D258: __tsearch (tsearch.c:337) ==105454== by 0x4A6D258: tsearch (tsearch.c:290) ==105454== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105454== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105454== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105454== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105454== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105454== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105454== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105454== by 0x498986B: setlocale (setlocale.c:337) ==105454== by 0x10904E: main (first.c:160) ==105454== ==105454== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105454== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105454== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105454== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105454== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105454== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105454== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105454== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105454== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105454== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105454== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105454== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105454== by 0x498986B: setlocale (setlocale.c:337) ==105454== by 0x10904E: main (first.c:160) ==105454== ==105454== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105454== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105454== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105454== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105454== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105454== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105454== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105454== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105454== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105454== by 0x498986B: setlocale (setlocale.c:337) ==105454== by 0x10904E: main (first.c:160) ==105454== ==105454== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105454== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105454== by 0x48EA143: Curl_open (url.c:510) ==105454== by 0x4880EEF: curl_easy_init (easy.c:370) ==105454== by 0x109091: UnknownInlinedFun (lib543.c:42) ==105454== by 0x109091: UnknownInlinedFun (lib543.c:30) ==105454== by 0x109091: main (first.c:220) ==105454== ==105454== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105454== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105454== by 0x4A6D258: __tsearch (tsearch.c:337) ==105454== by 0x4A6D258: tsearch (tsearch.c:290) ==105454== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105454== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105454== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105454== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105454== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105454== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105454== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105454== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105454== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105454== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105454== by 0x498986B: setlocale (setlocale.c:337) ==105454== by 0x10904E: main (first.c:160) ==105454== ==105454== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105454== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105454== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105454== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105454== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105454== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105454== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105454== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105454== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105454== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105454== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105454== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105454== by 0x498986B: setlocale (setlocale.c:337) ==105454== by 0x10904E: main (first.c:160) ==105454== === End of file valgrind543 test 0542...[FTP a file with NOBODY yes and HEADER no] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind542 ./libtest/lib542 ftp://127.0.0.1:40171/542 > log/12/stdout542 2> log/12/stderr542 542: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 542 === Start of file ftp_server.log 02:02:05.919804 ====> Client connect 02:02:05.920006 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:05.928533 < "USER anonymous" 02:02:05.928588 > "331 We are happy you popped in![CR][LF]" 02:02:05.928908 < "PASS ftp@example.com" 02:02:05.928936 > "230 Welcome you silly person[CR][LF]" 02:02:05.929421 < "PWD" 02:02:05.929452 > "257 "/" is current directory[CR][LF]" 02:02:05.929612 < "EPSV" 02:02:05.929637 ====> Passive DATA channel requested by client 02:02:05.929649 DATA sockfilt for passive data channel starting... 02:02:05.931791 DATA sockfilt for passive data channel started (pid 105447) 02:02:05.931889 DATA sockfilt for passive data channel listens on port 38891 02:02:05.931925 > "229 Entering Passive Mode (|||38891|)[LF]" 02:02:05.931941 Client has been notified that DATA conn will be accepted on port 38891 02:02:05.932194 Client connects to port 38891 02:02:05.932223 ====> Client established passive DATA connection on port 38891 02:02:05.932281 < "TYPE I" 02:02:05.932306 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:05.932458 < "SIZE verifiedserver" 02:02:05.932492 > "213 17[CR][LF]" 02:02:05.932636 < "RETR verifiedserver" 02:02:05.932665 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:05.932739 =====> Closing passive DATA connection... 02:02:05.932754 Server disconnects passive DATA connection 02:02:05.932978 Server disconnected passive DATA connection 02:02:05.933006 DATA sockfilt for passive data channel quits (pid 105447) 02:02:05.933187 DATA sockfilt for passive data channel quit (pid 105447) 02:02:05.933206 =====> Closed passive DATA connection 02:02:05.933231 > "226 File transfer complete[CR][LF]" 02:02:05.975953 < "QUIT" 02:02:05.976011 > "221 bye bye baby[CR][LF]" 02:02:05.976882 MAIN sockfilt said DISC 02:02:05.976925 ====> Client disconnected 02:02:05.977006 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:06.119773 ====> Client connect 02:02:06.120158 Received DATA (on stdin) 02:02:06.120175 > 160 bytes data, server => client 02:02:06.120188 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:06.120199 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:06.120210 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:06.125176 < 16 bytes data, client => server 02:02:06.125201 'USER anonymous\r\n' 02:02:06.128732 Received DATA (on stdin) 02:02:06.128748 > 33 bytes data, server => client 02:02:06.128761 '331 We are happy you popped in!\r\n' 02:02:06.128945 < 22 bytes data, client => server 02:02:06.128966 'PASS ftp@example.com\r\n' 02:02:06.129075 Received DATA (on stdin) 02:02:06.129087 > 30 bytes data, server => client 02:02:06.129098 '230 Welcome you silly person\r\n' 02:02:06.129471 < 5 bytes data, client => server 02:02:06.129487 'PWD\r\n' 02:02:06.129590 Received DATA (on stdin) 02:02:06.129602 > 30 bytes data, server => client 02:02:06.129613 '257 "/" is current directory\r\n' 02:02:06.129674 < 6 bytes data, client => server 02:02:06.129685 'EPSV\r\n' 02:02:06.132083 Received DATA (on stdin) 02:02:06.132096 > 38 bytes data, server => client 02:02:06.132107 '229 Entering Passive Mode (|||38891|)\n' 02:02:06.132255 < 8 bytes data, client => server 02:02:06.132270 'TYPE I\r\n' 02:02:06.132443 Received DATA (on stdin) 02:02:06.132455 > 33 bytes data, server => client 02:02:06.132466 '200 I modify TYPE as you wanted\r\n' 02:02:06.132518 < 21 bytes data, client => server 02:02:06.132530 'SIZE verifiedserver\r\n' 02:02:06.132629 Received DATA (on stdin) 02:02:06.132644 > 8 bytes data, server => client 02:02:06.132654 '213 17\r\n' 02:02:06.132700 < 21 bytes data, client => server 02:02:06.132711 'RETR verifiedserver\r\n' 02:02:06.132985 Received DATA (on stdin) 02:02:06.132998 > 29 bytes data, server => client 02:02:06.133009 '150 Binary junk (17 bytes).\r\n' 02:02:06.133370 Received DATA (on stdin) 02:02:06.133383 > 28 bytes data, server => client 02:02:06.133394 '226 File transfer complete\r\n' 02:02:06.175888 < 6 bytes data, client => server 02:02:06.175925 'QUIT\r\n' 02:02:06.176163 Received DATA (on stdin) 02:02:06.176180 > 18 bytes data, server => client 02:02:06.176192 '221 bye bye baby\r\n' 02:02:06.176959 ====> Client disconnect 02:02:06.177155 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:05.131207 Running IPv4 version 02:02:05.131263 Listening on port 38891 02:02:05.131295 Wrote pid 105447 to log/12/server/ftp_sockdata.pid 02:02:05.131865 Received PING (on stdin) 02:02:05.131951 Received PORT (on stdin) 02:02:05.132289 ====> Client connect 02:02:05.132893 Received DATA (on stdin) 02:02:05.132907 > 17 bytes data, server => client 02:02:05.132917 'WE ROOLZ: 80450\r\n' 02:02:05.132948 Received DISC (on stdin) 02:02:05.132960 ====> Client forcibly disconnected 02:02:05.133152 Received QUIT (on stdin) 02:02:05.133164 quits 02:02:05.133210 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 542 === End of file server.cmd === Start of file stderr542 URL: ftp://127.0.0.1:40171/542 === End of file stderr542 === Start of file valgrind542 ==105473== ==105473== Process terminating with default action of signal 4 (SIGILL) ==105473== Illegal opcode at address 0x48EA16B ==105473== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105473== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105473== by 0x48EA16B: Curl_open (url.c:519) ==105473== by 0x4880EEF: curl_easy_init (easy.c:370) ==105473== by 0x109088: UnknownInlinedFun (lib542.c:47) ==105473== by 0x109088: main (first.c:220) ==105473== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105473== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105473== by 0x4A6D258: __tsearch (tsearch.c:337) ==105473== by 0x4A6D258: tsearch (tsearch.c:290) ==105473== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105473== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105473== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105473== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105473== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105473== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105473== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105473== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105473== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105473== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105473== by 0x498986B: setlocale (setlocale.c:337) ==105473== by 0x109045: main (first.c:160) ==105473== ==105473== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105473== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105473== by 0x4A6D258: __tsearch (tsearch.c:337) ==105473== by 0x4A6D258: tsearch (tsearch.c:290) ==105473== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105473== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105473== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105473== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105473== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105473== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105473== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105473== by 0x498986B: setlocale (setlocale.c:337) ==105473== by 0x109045: main (first.c:160) ==105473== ==105473== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105473== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105473== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105473== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105473== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105473== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105473== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105473== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==10547CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind545 ./libtest/lib545 http://127.0.0.1:38781/545 > log/2/stdout545 2> log/2/stderr545 3== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105473== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105473== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105473== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105473== by 0x498986B: setlocale (setlocale.c:337) ==105473== by 0x109045: main (first.c:160) ==105473== ==105473== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105473== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105473== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105473== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105473== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105473== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105473== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105473== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105473== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105473== by 0x498986B: setlocale (setlocale.c:337) ==105473== by 0x109045: main (first.c:160) ==105473== ==105473== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105473== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105473== by 0x48EA143: Curl_open (url.c:510) ==105473== by 0x4880EEF: curl_easy_init (easy.c:370) ==105473== by 0x109088: UnknownInlinedFun (lib542.c:47) ==105473== by 0x109088: main (first.c:220) ==105473== ==105473== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105473== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105473== by 0x4A6D258: __tsearch (tsearch.c:337) ==105473== by 0x4A6D258: tsearch (tsearch.c:290) ==105473== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105473== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105473== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105473== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105473== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105473== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105473== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105473== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105473== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105473== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105473== by 0x498986B: setlocale (setlocale.c:337) ==105473== by 0x109045: main (first.c:160) ==105473== ==105473== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105473== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105473== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105473== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105473== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105473== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105473== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105473== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105473== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105473== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105473== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105473== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105473== by 0x498986B: setlocale (setlocale.c:337) ==105473== by 0x109045: main (first.c:160) ==105473== === End of file valgrind542 test 0545...[HTTP POST binary with embedded zero and no trailing zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind545 ./libtest/lib545 http://127.0.0.1:38781/545 > log/2/stdout545 2> log/2/stderr545 545: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 545 === Start of file http_server.log 02:02:06.443911 ====> Client connect 02:02:06.443952 accept_connection 3 returned 4 02:02:06.443969 accept_connection 3 returned 0 02:02:06.443984 Read 93 bytes 02:02:06.443994 Process 93 bytes request 02:02:06.444009 Got request: GET /verifiedserver HTTP/1.1 02:02:06.444019 Are-we-friendly question received 02:02:06.444045 Wrote request (93 bytes) input to log/2/server.input 02:02:06.444062 Identifying ourselves as friends 02:02:06.444132 Response sent (56 bytes) and written to log/2/server.response 02:02:06.444144 special request received, no persistency 02:02:06.444154 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 545 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr545 URL: http://127.0.0.1:38781/545 === End of file stderr545 === Start of file valgrind545 ==105635== ==105635== Process terminating with default action of signal 4 (SIGILL) ==105635== Illegal opcode at address 0x48EA16B ==105635== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105635== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105635== by 0x48EA16B: Curl_open (url.c:519) ==105635== by 0x4880EEF: curl_easy_init (easy.c:370) ==105635== by 0x109088: UnknownInlinedFun (lib544.c:44) ==105635== by 0x109088: main (first.c:220) ==105635== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105635== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105635== by 0x4A6D258: __tsearch (tsearch.c:337) ==105635== by 0x4A6D258: tsearch (tsearch.c:290) ==105635== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105635== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105635== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105635== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105635== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105635== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105635== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105635== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105635== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105635== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105635== by 0x498986B: setlocale (setlocale.c:337) ==105635== by 0x109045: main (first.c:160) ==105635== ==105635== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105635== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105635== by 0x4A6D258: __tsearch (tsearch.c:337) ==105635== by 0x4A6D258: tsearch (tsearch.c:290) ==105635== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105635== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105635== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105635== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105635== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105635== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105635== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105635== by 0x498986B: setlocale (setlocale.c:337) ==105635== by 0x109045: main (first.c:160) ==105635== ==105635== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105635== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105635== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105635== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105635=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind544 ./libtest/lib544 http://127.0.0.1:44137/544 > log/11/stdout544 2> log/11/stderr544 = by 0x497DBB2: add_alias (gconv_conf.c:178) ==105635== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105635== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105635== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105635== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105635== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105635== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105635== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105635== by 0x498986B: setlocale (setlocale.c:337) ==105635== by 0x109045: main (first.c:160) ==105635== ==105635== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105635== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105635== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105635== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105635== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105635== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105635== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105635== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105635== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105635== by 0x498986B: setlocale (setlocale.c:337) ==105635== by 0x109045: main (first.c:160) ==105635== ==105635== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105635== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105635== by 0x48EA143: Curl_open (url.c:510) ==105635== by 0x4880EEF: curl_easy_init (easy.c:370) ==105635== by 0x109088: UnknownInlinedFun (lib544.c:44) ==105635== by 0x109088: main (first.c:220) ==105635== ==105635== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105635== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105635== by 0x4A6D258: __tsearch (tsearch.c:337) ==105635== by 0x4A6D258: tsearch (tsearch.c:290) ==105635== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105635== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105635== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105635== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105635== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105635== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105635== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105635== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105635== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105635== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105635== by 0x498986B: setlocale (setlocale.c:337) ==105635== by 0x109045: main (first.c:160) ==105635== ==105635== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105635== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105635== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105635== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105635== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105635== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105635== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105635== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105635== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105635== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105635== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105635== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105635== by 0x498986B: setlocale (setlocale.c:337) ==105635== by 0x109045: main (first.c:160) ==105635== === End of file valgrind545 test 0544...[HTTP POST text data using CURLOPT_COPYPOSTFIELDS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind544 ./libtest/lib544 http://127.0.0.1:44137/544 > log/11/stdout544 2> log/11/stderr544 544: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 544 === Start of file http_server.log 02:02:06.335231 ====> Client connect 02:02:06.335268 accept_connection 3 returned 4 02:02:06.335286 accept_connection 3 returned 0 02:02:06.335302 Read 93 bytes 02:02:06.335314 Process 93 bytes request 02:02:06.335327 Got request: GET /verifiedserver HTTP/1.1 02:02:06.335338 Are-we-friendly question received 02:02:06.335362 Wrote request (93 bytes) input to log/11/server.input 02:02:06.335380 Identifying ourselves as friends 02:02:06.335460 Response sent (56 bytes) and written to log/11/server.response 02:02:06.335472 special request received, no persistency 02:02:06.335482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 544 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr544 URL: http://127.0.0.1:44137/544 === End of file stderr544 === Start of file valgrind544 ==105567== ==105567== Process terminating with default action of signal 4 (SIGILL) ==105567== Illegal opcode at address 0x48EA16B ==105567== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105567== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105567== by 0x48EA16B: Curl_open (url.c:519) ==105567== by 0x4880EEF: curl_easy_init (easy.c:370) ==105567== by 0x109088: UnknownInlinedFun (lib544.c:44) ==105567== by 0x109088: main (first.c:220) ==105567== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105567== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105567== by 0x4A6D258: __tsearch (tsearch.c:337) ==105567== by 0x4A6D258: tsearch (tsearch.c:290) ==105567== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105567== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105567== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105567== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105567== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105567== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105567== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105567== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105567== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105567== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105567== by 0x498986B: setlocale (setlocale.c:337) ==105567== by 0x109045: main (first.c:160) ==105567== ==105567== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105567== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105567== by 0x4A6D258: __tsearch (tsearch.c:337) ==105567== by 0x4A6D258: tsearch (tsearch.c:290) ==105567== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105567== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105567== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105567== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105567== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105567== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105567== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105567== by 0x498986B: setlocale (setlocale.c:337) ==105567== by 0x109045: main (first.c:160) ==105567== =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind547 ./libtest/lib547 http://test.remote.example.com/path/547 http://127.0.0.1:36813 testuser:testpass > log/4/stdout547 2> log/4/stderr547 =105567== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105567== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105567== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105567== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105567== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105567== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105567== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105567== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105567== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105567== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105567== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105567== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105567== by 0x498986B: setlocale (setlocale.c:337) ==105567== by 0x109045: main (first.c:160) ==105567== ==105567== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105567== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105567== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105567== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105567== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105567== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105567== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105567== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105567== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105567== by 0x498986B: setlocale (setlocale.c:337) ==105567== by 0x109045: main (first.c:160) ==105567== ==105567== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105567== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105567== by 0x48EA143: Curl_open (url.c:510) ==105567== by 0x4880EEF: curl_easy_init (easy.c:370) ==105567== by 0x109088: UnknownInlinedFun (lib544.c:44) ==105567== by 0x109088: main (first.c:220) ==105567== ==105567== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105567== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105567== by 0x4A6D258: __tsearch (tsearch.c:337) ==105567== by 0x4A6D258: tsearch (tsearch.c:290) ==105567== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105567== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105567== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105567== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105567== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105567== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105567== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105567== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105567== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105567== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105567== by 0x498986B: setlocale (setlocale.c:337) ==105567== by 0x109045: main (first.c:160) ==105567== ==105567== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105567== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105567== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105567== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105567== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105567== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105567== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105567== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105567== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105567== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105567== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105567== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105567== by 0x498986B: setlocale (setlocale.c:337) ==105567== by 0x109045: main (first.c:160) ==105567== === End of file valgrind544 test 0547...[HTTP proxy auth NTLM with POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind547 ./libtest/lib547 http://test.remote.example.com/path/547 http://127.0.0.1:36813 testuser:testpass > log/4/stdout547 2> log/4/stderr547 547: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 547 === Start of file http_server.log 02:02:06.635245 ====> Client connect 02:02:06.635296 accept_connection 3 returned 4 02:02:06.635321 accept_connection 3 returned 0 02:02:06.635342 Read 93 bytes 02:02:06.635356 Process 93 bytes request 02:02:06.635373 Got request: GET /verifiedserver HTTP/1.1 02:02:06.635384 Are-we-friendly question received 02:02:06.636065 Wrote request (93 bytes) input to log/4/server.input 02:02:06.636099 Identifying ourselves as friends 02:02:06.636219 Response sent (56 bytes) and written to log/4/server.response 02:02:06.636236 special request received, no persistency 02:02:06.636248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 547 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr547 URL: http://test.remote.example.com/path/547 === End of file stderr547 === Start of file valgrind547 ==105745== ==105745== Process terminating with default action of signal 4 (SIGILL) ==105745== Illegal opcode at address 0x48EA16B ==105745== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105745== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105745== by 0x48EA16B: Curl_open (url.c:519) ==105745== by 0x4880EEF: curl_easy_init (easy.c:370) ==105745== by 0x1090C0: UnknownInlinedFun (lib547.c:88) ==105745== by 0x1090C0: main (first.c:220) ==105745== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105745== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105745== by 0x4A6D258: __tsearch (tsearch.c:337) ==105745== by 0x4A6D258: tsearch (tsearch.c:290) ==105745== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105745== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105745== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105745== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105745== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105745== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105745== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105745== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105745== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105745== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105745== by 0x498986B: setlocale (setlocale.c:337) ==105745== by 0x109056: main (first.c:160) ==105745== ==105745== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105745== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105745== by 0x4A6D258: __tsearch (tsearch.c:337) ==105745== by 0x4A6D258: tsearch (tsearch.c:290) ==105745== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105745== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105745== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105745== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthreaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind546 ./libtest/lib533 ftp://127.0.0.1:35301/path/546 ftp://127.0.0.1:35301/path/546 > log/9/stdout546 2> log/9/stderr546 d_once.c:116) ==105745== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105745== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105745== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105745== by 0x498986B: setlocale (setlocale.c:337) ==105745== by 0x109056: main (first.c:160) ==105745== ==105745== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105745== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105745== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105745== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105745== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105745== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105745== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105745== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105745== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105745== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105745== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105745== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105745== by 0x498986B: setlocale (setlocale.c:337) ==105745== by 0x109056: main (first.c:160) ==105745== ==105745== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105745== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105745== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105745== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105745== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105745== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105745== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105745== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105745== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105745== by 0x498986B: setlocale (setlocale.c:337) ==105745== by 0x109056: main (first.c:160) ==105745== ==105745== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105745== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105745== by 0x48EA143: Curl_open (url.c:510) ==105745== by 0x4880EEF: curl_easy_init (easy.c:370) ==105745== by 0x1090C0: UnknownInlinedFun (lib547.c:88) ==105745== by 0x1090C0: main (first.c:220) ==105745== ==105745== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105745== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105745== by 0x4A6D258: __tsearch (tsearch.c:337) ==105745== by 0x4A6D258: tsearch (tsearch.c:290) ==105745== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105745== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105745== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105745== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105745== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105745== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105745== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105745== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105745== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105745== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105745== by 0x498986B: setlocale (setlocale.c:337) ==105745== by 0x109056: main (first.c:160) ==105745== ==105745== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105745== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105745== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105745== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105745== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105745== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105745== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105745== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105745== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105745== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105745== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105745== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105745== by 0x498986B: setlocale (setlocale.c:337) ==105745== by 0x109056: main (first.c:160) ==105745== === End of file valgrind547 test 0546...[FTP RETR a non-existing file then a found one using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind546 ./libtest/lib533 ftp://127.0.0.1:35301/path/546 ftp://127.0.0.1:35301/path/546 > log/9/stdout546 2> log/9/stderr546 546: stdout FAILED: --- log/9/check-expected 2024-12-15 02:02:08.525632843 +0000 +++ log/9/check-generated 2024-12-15 02:02:08.525632843 +0000 @@ -1,6 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/9/ dir after test 546 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file ftp_server.log 02:02:06.285458 ====> Client connect 02:02:06.285636 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:06.286066 < "USER anonymous" 02:02:06.286112 > "331 We are happy you popped in![CR][LF]" 02:02:06.286337 < "PASS ftp@example.com" 02:02:06.286375 > "230 Welcome you silly person[CR][LF]" 02:02:06.286575 < "PWD" 02:02:06.286616 > "257 "/" is current directory[CR][LF]" 02:02:06.286821 < "EPSV" 02:02:06.286848 ====> Passive DATA channel requested by client 02:02:06.286864 DATA sockfilt for passive data channel starting... 02:02:06.296623 DATA sockfilt for passive data channel started (pid 105646) 02:02:06.296760 DATA sockfilt for passive data channel listens on port 43973 02:02:06.296807 > "229 Entering Passive Mode (|||43973|)[LF]" 02:02:06.296824 Client has been notified that DATA conn will be accepted on port 43973 02:02:06.297322 Client connects to port 43973 02:02:06.297356 ====> Client established passive DATA connection on port 43973 02:02:06.297486 < "TYPE I" 02:02:06.297521 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:06.298121 < "SIZE verifiedserver" 02:02:06.298165 > "213 17[CR][LF]" 02:02:06.298327 < "RETR verifiedserver" 02:02:06.298388 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:06.298471 =====> Closing passive DATA connection... 02:02:06.298485 Server disconnects passive DATA connection 02:02:06.299289 Server disconnected passive DATA connection 02:02:06.299364 DATA sockfilt for passive data channel quits (pid 105646) 02:02:06.299624 DATA sockfilt for passive data channel quit (pid 105646) 02:02:06.299646 =====> Closed passive DATA connection 02:02:06.299673 > "226 File transfer complete[CR][LF]" 02:02:06.345350 < "QUIT" 02:02:06.345398 > "221 bye bye baby[CR][LF]" 02:02:06.346256 MAIN sockfilt said DISC 02:02:06.346285 ====> Client disconnected 02:02:06.346356 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:06.481871 ====> Client connect 02:02:06.485855 Received DATA (on stdin) 02:02:06.485887 > 160 bytes data, server => client 02:02:06.485901 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:06.485913 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:06.485924 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:06.486032 < 16 bytes data, client => server 02:02:06.486053 'USER anonymous\r\n' 02:02:06.486263 Received DATA (on stdin) 02:02:06.486279 > 33 bytes data, server => client 02:02:06.486292 '331 We are happy you popped in!\r\n' 02:02:06.486361 < 22 bytes data, client => server 02:02:06.486380 'PASS ftp@example.com\r\n' 02:02:06.486521 Received DATA (on stdin) 02:02:06.486536 > 30 bytes data, server => client 02:02:06.486549 '230 Welcome you silly person\r\n' 02:02:06.486613 < 5 bytes data, client => server 02:02:06.486631 'PWD\r\n' 02:02:06.486764 Received DATA (on stdin) 02:02:06.486779 > 30 bytes data, server => client 02:02:06.486792 '257 "/" is current directory\r\n' 02:02:06.486862 < 6 bytes data, client => server 02:02:06.486879 'EPSV\r\n' 02:02:06.496976 Received DATA (on stdin) 02:02:06.496993 > 38 bytes data, server => client 02:02:06.497004 '229 Entering Passive Mode (|||43973|)\n' 02:02:06.497515 < 8 bytes data, client => server 02:02:06.497531 'TYPE I\r\n' 02:02:06.497661 Received DATA (on stdin) 02:02:06.497673 > 33 bytes data, server => client 02:02:06.497684 '200 I modify TYPE as you wanted\r\n' 02:02:06.498153 < 21 bytes data, client => server 02:02:06.498170 'SIZE verifiedserver\r\n' 02:02:06.498305 Received DATA (on stdin) 02:02:06.498316 > 8 bytes data, server => client 02:02:06.498326 '213 17\r\n' 02:02:06.498384 < 21 bytes data, client => server 02:02:06.498395 'RETR verifiedserver\r\n' 02:02:06.499682 Received DATA (on stdin) 02:02:06.499696 > 29 bytes data, server => client 02:02:06.499707 '150 Binary junk (17 bytes).\r\n' 02:02:06.499811 Received DATA (on stdin) 02:02:06.499822 > 28 bytes data, server => client 02:02:06.499832 '226 File transfer complete\r\n' 02:02:06.545295 < 6 bytes data, client => server 02:02:06.545331 'QUIT\r\n' 02:02:06.545540 Received DATA (on stdin) 02:02:06.545551 > 18 bytes data, server => client 02:02:06.545561 '221 bye bye baby\r\n' 02:02:06.546347 ====> Client disconnect 02:02:06.546493 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:06.495879 Running IPv4 version 02:02:06.495948 Listening on port 43973 02:02:06.495989 Wrote pid 105646 to log/9/server/ftp_sockdata.pid 02:02:06.496678 Received PING (on stdin) 02:02:06.496801 Received PORT (on stdin) 02:02:06.497406 ====> Client connect 02:02:06.498625 Received DATA (on stdin) 02:02:06.498639 > 17 bytes data, server => client 02:02:06.498650 'WE ROOLZ: 80452\r\n' 02:02:06.498681 Received DISC (on stdin) 02:02:06.498694 ====> Client forcibly disconnected 02:02:06.499518 Received QUIT (on stdin) 02:02:06.499530 quits 02:02:06.499580 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist COUNT RETR 1 REPLY SIZE 500 Can't check for file existence COUNT SIZE 1 Testnum 546 === End of file server.cmd === Start of file stderr546 URL: ftp://127.0.0.1:35301/path/546 === End of file stderr546 === Start of file valgrind546 ==105681== ==105681== Process terminating with default action of signal 4 (SIGILL) ==105681== Illegal opcode at address 0x48EA16B ==105681== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105681== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105681== by 0x48EA16B: Curl_open (url.c:519) ==105681== by 0x4880EEF: curl_easy_init (easy.c:370) ==105681== by 0x109311: test.part.0 (lib533.c:48) ==105681== by 0x1090AF: UnknownInlinedFun (lib533.c:46) ==105681== by 0x1090AF: main (first.c:220) ==105681== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105681== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105681== by 0x4A6D258: __tsearch (tsearch.c:337) ==105681== by 0x4A6D258: tsearch (tsearch.c:290) ==105681== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105681== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105681== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105681== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105681== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105681== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105681== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105681== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105681== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105681== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105681== by 0x498986B: setlocale (setlocale.c:337) ==105681== by 0x109047: main (first.c:160) ==105681== ==105681== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105681== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105681== by 0x4A6D258: __tsearch (tsearch.c:337) ==105681== by 0x4A6D258: tsearch (tsearch.cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind548 ./libtest/lib548 http://test.remote.example.com/path/548 http://127.0.0.1:34215 testuser:testpass > log/1/stdout548 2> log/1/stderr548 :290) ==105681== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105681== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105681== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105681== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105681== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105681== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105681== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105681== by 0x498986B: setlocale (setlocale.c:337) ==105681== by 0x109047: main (first.c:160) ==105681== ==105681== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105681== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105681== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105681== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105681== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105681== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105681== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105681== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105681== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105681== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105681== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105681== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105681== by 0x498986B: setlocale (setlocale.c:337) ==105681== by 0x109047: main (first.c:160) ==105681== ==105681== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105681== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105681== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105681== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105681== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105681== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105681== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105681== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105681== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105681== by 0x498986B: setlocale (setlocale.c:337) ==105681== by 0x109047: main (first.c:160) ==105681== ==105681== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105681== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105681== by 0x48EA143: Curl_open (url.c:510) ==105681== by 0x4880EEF: curl_easy_init (easy.c:370) ==105681== by 0x109311: test.part.0 (lib533.c:48) ==105681== by 0x1090AF: UnknownInlinedFun (lib533.c:46) ==105681== by 0x1090AF: main (first.c:220) ==105681== ==105681== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105681== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105681== by 0x4A6D258: __tsearch (tsearch.c:337) ==105681== by 0x4A6D258: tsearch (tsearch.c:290) ==105681== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105681== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105681== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105681== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105681== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105681== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105681== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105681== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105681== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105681== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105681== by 0x498986B: setlocale (setlocale.c:337) ==105681== by 0x109047: main (first.c:160) ==105681== ==105681== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105681== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105681== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105681== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105681== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105681== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105681== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105681== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105681== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105681== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105681== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105681== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105681== by 0x498986B: setlocale (setlocale.c:337) ==105681== by 0x109047: main (first.c:160) ==105681== === End of file valgrind546 test 0548...[HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind548 ./libtest/lib548 http://test.remote.example.com/path/548 http://127.0.0.1:34215 testuser:testpass > log/1/stdout548 2> log/1/stderr548 548: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 548 === Start of file http_server.log 02:02:06.913857 ====> Client connect 02:02:06.913887 accept_connection 3 returned 4 02:02:06.913903 accept_connection 3 returned 0 02:02:06.913917 Read 93 bytes 02:02:06.913928 Process 93 bytes request 02:02:06.913941 Got request: GET /verifiedserver HTTP/1.1 02:02:06.913951 Are-we-friendly question received 02:02:06.913972 Wrote request (93 bytes) input to log/1/server.input 02:02:06.913989 Identifying ourselves as friends 02:02:06.914055 Response sent (56 bytes) and written to log/1/server.response 02:02:06.914067 special request received, no persistency 02:02:06.914076 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 548 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr548 URL: http://test.remote.example.com/path/548 === End of file stderr548 === Start of file valgrind548 ==105843== ==105843== Process terminating with default action of signal 4 (SIGILL) ==105843== Illegal opcode at address 0x48EA16B ==105843== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105843== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105843== by 0x48EA16B: Curl_open (url.c:519) ==105843== by 0x4880EEF: curl_easy_init (easy.c:370) ==105843== by 0x1090AA: UnknownInlinedFun (lib547.c:88) ==105843== by 0x1090AA: main (first.c:220) ==105843== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105843== by 0x4A6D258: __tsearch (tsearch.c:337) ==105843== by 0x4A6D258: tsearch (tsearch.c:290) ==105843== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105843== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105843== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105843== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105843== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105843== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105843== by 0x4986ECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind549 ./libtest/lib549 ftp://www.example.com/moo/549 http://127.0.0.1:43753 > log/7/stdout549 2> log/7/stderr549 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind550 ./libtest/lib549 ftp://www.example.com/moo/550 http://127.0.0.1:34527 ascii > log/3/stdout550 2> log/3/stderr550 9D: _nl_find_locale (findlocale.c:298) ==105843== by 0x498986B: setlocale (setlocale.c:337) ==105843== by 0x109047: main (first.c:160) ==105843== ==105843== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105843== by 0x4A6D258: __tsearch (tsearch.c:337) ==105843== by 0x4A6D258: tsearch (tsearch.c:290) ==105843== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105843== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105843== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105843== by 0x498986B: setlocale (setlocale.c:337) ==105843== by 0x109047: main (first.c:160) ==105843== ==105843== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105843== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105843== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105843== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105843== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105843== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105843== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105843== by 0x498986B: setlocale (setlocale.c:337) ==105843== by 0x109047: main (first.c:160) ==105843== ==105843== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105843== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105843== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105843== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105843== by 0x498986B: setlocale (setlocale.c:337) ==105843== by 0x109047: main (first.c:160) ==105843== ==105843== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105843== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105843== by 0x48EA143: Curl_open (url.c:510) ==105843== by 0x4880EEF: curl_easy_init (easy.c:370) ==105843== by 0x1090AA: UnknownInlinedFun (lib547.c:88) ==105843== by 0x1090AA: main (first.c:220) ==105843== ==105843== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105843== by 0x4A6D258: __tsearch (tsearch.c:337) ==105843== by 0x4A6D258: tsearch (tsearch.c:290) ==105843== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105843== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105843== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105843== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105843== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105843== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105843== by 0x498986B: setlocale (setlocale.c:337) ==105843== by 0x109047: main (first.c:160) ==105843== ==105843== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105843== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105843== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105843== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105843== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105843== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105843== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105843== by 0x498986B: setlocale (setlocale.c:337) ==105843== by 0x109047: main (first.c:160) ==105843== === End of file valgrind548 test 0549...[FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind549 ./libtest/lib549 ftp://www.example.com/moo/549 http://127.0.0.1:43753 > log/7/stdout549 2> log/7/stderr549 549: stdout FAILED: --- log/7/check-expected 2024-12-15 02:02:09.345647559 +0000 +++ log/7/check-generated 2024-12-15 02:02:09.345647559 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/7/ dir after test 549 === Start of file check-expected hello[LF] === End of file check-expected === Start of file http_server.log 02:02:07.181886 ====> Client connect 02:02:07.181923 accept_connection 3 returned 4 02:02:07.181942 accept_connection 3 returned 0 02:02:07.181957 Read 93 bytes 02:02:07.181968 Process 93 bytes request 02:02:07.181983 Got request: GET /verifiedserver HTTP/1.1 02:02:07.181993 Are-we-friendly question received 02:02:07.182018 Wrote request (93 bytes) input to log/7/server.input 02:02:07.182036 Identifying ourselves as friends 02:02:07.182111 Response sent (56 bytes) and written to log/7/server.response 02:02:07.182123 special request received, no persistency 02:02:07.182132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 549 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr549 URL: ftp://www.example.com/moo/549 === End of file stderr549 === Start of file valgrind549 ==105911== ==105911== Process terminating with default action of signal 4 (SIGILL) ==105911== Illegal opcode at address 0x48EA16B ==105911== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==105911== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==105911== by 0x48EA16B: Curl_open (url.c:519) ==105911== by 0x4880EEF: curl_easy_init (easy.c:370) ==105911== by 0x1090A8: UnknownInlinedFun (lib549.c:43) ==105911== by 0x1090A8: main (first.c:220) ==105911== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==105911== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105911== by 0x4A6D258: __tsearch (tsearch.c:337) ==105911== by 0x4A6D258: tsearch (tsearch.c:290) ==105911== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105911== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105911== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105911== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105911== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105911== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105911== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105911== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105911== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105911== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105911== by 0x498986B: setlocale (setlocale.c:337) ==105911== by 0x109045: main (first.c:160) ==105911== ==105911== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==105911== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105911== by 0x4A6D258: __tsearch (tsearch.c:337) ==105911== by 0x4A6D258: tsearch (tsearch.c:290) ==105911== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105911== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105911== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105911== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105911== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105911== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105911== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105911== by 0x498986B: setlocale (setlocale.c:337) ==105911== by 0x109045: main (first.c:160) ==105911== ==105911== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==105911== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105911== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105911== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105911== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105911== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105911== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==105911== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==105911== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105911== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105911== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105911== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105911== by 0x498986B: setlocale (setlocale.c:337) ==105911== by 0x109045: main (first.c:160) ==105911== ==105911== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==105911== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105911== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105911== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==105911== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==105911== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105911== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105911== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105911== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105911== by 0x498986B: setlocale (setlocale.c:337) ==105911== by 0x109045: main (first.c:160) ==105911== ==105911== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==105911== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==105911== by 0x48EA143: Curl_open (url.c:510) ==105911== by 0x4880EEF: curl_easy_init (easy.c:370) ==105911== by 0x1090A8: UnknownInlinedFun (lib549.c:43) ==105911== by 0x1090A8: main (first.c:220) ==105911== ==105911== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==105911== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105911== by 0x4A6D258: __tsearch (tsearch.c:337) ==105911== by 0x4A6D258: tsearch (tsearch.c:290) ==105911== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==105911== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105911== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105911== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105911== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105911== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105911== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105911== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105911== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105911== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105911== by 0x498986B: setlocale (setlocale.c:337) ==105911== by 0x109045: main (first.c:160) ==105911== ==105911== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==105911== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==105911== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==105911== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==105911== by 0x497DBB2: add_alias (gconv_conf.c:178) ==105911== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==105911== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==105911== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==105911== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==105911== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==105911== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==105911== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==105911== by 0x498986B: setlocale (setlocale.c:337) ==105911== by 0x109045: main (first.c:160) ==105911== === End of file valgrind549 test 0550...[FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind550 ./libtest/lib549 ftp://www.example.com/moo/550 http://127.0.0.1:34527 ascii > log/3/stdout550 2> log/3/stderr550 550: stdout FAILED: --- log/3/check-expected 2024-12-15 02:02:09.372314703 +0000 +++ log/3/check-generated 2024-12-15 02:02:09.372314703 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/3/ dir after test 550 === Start of file check-expected hello[LF] === End of file check-expected === Start of file http_server.log 02:02:07.711896 ====> Client connect 02:02:07.711935 accept_connection 3 returned 4 02:02:07.711952 accept_connection 3 returned 0 02:02:07.711967 Read 93 bytes 02:02:07.711979 Process 93 bytes request 02:02:07.711994 Got request: GET /verifiedserver HTTP/1.1 02:02:07.712003 Are-we-friendly question received 02:02:07.712028 Wrote request (93 bytes) input to log/3/server.input 02:02:07.712046 Identifying ourselves as friends 02:02:07.712142 Response sent (56 bytes) and written to log/3/server.response 02:02:07.712154 special request received, no persistency 02:02:07.712164 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 550 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr550 URL: ftp://www.example.com/moo/550 === End of file stderr550 === Start of file valgrind550 ==106011== ==106011== Process terminating with default action of signal 4 (SIGILL) ==106011== Illegal opcode at address 0x48EA16B ==106011== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106011== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106011== by 0x48EA16B: Curl_open (url.c:519) ==106011== by 0x4880EEF: curl_easy_init (easy.c:370) ==106011== by 0x1090A8: UnknownInlinedFun (lib549.c:43) ==106011== by 0x1090A8: main (first.c:220) ==106011== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106011== by 0x4A6D258: __tsearch (tsearch.c:337) ==106011== by 0x4A6D258: tsearch (tsearch.c:290) ==106011== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106011== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106011== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106011== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106011== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106011== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106011== by 0x498986B: setlocale (setlocale.c:337) ==106011== by 0x109045: main (first.c:160) ==106011== ==106011== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106011== by 0x4A6D258: __tsearch (tsearch.c:337) ==106011== by 0x4A6D258: tsearch (tsearch.c:290) ==106011== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106011== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106011== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106011== by 0x498986B: setlocale (setlocale.c:337) ==106011== by 0x109045: main (first.c:160) ==106011== ==106011== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106011== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106011== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106011== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106011== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106011== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106011== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106011== by 0x498986B: setlocale (setlocale.c:337) ==106011== by 0x109045: main (first.c:160) ==106011== ==106011== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106011== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106011== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106011== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106011== by 0x498986B: setlocale (setlocale.c:337) ==106011== by 0x109045: main (first.c:160) ==106011== ==106011== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106011== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106011== by 0x48EA143: Curl_open (url.c:510) ==106011== by 0x4880EEF: curl_easy_init (easy.c:370) ==106011== by 0x1090A8: UnknownInlinedFun (lib549.c:43) ==106011== by 0x1090A8: main (first.c:220) ==106011== ==106011== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106011== by 0x4A6D258: __tsearch (tsearch.c:337) ==106011== by 0x4A6D258: tsearch (tsearch.c:290) ==106011== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106011== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106011== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106011== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106011== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106011== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106011== by 0x498986B: setlocale (setlocale.c:337) ==106011== by 0x109045: main (first.c:160) ==106011== ==106011== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106011== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106011== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106011== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106011== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106011== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106011== by 0x497DF71: __gconv_read_conf (gconv_conf.cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind552 ./libtest/lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:39457/ > log/6/stdout552 2> log/6/stderr552 :480) ==106011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106011== by 0x498986B: setlocale (setlocale.c:337) ==106011== by 0x109045: main (first.c:160) ==106011== === End of file valgrind550 test 0552...[HTTP proxy auth Digest with 70K POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind552 ./libtest/lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:39457/ > log/6/stdout552 2> log/6/stderr552 552: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 552 === Start of file http_server.log 02:02:07.825220 ====> Client connect 02:02:07.825258 accept_connection 3 returned 4 02:02:07.825276 accept_connection 3 returned 0 02:02:07.825292 Read 93 bytes 02:02:07.825303 Process 93 bytes request 02:02:07.825319 Got request: GET /verifiedserver HTTP/1.1 02:02:07.825329 Are-we-friendly question received 02:02:07.825356 Wrote request (93 bytes) input to log/6/server.input 02:02:07.825374 Identifying ourselves as friends 02:02:07.825453 Response sent (56 bytes) and written to log/6/server.response 02:02:07.825465 special request received, no persistency 02:02:07.825475 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 552 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file stderr552 URL: http://test.remote.example.com/path/552 === End of file stderr552 === Start of file valgrind552 ==106052== ==106052== Process terminating with default action of signal 4 (SIGILL) ==106052== Illegal opcode at address 0x48EA16B ==106052== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106052== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106052== by 0x48EA16B: Curl_open (url.c:519) ==106052== by 0x4880EEF: curl_easy_init (easy.c:370) ==106052== by 0x1090D2: UnknownInlinedFun (lib552.c:180) ==106052== by 0x1090D2: main (first.c:220) ==106052== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106052== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106052== by 0x4A6D258: __tsearch (tsearch.c:337) ==106052== by 0x4A6D258: tsearch (tsearch.c:290) ==106052== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106052== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106052== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106052== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106052== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106052== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106052== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106052== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106052== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106052== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106052== by 0x498986B: setlocale (setlocale.c:337) ==106052== by 0x109077: main (first.c:160) ==106052== ==106052== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106052== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106052== by 0x4A6D258: __tsearch (tsearch.c:337) ==106052== by 0x4A6D258: tsearch (tsearch.c:290) ==106052== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106052== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106052== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106052== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106052== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106052== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106052== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106052== by 0x498986B: setlocale (setlocale.c:337) ==106052== by 0x109077: main (first.c:160) ==106052== ==106052== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106052== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106052== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106052== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106052== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106052== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106052== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106052== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106052== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106052== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106052== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106052== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106052== by 0x498986B: setlocale (setlocale.c:337) ==106052== by 0x109077: main (first.c:160) ==106052== ==106052== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106052== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106052== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106052== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106052== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106052== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106052== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106052== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106052== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106052== by 0x498986B: setlocale (setlocale.c:337) ==106052== by 0x109077: main (first.c:160) ==106052== ==106052== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106052== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106052== by 0x48EA143: Curl_open (url.c:510) ==106052== by 0x4880EEF: curl_easy_init (easy.c:370) ==106052== by 0x1090D2: UnknownInlinedFun (lib552.c:180) ==106052== by 0x1090D2: main (first.c:220) ==106052== ==106052== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106052== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106052== by 0x4A6D258: __tsearch (tsearch.c:337) ==106052== by 0x4A6D258: tsearch (tsearch.c:290) ==106052== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106052== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106052== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106052== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106052== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106052== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106052== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106052== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106052== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106052== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106052== by 0x498986B: setlocale (setlocale.c:337) ==106052== by 0x109077: main (first.c:160) ==106052== ==106052== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106052== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106052== by 0x497D829: add_alias2.part.0 (gconCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind551 ./libtest/lib547 http://test.remote.example.com/path/551 http://127.0.0.1:33361 s1lly:pers0n > log/5/stdout551 2> log/5/stderr551 v_conf.c:132) ==106052== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106052== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106052== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106052== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106052== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106052== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106052== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106052== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106052== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106052== by 0x498986B: setlocale (setlocale.c:337) ==106052== by 0x109077: main (first.c:160) ==106052== === End of file valgrind552 test 0551...[HTTP proxy auth Digest with POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind551 ./libtest/lib547 http://test.remote.example.com/path/551 http://127.0.0.1:33361 s1lly:pers0n > log/5/stdout551 2> log/5/stderr551 551: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 551 === Start of file http_server.log 02:02:07.788549 ====> Client connect 02:02:07.788589 accept_connection 3 returned 4 02:02:07.788608 accept_connection 3 returned 0 02:02:07.788625 Read 93 bytes 02:02:07.788637 Process 93 bytes request 02:02:07.788652 Got request: GET /verifiedserver HTTP/1.1 02:02:07.788662 Are-we-friendly question received 02:02:07.788697 Wrote request (93 bytes) input to log/5/server.input 02:02:07.788718 Identifying ourselves as friends 02:02:07.788802 Response sent (56 bytes) and written to log/5/server.response 02:02:07.788816 special request received, no persistency 02:02:07.788827 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 551 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file stderr551 URL: http://test.remote.example.com/path/551 === End of file stderr551 === Start of file valgrind551 ==106029== ==106029== Process terminating with default action of signal 4 (SIGILL) ==106029== Illegal opcode at address 0x48EA16B ==106029== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106029== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106029== by 0x48EA16B: Curl_open (url.c:519) ==106029== by 0x4880EEF: curl_easy_init (easy.c:370) ==106029== by 0x1090C0: UnknownInlinedFun (lib547.c:88) ==106029== by 0x1090C0: main (first.c:220) ==106029== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106029== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106029== by 0x4A6D258: __tsearch (tsearch.c:337) ==106029== by 0x4A6D258: tsearch (tsearch.c:290) ==106029== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106029== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106029== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106029== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106029== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106029== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106029== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106029== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106029== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106029== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106029== by 0x498986B: setlocale (setlocale.c:337) ==106029== by 0x109056: main (first.c:160) ==106029== ==106029== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106029== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106029== by 0x4A6D258: __tsearch (tsearch.c:337) ==106029== by 0x4A6D258: tsearch (tsearch.c:290) ==106029== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106029== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106029== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106029== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106029== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106029== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106029== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106029== by 0x498986B: setlocale (setlocale.c:337) ==106029== by 0x109056: main (first.c:160) ==106029== ==106029== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106029== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106029== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106029== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106029== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106029== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106029== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106029== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106029== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106029== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106029== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106029== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106029== by 0x498986B: setlocale (setlocale.c:337) ==106029== by 0x109056: main (first.c:160) ==106029== ==106029== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106029== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106029== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106029== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106029== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106029== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106029== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106029== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106029== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106029== by 0x498986B: setlocale (setlocale.c:337) ==106029== by 0x109056: main (first.c:160) ==106029== ==106029== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106029== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106029== by 0x48EA143: Curl_open (url.c:510) ==106029== by 0x4880EEF: curl_easy_init (easy.c:370) ==106029== by 0x1090C0: UnknownInlinedFun (lib547.c:88) ==106029== by 0x1090C0: main (first.c:220) ==106029== ==106029== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106029== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106029== by 0x4A6D258: __tsearch (tsearch.c:337) ==106029== by 0x4A6D258: tsearch (tsearch.c:290) ==106029== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106029== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106029== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106029== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106029== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106029== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106029== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106029== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106029== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106029== by 0x4986E9D: _nl_find_locCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind557 ./libtest/lib557 nothing > log/11/stdout557 2> log/11/stderr557 ale (findlocale.c:298) ==106029== by 0x498986B: setlocale (setlocale.c:337) ==106029== by 0x109056: main (first.c:160) ==106029== ==106029== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106029== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106029== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106029== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106029== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106029== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106029== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106029== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106029== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106029== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106029== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106029== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106029== by 0x498986B: setlocale (setlocale.c:337) ==106029== by 0x109056: main (first.c:160) ==106029== === End of file valgrind551 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind555 ./libtest/lib555 http://test.remote.example.com/path/555 http://127.0.0.1:40653 testuser:testpass > log/12/stdout555 2> log/12/stderr555 * starts no server test 0557...[curl_mprintf() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind557 ./libtest/lib557 nothing > log/11/stdout557 2> log/11/stderr557 557: stdout FAILED: --- log/11/check-expected 2024-12-15 02:02:09.715654198 +0000 +++ log/11/check-generated 2024-12-15 02:02:09.715654198 +0000 @@ -1,10 +0,0 @@ -All curl_mprintf() unsigned short tests OK![LF] -All curl_mprintf() signed short tests OK![LF] -All curl_mprintf() unsigned int tests OK![LF] -All curl_mprintf() signed int tests OK![LF] -All curl_mprintf() unsigned long tests OK![LF] -All curl_mprintf() signed long tests OK![LF] -All curl_mprintf() curl_off_t tests OK![LF] -All curl_mprintf() strings tests OK![LF] -All float strings tests OK![LF] -All curl_mprintf() octal & hexadecimal tests OK![LF] == Contents of files in the log/11/ dir after test 557 === Start of file check-expected All curl_mprintf() unsigned short tests OK![LF] All curl_mprintf() signed short tests OK![LF] All curl_mprintf() unsigned int tests OK![LF] All curl_mprintf() signed int tests OK![LF] All curl_mprintf() unsigned long tests OK![LF] All curl_mprintf() signed long tests OK![LF] All curl_mprintf() curl_off_t tests OK![LF] All curl_mprintf() strings tests OK![LF] All float strings tests OK![LF] All curl_mprintf() octal & hexadecimal tests OK![LF] === End of file check-expected === Start of file server.cmd Testnum 557 === End of file server.cmd === Start of file stderr557 URL: nothing === End of file stderr557 === Start of file valgrind557 ==106349== ==106349== Process terminating with default action of signal 4 (SIGILL) ==106349== Illegal opcode at address 0x491FA2E ==106349== at 0x491FA2E: formatf.constprop.3 (mprintf.c:809) ==106349== by 0x48BA15A: curl_mvsnprintf (mprintf.c:1075) ==106349== by 0x48BA23B: curl_msnprintf (mprintf.c:1095) ==106349== by 0x1090C9: UnknownInlinedFun (lib557.c:1196) ==106349== by 0x1090C9: UnknownInlinedFun (lib557.c:1530) ==106349== by 0x1090C9: main (first.c:220) ==106349== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==106349== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106349== by 0x4A6D258: __tsearch (tsearch.c:337) ==106349== by 0x4A6D258: tsearch (tsearch.c:290) ==106349== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106349== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106349== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106349== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106349== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106349== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106349== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106349== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106349== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106349== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106349== by 0x498986B: setlocale (setlocale.c:337) ==106349== by 0x109061: main (first.c:160) ==106349== ==106349== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==106349== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106349== by 0x4A6D258: __tsearch (tsearch.c:337) ==106349== by 0x4A6D258: tsearch (tsearch.c:290) ==106349== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106349== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106349== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106349== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106349== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106349== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106349== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106349== by 0x498986B: setlocale (setlocale.c:337) ==106349== by 0x109061: main (first.c:160) ==106349== ==106349== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==106349== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106349== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106349== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106349== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106349== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106349== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106349== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106349== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106349== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106349== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106349== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106349== by 0x498986B: setlocale (setlocale.c:337) ==106349== by 0x109061: main (first.c:160) ==106349== ==106349== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==106349== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106349== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106349== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106349== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106349== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106349== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106349== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106349== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106349== by 0x498986B: setlocale (setlocale.c:337) ==106349== by 0x109061: main (first.c:160) ==106349== ==106349== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==106349== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106349== by 0x4A6D258: __tsearch (tsearch.c:337) ==106349== by 0x4A6D258: tsearch (tsearch.c:290) ==106349== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106349== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106349== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106349== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106349== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106349== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106349== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106349== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106349== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106349== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106349== by 0x498986B: setlocale (setlocale.c:337) ==106349== by 0x109061: main (first.c:160) ==106349== ==106349== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==106349== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106349== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106349== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106349== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106349== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106349== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106349== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106349== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106349== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106349== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106349== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106349== by 0x498986B: setlocale (setlocale.c:337) ==106349== by 0x109061: main (first.c:160) ==106349== === End of file valgrind557 test 0555...[HTTP proxy auth NTLM with POST data from read callback multi-if] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind555 ./libtest/lib555 http://test.remote.example.com/path/555 http://127.0.0.1:40653 testuser:testpass > log/12/stdout555 2> log/12/stderr555 555: protocol FAILED! There was no CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind553 ./libtest/lib553 http://127.0.0.1:43803/path/553 > log/8/stdout553 2> log/8/stderr553 content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 555 === Start of file http_server.log 02:02:08.266647 ====> Client connect 02:02:08.266689 accept_connection 3 returned 4 02:02:08.266706 accept_connection 3 returned 0 02:02:08.266720 Read 93 bytes 02:02:08.266731 Process 93 bytes request 02:02:08.266745 Got request: GET /verifiedserver HTTP/1.1 02:02:08.266755 Are-we-friendly question received 02:02:08.266781 Wrote request (93 bytes) input to log/12/server.input 02:02:08.266798 Identifying ourselves as friends 02:02:08.266862 Response sent (56 bytes) and written to log/12/server.response 02:02:08.266872 special request received, no persistency 02:02:08.266881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 555 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr555 URL: http://test.remote.example.com/path/555 === End of file stderr555 === Start of file valgrind555 ==106272== ==106272== Process terminating with default action of signal 4 (SIGILL) ==106272== Illegal opcode at address 0x48EA16B ==106272== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106272== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106272== by 0x48EA16B: Curl_open (url.c:519) ==106272== by 0x4880EEF: curl_easy_init (easy.c:370) ==106272== by 0x1093E3: test (lib555.c:91) ==106272== by 0x109098: main (first.c:220) ==106272== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106272== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106272== by 0x4A6D258: __tsearch (tsearch.c:337) ==106272== by 0x4A6D258: tsearch (tsearch.c:290) ==106272== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106272== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106272== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106272== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106272== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106272== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106272== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106272== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106272== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106272== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106272== by 0x498986B: setlocale (setlocale.c:337) ==106272== by 0x109047: main (first.c:160) ==106272== ==106272== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106272== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106272== by 0x4A6D258: __tsearch (tsearch.c:337) ==106272== by 0x4A6D258: tsearch (tsearch.c:290) ==106272== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106272== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106272== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106272== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106272== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106272== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106272== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106272== by 0x498986B: setlocale (setlocale.c:337) ==106272== by 0x109047: main (first.c:160) ==106272== ==106272== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106272== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106272== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106272== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106272== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106272== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106272== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106272== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106272== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106272== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106272== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106272== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106272== by 0x498986B: setlocale (setlocale.c:337) ==106272== by 0x109047: main (first.c:160) ==106272== ==106272== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106272== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106272== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106272== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106272== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106272== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106272== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106272== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106272== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106272== by 0x498986B: setlocale (setlocale.c:337) ==106272== by 0x109047: main (first.c:160) ==106272== ==106272== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106272== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106272== by 0x48EA143: Curl_open (url.c:510) ==106272== by 0x4880EEF: curl_easy_init (easy.c:370) ==106272== by 0x1093E3: test (lib555.c:91) ==106272== by 0x109098: main (first.c:220) ==106272== ==106272== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106272== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106272== by 0x4A6D258: __tsearch (tsearch.c:337) ==106272== by 0x4A6D258: tsearch (tsearch.c:290) ==106272== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106272== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106272== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106272== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106272== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106272== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106272== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106272== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106272== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106272== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106272== by 0x498986B: setlocale (setlocale.c:337) ==106272== by 0x109047: main (first.c:160) ==106272== ==106272== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106272== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106272== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106272== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106272== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106272== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106272== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106272== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106272== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106272== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106272== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106272== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106272== by 0x498986B: setlocale (setlocale.c:337) ==106272== by 0x109047: main (first.c:160) ==106272== === End of file valgrind555 test 0553...[HTTP post with huge request headers and post data from callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind553 ./libtest/lib553 http://127.0.0.1:43803/path/553 > log/8/stdout553 2> log/8/stderr553 553: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 553 === Start of file http_server.log 02:02:08.058691 ====> Client connect 02:02:08.058728 accept_connection 3 returned 4 02:02:08.058745 accept_connection 3 returned 0 02:02:08.058760 Read 93 bytes 02:02:08.058771 Process 93 bytes request 02:02:08.058785 Got request: GET /verifiedserver HTTP/1.1 02:02:08.058794 Are-we-friendly question received 02:02:08.058817 Wrote request (93 bytes) input to log/8/server.input 02:02:08.058834 Identifying ourselves as friends 02:02:08.058911 Response sent (56 bytes) and written to log/8/server.response 02:02:08.058922 special request received, no persistency 02:02:08.058931 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 553 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr553 URL: http://127.0.0.1:43803/path/553 === End of file stderr553 === Start of file valgrind553 ==106178== ==106178== Process terminating with default action of signal 4 (SIGILL) ==106178== Illegal opcode at address 0x48EA16B ==106178== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106178== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106178== by 0x48EA16B: Curl_open (url.c:519) ==106178== by 0x4880EEF: curl_easy_init (easy.c:370) ==106178== by 0x109092: UnknownInlinedFun (lib553.c:72) ==106178== by 0x109092: main (first.c:220) ==106178== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106178== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106178== by 0x4A6D258: __tsearch (tsearch.c:337) ==106178== by 0x4A6D258: tsearch (tsearch.c:290) ==106178== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106178== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106178== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106178== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106178== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106178== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106178== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106178== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106178== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106178== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106178== by 0x498986B: setlocale (setlocale.c:337) ==106178== by 0x10904B: main (first.c:160) ==106178== ==106178== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106178== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106178== by 0x4A6D258: __tsearch (tsearch.c:337) ==106178== by 0x4A6D258: tsearch (tsearch.c:290) ==106178== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106178== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106178== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106178== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106178== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106178== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106178== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106178== by 0x498986B: setlocale (setlocale.c:337) ==106178== by 0x10904B: main (first.c:160) ==106178== ==106178== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106178== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106178== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106178== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106178== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106178== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106178== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106178== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106178== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106178== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106178== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106178== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106178== by 0x498986B: setlocale (setlocale.c:337) ==106178== by 0x10904B: main (first.c:160) ==106178== ==106178== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106178== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106178== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106178== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106178== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106178== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106178== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106178== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106178== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106178== by 0x498986B: setlocale (setlocale.c:337) ==106178== by 0x10904B: main (first.c:160) ==106178== ==106178== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106178== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106178== by 0x48EA143: Curl_open (url.c:510) ==106178== by 0x4880EEF: curl_easy_init (easy.c:370) ==106178== by 0x109092: UnknownInlinedFun (lib553.c:72) ==106178== by 0x109092: main (first.c:220) ==106178== ==106178== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106178== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106178== by 0x4A6D258: __tsearch (tsearch.c:337) ==106178== by 0x4A6D258: tsearch (tsearch.c:290) ==106178== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106178== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106178== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106178== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106178== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106178== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106178== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106178== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106178== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106178== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106178== by 0x498986B: setlocale (setlocale.c:337) ==106178== by 0x10904B: main (first.c:160) ==106178== ==106178== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106178== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106178== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106178== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106178== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106178== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106178== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106178== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106178== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106178== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106178== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106178== by 0x4986E9CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind554 ./libtest/lib554 http://127.0.0.1:42929/554 > log/10/stdout554 2> log/10/stderr554 D: _nl_find_locale (findlocale.c:298) ==106178== by 0x498986B: setlocale (setlocale.c:337) ==106178== by 0x10904B: main (first.c:160) ==106178== === End of file valgrind553 test 0554...[HTTP multi-part formpost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind554 ./libtest/lib554 http://127.0.0.1:42929/554 > log/10/stdout554 2> log/10/stderr554 554: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 554 === Start of file http_server.log 02:02:08.211891 ====> Client connect 02:02:08.211927 accept_connection 3 returned 4 02:02:08.211944 accept_connection 3 returned 0 02:02:08.211958 Read 93 bytes 02:02:08.211968 Process 93 bytes request 02:02:08.211984 Got request: GET /verifiedserver HTTP/1.1 02:02:08.211993 Are-we-friendly question received 02:02:08.212015 Wrote request (93 bytes) input to log/10/server.input 02:02:08.212031 Identifying ourselves as friends 02:02:08.212104 Response sent (56 bytes) and written to log/10/server.response 02:02:08.212116 special request received, no persistency 02:02:08.212125 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 554 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr554 URL: http://127.0.0.1:42929/554 === End of file stderr554 === Start of file valgrind554 ==106259== ==106259== Process terminating with default action of signal 4 (SIGILL) ==106259== Illegal opcode at address 0x48EA16B ==106259== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106259== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106259== by 0x48EA16B: Curl_open (url.c:519) ==106259== by 0x4880EEF: curl_easy_init (easy.c:370) ==106259== by 0x109409: test_once (lib554.c:156) ==106259== by 0x10908D: UnknownInlinedFun (lib554.c:216) ==106259== by 0x10908D: main (first.c:220) ==106259== 408 bytes in 17 blocks are possibly lost in loss record 619 of 670 ==106259== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106259== by 0x4A6D258: __tsearch (tsearch.c:337) ==106259== by 0x4A6D258: tsearch (tsearch.c:290) ==106259== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106259== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106259== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106259== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106259== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106259== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106259== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106259== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106259== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106259== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106259== by 0x498986B: setlocale (setlocale.c:337) ==106259== by 0x109047: main (first.c:160) ==106259== ==106259== 552 bytes in 23 blocks are possibly lost in loss record 624 of 670 ==106259== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106259== by 0x4A6D258: __tsearch (tsearch.c:337) ==106259== by 0x4A6D258: tsearch (tsearch.c:290) ==106259== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106259== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106259== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106259== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106259== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106259== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106259== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106259== by 0x498986B: setlocale (setlocale.c:337) ==106259== by 0x109047: main (first.c:160) ==106259== ==106259== 681 bytes in 17 blocks are possibly lost in loss record 630 of 670 ==106259== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106259== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106259== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106259== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106259== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106259== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106259== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106259== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106259== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106259== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106259== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106259== by 0x498986B: setlocale (setlocale.c:337) ==106259== by 0x109047: main (first.c:160) ==106259== ==106259== 1,018 bytes in 23 blocks are possibly lost in loss record 644 of 670 ==106259== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106259== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106259== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106259== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106259== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106259== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106259== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106259== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106259== by 0x498986B: setlocale (setlocale.c:337) ==106259== by 0x109047: main (first.c:160) ==106259== ==106259== 5,480 bytes in 1 blocks are definitely lost in loss record 663 of 670 ==106259== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106259== by 0x48EA143: Curl_open (url.c:510) ==106259== by 0x4880EEF: curl_easy_init (easy.c:370) ==106259== by 0x109409: test_once (lib554.c:156) ==106259== by 0x10908D: UnknownInlinedFun (lib554.c:216) ==106259== by 0x10908D: main (first.c:220) ==106259== ==106259== 11,664 bytes in 486 blocks are possibly lost in loss record 666 of 670 ==106259== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106259== by 0x4A6D258: __tsearch (tsearch.c:337) ==106259== by 0x4A6D258: tsearch (tsearch.c:290) ==106259== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106259== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106259== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106259== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106259== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106259== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106259== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106259== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106259== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106259== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106259== by 0x498986B: setlocale (setlocale.c:337) ==106259== by 0x109047: main (first.c:160) ==106259== ==106259== 18,800 bytes in 486 blocks are possibly lost in loss record 668 of 670 ==106259== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106259== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106259== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106259== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106259== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind556 ./libtest/lib556 http://127.0.0.1:38781 > log/2/stdout556 2> log/2/stderr556 r.h:101) ==106259== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106259== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106259== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106259== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106259== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106259== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106259== by 0x498986B: setlocale (setlocale.c:337) ==106259== by 0x109047: main (first.c:160) ==106259== === End of file valgrind554 test 0556...[send and recv HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind556 ./libtest/lib556 http://127.0.0.1:38781 > log/2/stdout556 2> log/2/stderr556 556: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 556 === Start of file http_server.log 02:02:08.562076 ====> Client connect 02:02:08.562124 accept_connection 3 returned 4 02:02:08.562143 accept_connection 3 returned 0 02:02:08.562160 Read 93 bytes 02:02:08.562171 Process 93 bytes request 02:02:08.562184 Got request: GET /verifiedserver HTTP/1.1 02:02:08.562194 Are-we-friendly question received 02:02:08.562228 Wrote request (93 bytes) input to log/2/server.input 02:02:08.562244 Identifying ourselves as friends 02:02:08.562338 Response sent (56 bytes) and written to log/2/server.response 02:02:08.562349 special request received, no persistency 02:02:08.562358 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 556 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr556 URL: http://127.0.0.1:38781 === End of file stderr556 === Start of file valgrind556 ==106406== ==106406== Process terminating with default action of signal 4 (SIGILL) ==106406== Illegal opcode at address 0x48EA16B ==106406== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106406== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106406== by 0x48EA16B: Curl_open (url.c:519) ==106406== by 0x4880EEF: curl_easy_init (easy.c:370) ==106406== by 0x1091FC: test (lib556.c:50) ==106406== by 0x109076: main (first.c:220) ==106406== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106406== by 0x4A6D258: __tsearch (tsearch.c:337) ==106406== by 0x4A6D258: tsearch (tsearch.c:290) ==106406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106406== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106406== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106406== by 0x498986B: setlocale (setlocale.c:337) ==106406== by 0x109047: main (first.c:160) ==106406== ==106406== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106406== by 0x4A6D258: __tsearch (tsearch.c:337) ==106406== by 0x4A6D258: tsearch (tsearch.c:290) ==106406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106406== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106406== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106406== by 0x498986B: setlocale (setlocale.c:337) ==106406== by 0x109047: main (first.c:160) ==106406== ==106406== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106406== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106406== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106406== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106406== by 0x498986B: setlocale (setlocale.c:337) ==106406== by 0x109047: main (first.c:160) ==106406== ==106406== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106406== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106406== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106406== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106406== by 0x498986B: setlocale (setlocale.c:337) ==106406== by 0x109047: main (first.c:160) ==106406== ==106406== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106406== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106406== by 0x48EA143: Curl_open (url.c:510) ==106406== by 0x4880EEF: curl_easy_init (easy.c:370) ==106406== by 0x1091FC: test (lib556.c:50) ==106406== by 0x109076: main (first.c:220) ==106406== ==106406== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106406== by 0x4A6D258: __tsearch (tsearch.c:337) ==106406== by 0x4A6D258: tsearch (tsearch.c:290) ==106406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106406== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106406== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106406== by 0x498986B: setlocale (setlocale.c:337) ==106406== by 0x109047: main (first.c:160) ==106406== ==106406== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106406== by 0x497D829: add_alias2.part.0 (gCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind559 ./libtest/lib559 http://127.0.0.1:36813/559 > log/4/stdout559 2> log/4/stderr559 conv_conf.c:132) ==106406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106406== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106406== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106406== by 0x498986B: setlocale (setlocale.c:337) ==106406== by 0x109047: main (first.c:160) ==106406== === End of file valgrind556 test 0559...[use tiny CURLOPT_BUFFERSIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind559 ./libtest/lib559 http://127.0.0.1:36813/559 > log/4/stdout559 2> log/4/stderr559 559: data FAILED: --- log/4/check-expected 2024-12-15 02:02:10.482334620 +0000 +++ log/4/check-generated 2024-12-15 02:02:10.482334620 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[LF] -ETag: "21025-dc7-39462498"[LF] -Accept-Ranges: bytes[LF] -Content-Length: 2049[LF] -Connection: close[LF] -Content-Type: text/html[LF] -Silly-header: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] -[LF] -ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] == Contents of files in the log/4/ dir after test 559 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[LF] ETag: "21025-dc7-39462498"[LF] Accept-Ranges: bytes[LF] Content-Length: 2049[LF] Connection: close[LF] Content-Type: text/html[LF] Silly-header: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] [LF] ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] === End of file check-expected === Start of file http_server.log 02:02:08.565208 ====> Client connect 02:02:08.565244 accept_connection 3 returned 4 02:02:08.565261 accept_connection 3 returned 0 02:02:08.565275 Read 93 bytes 02:02:08.565285 Process 93 bytes request 02:02:08.565298 Got request: GET /verifiedserver HTTP/1.1 02:02:08.565308 Are-we-friendly question received 02:02:08.565332 Wrote request (93 bytes) input to log/4/server.input 02:02:08.565349 Identifying ourselves as friends 02:02:08.565430 Response sent (56 bytes) and written to log/4/server.response 02:02:08.565443 special request received, no persistency 02:02:08.565452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 559 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr559 URL: http://127.0.0.1:36813/559 === End of file stderr559 === Start of file valgrind559 ==106415== ==106415== Process terminating with default action of signal 4 (SIGILL) ==106415== Illegal opcode at address 0x48EA16B ==106415== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106415== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106415== by 0x48EA16B: Curl_open (url.c:519) ==106415== by 0x4880EEF: curl_easy_init (easy.c:370) ==106415==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind561 ./libtest/lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:38509 ascii > log/9/stdout561 2> log/9/stderr561 by 0x10908A: UnknownInlinedFun (lib559.c:39) ==106415== by 0x10908A: main (first.c:220) ==106415== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106415== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106415== by 0x4A6D258: __tsearch (tsearch.c:337) ==106415== by 0x4A6D258: tsearch (tsearch.c:290) ==106415== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106415== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106415== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106415== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106415== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106415== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106415== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106415== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106415== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106415== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106415== by 0x498986B: setlocale (setlocale.c:337) ==106415== by 0x109047: main (first.c:160) ==106415== ==106415== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106415== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106415== by 0x4A6D258: __tsearch (tsearch.c:337) ==106415== by 0x4A6D258: tsearch (tsearch.c:290) ==106415== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106415== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106415== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106415== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106415== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106415== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106415== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106415== by 0x498986B: setlocale (setlocale.c:337) ==106415== by 0x109047: main (first.c:160) ==106415== ==106415== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106415== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106415== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106415== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106415== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106415== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106415== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106415== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106415== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106415== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106415== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106415== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106415== by 0x498986B: setlocale (setlocale.c:337) ==106415== by 0x109047: main (first.c:160) ==106415== ==106415== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106415== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106415== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106415== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106415== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106415== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106415== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106415== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106415== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106415== by 0x498986B: setlocale (setlocale.c:337) ==106415== by 0x109047: main (first.c:160) ==106415== ==106415== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106415== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106415== by 0x48EA143: Curl_open (url.c:510) ==106415== by 0x4880EEF: curl_easy_init (easy.c:370) ==106415== by 0x10908A: UnknownInlinedFun (lib559.c:39) ==106415== by 0x10908A: main (first.c:220) ==106415== ==106415== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106415== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106415== by 0x4A6D258: __tsearch (tsearch.c:337) ==106415== by 0x4A6D258: tsearch (tsearch.c:290) ==106415== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106415== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106415== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106415== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106415== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106415== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106415== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106415== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106415== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106415== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106415== by 0x498986B: setlocale (setlocale.c:337) ==106415== by 0x109047: main (first.c:160) ==106415== ==106415== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106415== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106415== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106415== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106415== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106415== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106415== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106415== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106415== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106415== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106415== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106415== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106415== by 0x498986B: setlocale (setlocale.c:337) ==106415== by 0x109047: main (first.c:160) ==106415== === End of file valgrind559 test 0561...[FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind561 ./libtest/lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:38509 ascii > log/9/stdout561 2> log/9/stderr561 561: stdout FAILED: --- log/9/check-expected 2024-12-15 02:02:10.615670346 +0000 +++ log/9/check-generated 2024-12-15 02:02:10.615670346 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/9/ dir after test 561 === Start of file check-expected hello[LF] === End of file check-expected === Start of file http_server.log 02:02:08.818853 ====> Client connect 02:02:08.818888 accept_connection 3 returned 4 02:02:08.818906 accept_connection 3 returned 0 02:02:08.818921 Read 93 bytes 02:02:08.818932 Process 93 bytes request 02:02:08.818947 Got request: GET /verifiedserver HTTP/1.1 02:02:08.818957 Are-we-friendly question received 02:02:08.818981 Wrote request (93 bytes) input to log/9/server.input 02:02:08.818999 Identifying ourselves as friends 02:02:08.819070 Response sent (56 bytes) and written to log/9/server.response 02:02:08.819082 special request received, no persistency 02:02:08.819091 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 561 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr561 URL: ftp://www.example.com/moo/561;type=i === End of file stderr561 === Start of file valgrind561 ==106539== ==106539== Process terminating with default action of signal 4 (SIGILL) ==106539== Illegal opcode at address 0x48EA16B ==106539== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106539== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106539== by 0x48EA16B: Curl_open (url.c:519) ==106539== by 0x4880EEF: curl_easy_init (easy.c:370) ==106539== by 0x1090A8: UnknownInlinedFun (lib549.c:43) ==106539== by 0x1090A8: main (first.c:220) ==106539== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106539== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106539== by 0x4A6D258: __tsearch (tsearch.c:337) ==106539== by 0x4A6D258: tsearch (tsearch.c:290) ==106539== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106539== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106539== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106539== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106539== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106539== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106539== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106539== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106539== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106539== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106539== by 0x498986B: setlocale (setlocale.c:337) ==106539== by 0x109045: main (first.c:160) ==106539== ==106539== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106539== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106539== by 0x4A6D258: __tsearch (tsearch.c:337) ==106539== by 0x4A6D258: tsearch (tsearch.c:290) ==106539== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106539== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106539== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106539== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106539== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106539== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106539== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106539== by 0x498986B: setlocale (setlocale.c:337) ==106539== by 0x109045: main (first.c:160) ==106539== ==106539== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106539== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106539== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106539== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106539== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106539== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106539== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106539== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106539== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106539== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106539== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106539== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106539== by 0x498986B: setlocale (setlocale.c:337) ==106539== by 0x109045: main (first.c:160) ==106539== ==106539== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106539== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106539== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106539== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106539== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106539== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106539== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106539== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106539== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106539== by 0x498986B: setlocale (setlocale.c:337) ==106539== by 0x109045: main (first.c:160) ==106539== ==106539== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106539== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106539== by 0x48EA143: Curl_open (url.c:510) ==106539== by 0x4880EEF: curl_easy_init (easy.c:370) ==106539== by 0x1090A8: UnknownInlinedFun (lib549.c:43) ==106539== by 0x1090A8: main (first.c:220) ==106539== ==106539== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106539== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106539== by 0x4A6D258: __tsearch (tsearch.c:337) ==106539== by 0x4A6D258: tsearch (tsearch.c:290) ==106539== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106539== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106539== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106539== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106539== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106539== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106539== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106539== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106539== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106539== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106539== by 0x498986B: setlocale (setlocale.c:337) ==106539== by 0x109045: main (first.c:160) ==106539== ==106539== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106539== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106539== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106539== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106539== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106539== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106539== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106539== by 0x497DF71: __gconv_read_conf CMD (0): ../src/curl --max-time 13 --output log/11/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:35051/verifiedserver" 2>log/11/rtsp_verify.log CMD (0): ../src/curl --max-time 13 --output log/12/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:38759/verifiedserver" 2>log/12/rtsp_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind562 ./libtest/lib562 'ftp://127.0.0.1:23456/562;type=A' 44405 > log/1/stdout562 2> log/1/stderr562 (gconv_conf.c:480) ==106539== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106539== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106539== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106539== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106539== by 0x498986B: setlocale (setlocale.c:337) ==106539== by 0x109045: main (first.c:160) ==106539== === End of file valgrind561 test 0562...[FTP a type=A URL and CURLOPT_PORT set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind562 ./libtest/lib562 'ftp://127.0.0.1:23456/562;type=A' 44405 > log/1/stdout562 2> log/1/stderr562 562: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 562 === Start of file ftp_server.log 02:02:09.189543 ====> Client connect 02:02:09.189743 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:09.190098 < "USER anonymous" 02:02:09.190145 > "331 We are happy you popped in![CR][LF]" 02:02:09.190364 < "PASS ftp@example.com" 02:02:09.190402 > "230 Welcome you silly person[CR][LF]" 02:02:09.190578 < "PWD" 02:02:09.190613 > "257 "/" is current directory[CR][LF]" 02:02:09.190782 < "EPSV" 02:02:09.190807 ====> Passive DATA channel requested by client 02:02:09.190820 DATA sockfilt for passive data channel starting... 02:02:09.192614 DATA sockfilt for passive data channel started (pid 106619) 02:02:09.192706 DATA sockfilt for passive data channel listens on port 34757 02:02:09.192742 > "229 Entering Passive Mode (|||34757|)[LF]" 02:02:09.192757 Client has been notified that DATA conn will be accepted on port 34757 02:02:09.193010 Client connects to port 34757 02:02:09.193041 ====> Client established passive DATA connection on port 34757 02:02:09.193107 < "TYPE I" 02:02:09.193134 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:09.193290 < "SIZE verifiedserver" 02:02:09.193324 > "213 17[CR][LF]" 02:02:09.193472 < "RETR verifiedserver" 02:02:09.193507 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:09.193584 =====> Closing passive DATA connection... 02:02:09.193597 Server disconnects passive DATA connection 02:02:09.193818 Server disconnected passive DATA connection 02:02:09.193844 DATA sockfilt for passive data channel quits (pid 106619) 02:02:09.194039 DATA sockfilt for passive data channel quit (pid 106619) 02:02:09.194058 =====> Closed passive DATA connection 02:02:09.194083 > "226 File transfer complete[CR][LF]" 02:02:09.238689 < "QUIT" 02:02:09.238742 > "221 bye bye baby[CR][LF]" 02:02:09.240099 MAIN sockfilt said DISC 02:02:09.240146 ====> Client disconnected 02:02:09.240217 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:09.389541 ====> Client connect 02:02:09.389909 Received DATA (on stdin) 02:02:09.389928 > 160 bytes data, server => client 02:02:09.389941 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:09.389954 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:09.389964 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:09.390062 < 16 bytes data, client => server 02:02:09.390078 'USER anonymous\r\n' 02:02:09.390293 Received DATA (on stdin) 02:02:09.390308 > 33 bytes data, server => client 02:02:09.390320 '331 We are happy you popped in!\r\n' 02:02:09.390388 < 22 bytes data, client => server 02:02:09.390400 'PASS ftp@example.com\r\n' 02:02:09.390545 Received DATA (on stdin) 02:02:09.390557 > 30 bytes data, server => client 02:02:09.390569 '230 Welcome you silly person\r\n' 02:02:09.390624 < 5 bytes data, client => server 02:02:09.390636 'PWD\r\n' 02:02:09.390752 Received DATA (on stdin) 02:02:09.390765 > 30 bytes data, server => client 02:02:09.390775 '257 "/" is current directory\r\n' 02:02:09.390834 < 6 bytes data, client => server 02:02:09.390846 'EPSV\r\n' 02:02:09.392900 Received DATA (on stdin) 02:02:09.392913 > 38 bytes data, server => client 02:02:09.392924 '229 Entering Passive Mode (|||34757|)\n' 02:02:09.393066 < 8 bytes data, client => server 02:02:09.393083 'TYPE I\r\n' 02:02:09.393273 Received DATA (on stdin) 02:02:09.393284 > 33 bytes data, server => client 02:02:09.393296 '200 I modify TYPE as you wanted\r\n' 02:02:09.393347 < 21 bytes data, client => server 02:02:09.393359 'SIZE verifiedserver\r\n' 02:02:09.393461 Received DATA (on stdin) 02:02:09.393472 > 8 bytes data, server => client 02:02:09.393482 '213 17\r\n' 02:02:09.393531 < 21 bytes data, client => server 02:02:09.393542 'RETR verifiedserver\r\n' 02:02:09.393828 Received DATA (on stdin) 02:02:09.393841 > 29 bytes data, server => client 02:02:09.393851 '150 Binary junk (17 bytes).\r\n' 02:02:09.394222 Received DATA (on stdin) 02:02:09.394234 > 28 bytes data, server => client 02:02:09.394245 '226 File transfer complete\r\n' 02:02:09.438638 < 6 bytes data, client => server 02:02:09.438670 'QUIT\r\n' 02:02:09.438890 Received DATA (on stdin) 02:02:09.438906 > 18 bytes data, server => client 02:02:09.438918 '221 bye bye baby\r\n' 02:02:09.439735 ====> Client disconnect 02:02:09.440361 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:09.392479 Running IPv4 version 02:02:09.392532 Listening on port 34757 02:02:09.392569 Wrote pid 106619 to log/1/server/ftp_sockdata.pid 02:02:09.392698 Received PING (on stdin) 02:02:09.392768 Received PORT (on stdin) 02:02:09.393102 ====> Client connect 02:02:09.393737 Received DATA (on stdin) 02:02:09.393751 > 17 bytes data, server => client 02:02:09.393761 'WE ROOLZ: 88524\r\n' 02:02:09.393792 Received DISC (on stdin) 02:02:09.393804 ====> Client forcibly disconnected 02:02:09.393992 Received QUIT (on stdin) 02:02:09.394003 quits 02:02:09.394058 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 562 === End of file server.cmd === Start of file stderr562 URL: ftp://127.0.0.1:23456/562;type=A === End of file stderr562 === Start of file valgrind562 ==106623== ==106623== Process terminating with default action of signal 4 (SIGILL) ==106623== Illegal opcode at address 0x48EA16B ==106623== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106623== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106623== by 0x48EA16B: Curl_open (url.c:519) ==106623== by 0x4880EEF: curl_easy_init (easy.c:370) ==106623== by 0x10909A: UnknownInlinedFun (lib562.c:51) ==106623== by 0x10909A: main (first.c:220) ==106623== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106623== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106623== by 0x4A6D258: __tsearch (tsearch.c:337) ==106623== by 0x4A6D258: tsearch (tsearch.c:290) ==106623== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106623== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106623== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106623== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106623== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106623== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106623== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106623== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106623== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106623== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106623== by 0x498986B: setlocale (setlocale.c:337) ==106623== by 0x109045: main (first.c:160) ==106623== ==106623== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106623== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106623== by 0x4A6D258: __tsearch (tsearch.c:337) ==106623== by 0x4A6D258: tsearch (tsearch.c:290) ==106623== by 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind563 ./libtest/lib562 "ftp://127.0.0.1:23456/563;type=A" 41879 > log/7/stdout563 2> log/7/stderr563 x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106623== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106623== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106623== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106623== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106623== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106623== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106623== by 0x498986B: setlocale (setlocale.c:337) ==106623== by 0x109045: main (first.c:160) ==106623== ==106623== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106623== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106623== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106623== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106623== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106623== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106623== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106623== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106623== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106623== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106623== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106623== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106623== by 0x498986B: setlocale (setlocale.c:337) ==106623== by 0x109045: main (first.c:160) ==106623== ==106623== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106623== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106623== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106623== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106623== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106623== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106623== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106623== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106623== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106623== by 0x498986B: setlocale (setlocale.c:337) ==106623== by 0x109045: main (first.c:160) ==106623== ==106623== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106623== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106623== by 0x48EA143: Curl_open (url.c:510) ==106623== by 0x4880EEF: curl_easy_init (easy.c:370) ==106623== by 0x10909A: UnknownInlinedFun (lib562.c:51) ==106623== by 0x10909A: main (first.c:220) ==106623== ==106623== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106623== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106623== by 0x4A6D258: __tsearch (tsearch.c:337) ==106623== by 0x4A6D258: tsearch (tsearch.c:290) ==106623== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106623== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106623== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106623== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106623== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106623== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106623== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106623== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106623== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106623== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106623== by 0x498986B: setlocale (setlocale.c:337) ==106623== by 0x109045: main (first.c:160) ==106623== ==106623== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106623== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106623== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106623== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106623== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106623== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106623== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106623== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106623== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106623== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106623== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106623== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106623== by 0x498986B: setlocale (setlocale.c:337) ==106623== by 0x109045: main (first.c:160) ==106623== === End of file valgrind562 setenv ftp_proxy = http://127.0.0.1:43753/ test 0563...[FTP type=A URL and CURLOPT_PORT set and proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind563 ./libtest/lib562 "ftp://127.0.0.1:23456/563;type=A" 41879 > log/7/stdout563 2> log/7/stderr563 563: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 563 === Start of file ftp_server.log 02:02:09.565141 ====> Client connect 02:02:09.565271 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:09.565533 < "USER anonymous" 02:02:09.565573 > "331 We are happy you popped in![CR][LF]" 02:02:09.565738 < "PASS ftp@example.com" 02:02:09.565764 > "230 Welcome you silly person[CR][LF]" 02:02:09.565914 < "PWD" 02:02:09.565945 > "257 "/" is current directory[CR][LF]" 02:02:09.566098 < "EPSV" 02:02:09.566120 ====> Passive DATA channel requested by client 02:02:09.566133 DATA sockfilt for passive data channel starting... 02:02:09.567858 DATA sockfilt for passive data channel started (pid 106723) 02:02:09.567962 DATA sockfilt for passive data channel listens on port 46623 02:02:09.567997 > "229 Entering Passive Mode (|||46623|)[LF]" 02:02:09.568013 Client has been notified that DATA conn will be accepted on port 46623 02:02:09.568291 Client connects to port 46623 02:02:09.568323 ====> Client established passive DATA connection on port 46623 02:02:09.568403 < "TYPE I" 02:02:09.568429 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:09.568587 < "SIZE verifiedserver" 02:02:09.568626 > "213 17[CR][LF]" 02:02:09.568769 < "RETR verifiedserver" 02:02:09.568801 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:09.571539 =====> Closing passive DATA connection... 02:02:09.571568 Server disconnects passive DATA connection 02:02:09.571593 Fancy that; client wants to DISC, too 02:02:09.571685 Server disconnected passive DATA connection 02:02:09.571720 DATA sockfilt for passive data channel quits (pid 106723) 02:02:09.571962 DATA sockfilt for passive data channel quit (pid 106723) 02:02:09.571984 =====> Closed passive DATA connection 02:02:09.572013 > "226 File transfer complete[CR][LF]" 02:02:09.621921 < "QUIT" 02:02:09.621983 > "221 bye bye baby[CR][LF]" 02:02:09.631731 MAIN sockfilt said DISC 02:02:09.631831 ====> Client disconnected 02:02:09.631919 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:09.765182 ====> Client connect 02:02:09.765419 Received DATA (on stdin) 02:02:09.765434 > 160 bytes data, server => client 02:02:09.765447 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:09.765458 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:09.765468 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:09.765555 < 16 bytes data, client => server 02:02:09.765567 'USER anonymous\r\n' 02:02:09.765714 Received DATA (on stdin) 02:02:09.765725 > 33 bytes data, server => client 02:02:09.765736 '331 We are happy you popped in!\r\n' 02:02:09.765791 < 22 bytes data, client => server 02:02:09.765803 'PASS ftp@example.com\r\n' 02:02:09.765901 Received DATA (on stdin) 02:02:09.765912 > 30 bytes data, server => client 02:02:09.765923 '230 Welcome you silly person\r\n' 02:02:09.765975 < 5 bytes data, client => server 02:02:09.765986 'PWD\r\n' 02:02:09.766082 Received DATA (on stdin) 02:02:09.766093 > 30 bytes data, server => client 02:02:09.766104 '257 "/" is current directory\r\n' 02:02:09.766160 < 6 bytes data, client => server 02:02:09.766171 'EPSV\r\n' 02:02:09.768156 Received DATA (on stdin) 02:02:09.768170 > 38 bytes data, server => client 02:02:09.768183 '229 Entering Passive Mode (|||46623|)\n' 02:02:09.768348 < 8 bytes data, client => server 02:02:09.768363 'TYPE I\r\n' 02:02:09.768569 Received DATA (on stdin) 02:02:09.768582 > 33 bytes data, server => client 02:02:09.768593 '200 I modify TYPE as you wanted\r\n' 02:02:09.768647 < 21 bytes data, client => server 02:02:09.768658 'SIZE verifiedserver\r\n' 02:02:09.768766 Received DATA (on stdin) 02:02:09.768777 > 8 bytes data, server => client 02:02:09.768788 '213 17\r\n' 02:02:09.768835 < 21 bytes data, client => server 02:02:09.768846 'RETR verifiedserver\r\n' 02:02:09.771380 Received DATA (on stdin) 02:02:09.771401 > 29 bytes data, server => client 02:02:09.771413 '150 Binary junk (17 bytes).\r\n' 02:02:09.772155 Received DATA (on stdin) 02:02:09.772169 > 28 bytes data, server => client 02:02:09.772180 '226 File transfer complete\r\n' 02:02:09.815287 < 6 bytes data, client => server 02:02:09.815325 'QUIT\r\n' 02:02:09.822145 Received DATA (on stdin) 02:02:09.822168 > 18 bytes data, server => client 02:02:09.822181 '221 bye bye baby\r\n' 02:02:09.823203 ====> Client disconnect 02:02:09.835192 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:09.767710 Running IPv4 version 02:02:09.767767 Listening on port 46623 02:02:09.767805 Wrote pid 106723 to log/7/server/ftp_sockdata.pid 02:02:09.767944 Received PING (on stdin) 02:02:09.768021 Received PORT (on stdin) 02:02:09.768383 ====> Client connect 02:02:09.771446 Received DATA (on stdin) 02:02:09.771462 > 17 bytes data, server => client 02:02:09.771473 'WE ROOLZ: 80479\r\n' 02:02:09.771564 ====> Client disconnect 02:02:09.771732 Received DISC (on stdin) 02:02:09.771747 Crikey! Client also wants to disconnect 02:02:09.771759 Received ACKD (on stdin) 02:02:09.771871 Received QUIT (on stdin) 02:02:09.771883 quits 02:02:09.771936 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:02:09.666383 ====> Client connect 02:02:09.666420 accept_connection 3 returned 4 02:02:09.666438 accept_connection 3 returned 0 02:02:09.666453 Read 93 bytes 02:02:09.666465 Process 93 bytes request 02:02:09.666478 Got request: GET /verifiedserver HTTP/1.1 02:02:09.666489 Are-we-friendly question received 02:02:09.666519 Wrote request (93 bytes) input to log/7/server.input 02:02:09.666537 Identifying ourselves as friends 02:02:09.666609 Response sent (56 bytes) and written to log/7/server.response 02:02:09.666620 special request received, no persistency 02:02:09.666630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 563 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr563 URL: ftp://127.0.0.1:23456/563;type=A === End of file stderr563 === Start of file valgrind563 ==106753== ==106753== Process terminating with default action of signal 4 (SIGILL) ==106753== Illegal opcode at address 0x48EA16B ==106753== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106753== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106753== by 0x48EA16B: Curl_open (url.c:519) ==106753== by 0x4880EEF: curl_easy_init (easy.c:370) ==106753== by 0x10909A: UnknownInlinedFun (lib562.c:51) ==106753== by 0x10909A: main (first.c:220) ==106753== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106753== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106753== by 0x4A6D258: __tsearch (tsearch.c:337) ==106753== by 0x4A6D258: tsearch (tsearch.c:290) ==106753== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106753== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106753== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106753== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106753== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106753== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106753== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106753== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106753== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106753== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106753== by 0x498986B: setlocale (setlocale.c:337) ==106753== by 0x109045: main (first.c:160) ==106753== ==106753== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106753== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106753== by 0x4A6D258: __tsearch (tsearch.c:337) ==106753== by 0x4A6D258: tsearch (tsearch.c:290) ==106753== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106753== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106753== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106753== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106753== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106753== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106753== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106753== by 0x498986B: setlocale (setlocale.c:337) ==106753== by 0x109045: main (first.c:160) ==106753== ==106753== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106753== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106753== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106753== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106753== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106753== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106753== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106753== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106753== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106753== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106753== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106753== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106753== by 0x498986B: setlocale (setlocale.c:337) ==106753== by 0x109045: main (first.c:160) ==106753== ==106753== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106753== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106753== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106753== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106753== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106753== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106753== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106753== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106753== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106753== by 0x498986B: setlocale (setlocale.c:337) ==106753== by 0x109045: main (first.c:160) ==106753== ==106753== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106753== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106753== by 0x48EA143: Curl_open (url.c:510) ==106753== by 0x4880EEF: curl_easy_init (eCMD (0): ../src/curl --max-time 13 --output log/8/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:41905/verifiedserver" 2>log/8/rtsp_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind565 ./libtest/lib565 http://127.0.0.1:39457/565 > log/6/stdout565 2> log/6/stderr565 asy.c:370) ==106753== by 0x10909A: UnknownInlinedFun (lib562.c:51) ==106753== by 0x10909A: main (first.c:220) ==106753== ==106753== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106753== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106753== by 0x4A6D258: __tsearch (tsearch.c:337) ==106753== by 0x4A6D258: tsearch (tsearch.c:290) ==106753== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106753== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106753== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106753== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106753== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106753== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106753== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106753== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106753== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106753== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106753== by 0x498986B: setlocale (setlocale.c:337) ==106753== by 0x109045: main (first.c:160) ==106753== ==106753== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106753== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106753== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106753== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106753== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106753== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106753== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106753== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106753== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106753== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106753== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106753== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106753== by 0x498986B: setlocale (setlocale.c:337) ==106753== by 0x109045: main (first.c:160) ==106753== === End of file valgrind563 test 0565...[send HTTP POST using read callback, chunked transfer-encoding and Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind565 ./libtest/lib565 http://127.0.0.1:39457/565 > log/6/stdout565 2> log/6/stderr565 565: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 565 === Start of file http_server.log 02:02:09.855658 ====> Client connect 02:02:09.855694 accept_connection 3 returned 4 02:02:09.855711 accept_connection 3 returned 0 02:02:09.855726 Read 93 bytes 02:02:09.855738 Process 93 bytes request 02:02:09.855754 Got request: GET /verifiedserver HTTP/1.1 02:02:09.855764 Are-we-friendly question received 02:02:09.855790 Wrote request (93 bytes) input to log/6/server.input 02:02:09.855808 Identifying ourselves as friends 02:02:09.856053 Response sent (56 bytes) and written to log/6/server.response 02:02:09.856067 special request received, no persistency 02:02:09.856077 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 565 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file stderr565 URL: http://127.0.0.1:39457/565 === End of file stderr565 === Start of file valgrind565 ==106758== ==106758== Process terminating with default action of signal 4 (SIGILL) ==106758== Illegal opcode at address 0x48EA16B ==106758== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106758== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106758== by 0x48EA16B: Curl_open (url.c:519) ==106758== by 0x4880EEF: curl_easy_init (easy.c:370) ==106758== by 0x1090A1: UnknownInlinedFun (lib510.c:77) ==106758== by 0x1090A1: main (first.c:220) ==106758== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106758== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106758== by 0x4A6D258: __tsearch (tsearch.c:337) ==106758== by 0x4A6D258: tsearch (tsearch.c:290) ==106758== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106758== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106758== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106758== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106758== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106758== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106758== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106758== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106758== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106758== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106758== by 0x498986B: setlocale (setlocale.c:337) ==106758== by 0x109056: main (first.c:160) ==106758== ==106758== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106758== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106758== by 0x4A6D258: __tsearch (tsearch.c:337) ==106758== by 0x4A6D258: tsearch (tsearch.c:290) ==106758== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106758== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106758== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106758== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106758== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106758== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106758== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106758== by 0x498986B: setlocale (setlocale.c:337) ==106758== by 0x109056: main (first.c:160) ==106758== ==106758== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106758== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106758== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106758== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106758== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106758== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106758== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106758== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106758== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106758== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106758== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106758== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106758== by 0x498986B: setlocale (setlocale.c:337) ==106758== by 0x109056: main (first.c:160) ==106758== ==106758== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106758== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106758== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106758== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106758== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106758== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106758== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106758== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106758== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106758== by 0x498986B: setlocale (setlocale.c:337) ==106758==CMD (0): ../src/curl --max-time 13 --output log/10/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:39403/verifiedserver" 2>log/10/rtsp_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind566 ./libtest/lib566 http://127.0.0.1:33361/566 log/5/ip566 > log/5/stdout566 2> log/5/stderr566 by 0x109056: main (first.c:160) ==106758== ==106758== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106758== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106758== by 0x48EA143: Curl_open (url.c:510) ==106758== by 0x4880EEF: curl_easy_init (easy.c:370) ==106758== by 0x1090A1: UnknownInlinedFun (lib510.c:77) ==106758== by 0x1090A1: main (first.c:220) ==106758== ==106758== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106758== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106758== by 0x4A6D258: __tsearch (tsearch.c:337) ==106758== by 0x4A6D258: tsearch (tsearch.c:290) ==106758== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106758== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106758== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106758== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106758== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106758== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106758== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106758== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106758== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106758== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106758== by 0x498986B: setlocale (setlocale.c:337) ==106758== by 0x109056: main (first.c:160) ==106758== ==106758== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106758== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106758== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106758== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106758== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106758== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106758== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106758== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106758== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106758== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106758== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106758== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106758== by 0x498986B: setlocale (setlocale.c:337) ==106758== by 0x109056: main (first.c:160) ==106758== === End of file valgrind565 test 0566...[HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind566 ./libtest/lib566 http://127.0.0.1:33361/566 log/5/ip566 > log/5/stdout566 2> log/5/stderr566 566: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 566 === Start of file http_server.log 02:02:09.953934 ====> Client connect 02:02:09.953970 accept_connection 3 returned 4 02:02:09.953989 accept_connection 3 returned 0 02:02:09.954006 Read 93 bytes 02:02:09.954018 Process 93 bytes request 02:02:09.954034 Got request: GET /verifiedserver HTTP/1.1 02:02:09.954044 Are-we-friendly question received 02:02:09.954075 Wrote request (93 bytes) input to log/5/server.input 02:02:09.954097 Identifying ourselves as friends 02:02:09.954166 Response sent (56 bytes) and written to log/5/server.response 02:02:09.954177 special request received, no persistency 02:02:09.954185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 566 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file stderr566 URL: http://127.0.0.1:33361/566 === End of file stderr566 === Start of file valgrind566 ==106793== ==106793== Process terminating with default action of signal 4 (SIGILL) ==106793== Illegal opcode at address 0x48EA16B ==106793== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106793== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106793== by 0x48EA16B: Curl_open (url.c:519) ==106793== by 0x4880EEF: curl_easy_init (easy.c:370) ==106793== by 0x1090B4: UnknownInlinedFun (lib566.c:40) ==106793== by 0x1090B4: main (first.c:220) ==106793== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106793== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106793== by 0x4A6D258: __tsearch (tsearch.c:337) ==106793== by 0x4A6D258: tsearch (tsearch.c:290) ==106793== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106793== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106793== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106793== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106793== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106793== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106793== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106793== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106793== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106793== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106793== by 0x498986B: setlocale (setlocale.c:337) ==106793== by 0x109056: main (first.c:160) ==106793== ==106793== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106793== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106793== by 0x4A6D258: __tsearch (tsearch.c:337) ==106793== by 0x4A6D258: tsearch (tsearch.c:290) ==106793== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106793== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106793== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106793== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106793== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106793== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106793== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106793== by 0x498986B: setlocale (setlocale.c:337) ==106793== by 0x109056: main (first.c:160) ==106793== ==106793== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106793== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106793== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106793== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106793== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106793== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106793== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106793== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106793== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106793== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106793== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106793== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106793== by 0x498986B: setlocale (setlocale.c:337) ==106793== by 0x109056: main (first.c:160) ==106793== ==106793== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106793== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106793== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106793== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106793== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106793== by 0x49EE8FA: __pthread_once_slow.isra.CMD (0): ../src/curl --max-time 13 --output log/2/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:39387/verifiedserver" 2>log/2/rtsp_verify.log CMD (0): ../src/curl --max-time 13 --output log/4/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:45759/verifiedserver" 2>log/4/rtsp_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind564 ./libtest/lib564 ftp://127.0.0.1:45983/path/564 127.0.0.1:39749 > log/3/stdout564 2> log/3/stderr564 0 (pthread_once.c:116) ==106793== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106793== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106793== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106793== by 0x498986B: setlocale (setlocale.c:337) ==106793== by 0x109056: main (first.c:160) ==106793== ==106793== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106793== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106793== by 0x48EA143: Curl_open (url.c:510) ==106793== by 0x4880EEF: curl_easy_init (easy.c:370) ==106793== by 0x1090B4: UnknownInlinedFun (lib566.c:40) ==106793== by 0x1090B4: main (first.c:220) ==106793== ==106793== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106793== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106793== by 0x4A6D258: __tsearch (tsearch.c:337) ==106793== by 0x4A6D258: tsearch (tsearch.c:290) ==106793== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106793== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106793== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106793== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106793== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106793== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106793== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106793== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106793== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106793== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106793== by 0x498986B: setlocale (setlocale.c:337) ==106793== by 0x109056: main (first.c:160) ==106793== ==106793== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106793== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106793== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106793== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106793== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106793== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106793== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106793== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106793== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106793== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106793== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106793== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106793== by 0x498986B: setlocale (setlocale.c:337) ==106793== by 0x109056: main (first.c:160) ==106793== === End of file valgrind566 startnew: server/socksd --port 0 --pidfile log/3/server/socks_server.pid --portfile log/3/server/socks_server.port --reqfile log/3/socksd-request.log --logfile log/3/socks_server.log --backend 127.0.0.1 --config log/3/server.cmd RUN: SOCKS server is now running PID 106724 * pid socks => 106724 106724 test 0564...[FTP RETR a file over a SOCKS proxy using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind564 ./libtest/lib564 ftp://127.0.0.1:45983/path/564 127.0.0.1:39749 > log/3/stdout564 2> log/3/stderr564 564: stdout FAILED: --- log/3/check-expected 2024-12-15 02:02:12.235699406 +0000 +++ log/3/check-generated 2024-12-15 02:02:12.235699406 +0000 @@ -1,6 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/3/ dir after test 564 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file ftp_server.log 02:02:09.500274 ====> Client connect 02:02:09.500428 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:09.500737 < "USER anonymous" 02:02:09.500781 > "331 We are happy you popped in![CR][LF]" 02:02:09.500962 < "PASS ftp@example.com" 02:02:09.500990 > "230 Welcome you silly person[CR][LF]" 02:02:09.501154 < "PWD" 02:02:09.501186 > "257 "/" is current directory[CR][LF]" 02:02:09.501360 < "EPSV" 02:02:09.501387 ====> Passive DATA channel requested by client 02:02:09.501399 DATA sockfilt for passive data channel starting... 02:02:09.512083 DATA sockfilt for passive data channel started (pid 106706) 02:02:09.512221 DATA sockfilt for passive data channel listens on port 41963 02:02:09.512272 > "229 Entering Passive Mode (|||41963|)[LF]" 02:02:09.512291 Client has been notified that DATA conn will be accepted on port 41963 02:02:09.512615 Client connects to port 41963 02:02:09.512650 ====> Client established passive DATA connection on port 41963 02:02:09.512751 < "TYPE I" 02:02:09.512788 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:09.512976 < "SIZE verifiedserver" 02:02:09.513020 > "213 17[CR][LF]" 02:02:09.513198 < "RETR verifiedserver" 02:02:09.513233 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:09.513314 =====> Closing passive DATA connection... 02:02:09.513331 Server disconnects passive DATA connection 02:02:09.513585 Server disconnected passive DATA connection 02:02:09.513615 DATA sockfilt for passive data channel quits (pid 106706) 02:02:09.513818 DATA sockfilt for passive data channel quit (pid 106706) 02:02:09.513842 =====> Closed passive DATA connection 02:02:09.513869 > "226 File transfer complete[CR][LF]" 02:02:09.562639 < "QUIT" 02:02:09.562730 > "221 bye bye baby[CR][LF]" 02:02:09.565641 MAIN sockfilt said DISC 02:02:09.565691 ====> Client disconnected 02:02:09.565761 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:09.700290 ====> Client connect 02:02:09.700586 Received DATA (on stdin) 02:02:09.700603 > 160 bytes data, server => client 02:02:09.700616 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:09.700627 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:09.700638 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:09.700722 < 16 bytes data, client => server 02:02:09.700738 'USER anonymous\r\n' 02:02:09.700925 Received DATA (on stdin) 02:02:09.700938 > 33 bytes data, server => client 02:02:09.700950 '331 We are happy you popped in!\r\n' 02:02:09.701006 < 22 bytes data, client => server 02:02:09.701018 'PASS ftp@example.com\r\n' 02:02:09.701131 Received DATA (on stdin) 02:02:09.701143 > 30 bytes data, server => client 02:02:09.701154 '230 Welcome you silly person\r\n' 02:02:09.701205 < 5 bytes data, client => server 02:02:09.701219 'PWD\r\n' 02:02:09.701325 Received DATA (on stdin) 02:02:09.701337 > 30 bytes data, server => client 02:02:09.701348 '257 "/" is current directory\r\n' 02:02:09.701414 < 6 bytes data, client => server 02:02:09.701427 'EPSV\r\n' 02:02:09.712441 Received DATA (on stdin) 02:02:09.712461 > 38 bytes data, server => client 02:02:09.712473 '229 Entering Passive Mode (|||41963|)\n' 02:02:09.712665 < 8 bytes data, client => server 02:02:09.712686 'TYPE I\r\n' 02:02:09.712932 Received DATA (on stdin) 02:02:09.712946 > 33 bytes data, server => client 02:02:09.712958 '200 I modify TYPE as you wanted\r\n' 02:02:09.713024 < 21 bytes data, client => server 02:02:09.713038 'SIZE verifiedserver\r\n' 02:02:09.713171 Received DATA (on stdin) 02:02:09.713184 > 8 bytes data, server => client 02:02:09.713195 '213 17\r\n' 02:02:09.713251 < 21 bytes data, client => server 02:02:09.713263 'RETR verifiedserver\r\n' 02:02:09.713471 Received DATA (on stdin) 02:02:09.713485 > 29 bytes data, server => client 02:02:09.713496 '150 Binary junk (17 bytes).\r\n' 02:02:09.714008 Received DATA (on stdin) 02:02:09.714021 > 28 bytes data, server => client 02:02:09.714031 '226 File transfer complete\r\n' 02:02:09.761949 < 6 bytes data, client => server 02:02:09.761977 'QUIT\r\n' 02:02:09.762890 Received DATA (on stdin) 02:02:09.762909 > 18 bytes data, server => client 02:02:09.762920 '221 bye bye baby\r\n' 02:02:09.764513 ====> Client disconnect 02:02:09.768508 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:09.709506 Running IPv4 version 02:02:09.709589 Listening on port 41963 02:02:09.709624 Wrote pid 106706 to log/3/server/ftp_sockdata.pid 02:02:09.712146 Received PING (on stdin) 02:02:09.712265 Received PORT (on stdin) 02:02:09.712706 ====> Client connect 02:02:09.713550 Received DATA (on stdin) 02:02:09.713566 > 17 bytes data, server => client 02:02:09.713577 'WE ROOLZ: 80465\r\n' 02:02:09.713611 Received DISC (on stdin) 02:02:09.713625 ====> Client forcibly disconnected 02:02:09.713763 Received QUIT (on stdin) 02:02:09.713776 quits 02:02:09.713833 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 564 === End of file server.cmd === Start of file socks_server.log 02:02:09.791178 Running IPv4 version 02:02:09.791420 Listening on port 39749 02:02:09.791456 Wrote pid 106724 to log/3/server/socks_server.pid 02:02:09.791486 Wrote port 39749 to log/3/server/socks_server.port === End of file socks_server.log === Start of file stderr564 URL: ftp://127.0.0.1:45983/path/564 === End of file stderr564 === Start of file valgrind564 ==106921== ==106921== Process terminating with default action of signal 4 (SIGILL) ==106921== Illegal opcode at address 0x48EA16B ==106921== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106921== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106921== by 0x48EA16B: Curl_open (url.c:519) ==106921== by 0x4880EEF: curl_easy_init (easy.c:370) ==106921== by 0x109311: test.part.0 (lib564.c:45) ==106921== by 0x1090AF: UnknownInlinedFun (lib564.c:43) ==106921== by 0x1090AF: main (first.c:220) ==106921== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106921== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106921== by 0x4A6D258: __tsearch (tsearch.c:337) ==106921== by 0x4A6D258: tsearch (tsearch.c:290) ==106921== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106921== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106921== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106921== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106921== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106921== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106921== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106921== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106921== by 0x497C99C: __gconv_compare_alCMD (0): ../src/curl --max-time 13 --output log/5/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:44455/verifiedserver" 2>log/5/rtsp_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind567 ./libtest/lib567 rtsp://127.0.0.1:35051/567 > log/11/stdout567 2> log/11/stderr567 ias (gconv_db.c:692) ==106921== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106921== by 0x498986B: setlocale (setlocale.c:337) ==106921== by 0x109047: main (first.c:160) ==106921== ==106921== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106921== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106921== by 0x4A6D258: __tsearch (tsearch.c:337) ==106921== by 0x4A6D258: tsearch (tsearch.c:290) ==106921== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106921== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106921== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106921== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106921== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106921== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106921== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106921== by 0x498986B: setlocale (setlocale.c:337) ==106921== by 0x109047: main (first.c:160) ==106921== ==106921== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106921== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106921== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106921== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106921== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106921== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106921== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106921== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106921== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106921== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106921== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106921== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106921== by 0x498986B: setlocale (setlocale.c:337) ==106921== by 0x109047: main (first.c:160) ==106921== ==106921== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106921== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106921== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106921== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106921== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106921== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106921== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106921== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106921== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106921== by 0x498986B: setlocale (setlocale.c:337) ==106921== by 0x109047: main (first.c:160) ==106921== ==106921== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106921== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106921== by 0x48EA143: Curl_open (url.c:510) ==106921== by 0x4880EEF: curl_easy_init (easy.c:370) ==106921== by 0x109311: test.part.0 (lib564.c:45) ==106921== by 0x1090AF: UnknownInlinedFun (lib564.c:43) ==106921== by 0x1090AF: main (first.c:220) ==106921== ==106921== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106921== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106921== by 0x4A6D258: __tsearch (tsearch.c:337) ==106921== by 0x4A6D258: tsearch (tsearch.c:290) ==106921== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106921== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106921== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106921== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106921== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106921== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106921== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106921== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106921== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106921== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106921== by 0x498986B: setlocale (setlocale.c:337) ==106921== by 0x109047: main (first.c:160) ==106921== ==106921== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106921== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106921== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106921== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106921== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106921== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106921== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106921== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106921== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106921== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106921== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106921== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106921== by 0x498986B: setlocale (setlocale.c:337) ==106921== by 0x109047: main (first.c:160) ==106921== === End of file valgrind564 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/11/server/rtsp_server.pid" --portfile "log/11/server/rtsp_server.port" --logfile "log/11/rtsp_server.log" --logdir "log/11" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/11/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:35051/verifiedserver" 2>log/11/rtsp_verify.log RUN: RTSP server PID 106779 port 35051 * pid rtsp => 106779 106779 test 0567...[simple RTSP OPTIONS command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind567 ./libtest/lib567 rtsp://127.0.0.1:35051/567 > log/11/stdout567 2> log/11/stderr567 567: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 567 === Start of file rtsp_server.log 02:02:09.978841 Running IPv4 version on port 35051 02:02:09.978922 Wrote pid 106779 to log/11/server/rtsp_server.pid 02:02:09.978958 Wrote port 35051 to log/11/server/rtsp_server.port 02:02:11.026028 ====> Client connect 02:02:11.026052 Read 93 bytes 02:02:11.026063 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:35051 User-Agent: curl/8.11.1 Accept: */* ] 02:02:11.026086 Got request: GET /verifiedserver HTTP/1.1 02:02:11.026097 Are-we-friendly question received 02:02:11.026122 Wrote request (93 bytes) input to log/11/server.input 02:02:11.026141 Send response number -2 part 0 02:02:11.026155 Identifying ourselves as friends 02:02:11.026199 Sent off 69 bytes 02:02:11.026216 Response sent (69 bytes) and written to log/11/server.response 02:02:11.026225 special request received, no persistency 02:02:11.026234 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:35051... * Connected to 127.0.0.1 (127.0.0.1) port 35051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35051 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 106779 === End of file rtsp_verify.out === Start of file server.cmd Testnum 567 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 106779 === End of file server.response === Start of file stderr567 URL: rtsp://127.0.0.1:35051/567 === End of file stderr567 === Start of file valgrind567 ==107064== ==107064== Process terminating with default action of signal 4 (SIGILL) ==107064== Illegal opcode at address 0x48EA16B ==107064== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind573 ./libtest/lib573 http://127.0.0.1:38509/573 > log/9/stdout573 2> log/9/stderr573 59) ==107064== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107064== by 0x48EA16B: Curl_open (url.c:519) ==107064== by 0x4880EEF: curl_easy_init (easy.c:370) ==107064== by 0x10908E: UnknownInlinedFun (lib567.c:42) ==107064== by 0x10908E: main (first.c:220) ==107064== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107064== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107064== by 0x4A6D258: __tsearch (tsearch.c:337) ==107064== by 0x4A6D258: tsearch (tsearch.c:290) ==107064== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107064== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107064== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107064== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107064== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107064== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107064== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107064== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107064== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107064== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107064== by 0x498986B: setlocale (setlocale.c:337) ==107064== by 0x10904B: main (first.c:160) ==107064== ==107064== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107064== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107064== by 0x4A6D258: __tsearch (tsearch.c:337) ==107064== by 0x4A6D258: tsearch (tsearch.c:290) ==107064== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107064== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107064== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107064== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107064== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107064== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107064== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107064== by 0x498986B: setlocale (setlocale.c:337) ==107064== by 0x10904B: main (first.c:160) ==107064== ==107064== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107064== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107064== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107064== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107064== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107064== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107064== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107064== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107064== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107064== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107064== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107064== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107064== by 0x498986B: setlocale (setlocale.c:337) ==107064== by 0x10904B: main (first.c:160) ==107064== ==107064== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107064== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107064== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107064== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107064== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107064== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107064== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107064== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107064== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107064== by 0x498986B: setlocale (setlocale.c:337) ==107064== by 0x10904B: main (first.c:160) ==107064== ==107064== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107064== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107064== by 0x48EA143: Curl_open (url.c:510) ==107064== by 0x4880EEF: curl_easy_init (easy.c:370) ==107064== by 0x10908E: UnknownInlinedFun (lib567.c:42) ==107064== by 0x10908E: main (first.c:220) ==107064== ==107064== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107064== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107064== by 0x4A6D258: __tsearch (tsearch.c:337) ==107064== by 0x4A6D258: tsearch (tsearch.c:290) ==107064== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107064== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107064== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107064== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107064== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107064== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107064== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107064== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107064== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107064== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107064== by 0x498986B: setlocale (setlocale.c:337) ==107064== by 0x10904B: main (first.c:160) ==107064== ==107064== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107064== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107064== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107064== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107064== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107064== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107064== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107064== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107064== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107064== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107064== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107064== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107064== by 0x498986B: setlocale (setlocale.c:337) ==107064== by 0x10904B: main (first.c:160) ==107064== === End of file valgrind567 test 0573...[verify connect time with multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind573 ./libtest/lib573 http://127.0.0.1:38509/573 > log/9/stdout573 2> log/9/stderr573 573: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 573 === Start of file http_server.log 02:02:10.864163 ====> Client connect 02:02:10.864198 accept_connection 3 returned 4 02:02:10.864216 accept_connection 3 returned 0 02:02:10.864231 Read 93 bytes 02:02:10.864242 Process 93 bytes request 02:02:10.864256 Got request: GET /verifiedserver HTTP/1.1 02:02:10.864266 Are-we-friendly question received 02:02:10.864289 Wrote request (93 bytes) input to log/9/server.input 02:02:10.864306 Identifying ourselves as friends 02:02:10.864374 Response sent (56 bytes) and written to log/9/server.response 02:02:10.864386 special request received, no persistency 02:02:10.864395 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 573 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr573 URL: http://127.0.0.1:38509/573CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind569 ./libtest/lib569 rtsp://127.0.0.1:41905/569 log/8/idfile569.txt > log/8/stdout569 2> log/8/stderr569 === End of file stderr573 === Start of file valgrind573 ==106965== ==106965== Process terminating with default action of signal 4 (SIGILL) ==106965== Illegal opcode at address 0x48EA16B ==106965== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==106965== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==106965== by 0x48EA16B: Curl_open (url.c:519) ==106965== by 0x4880EEF: curl_easy_init (easy.c:370) ==106965== by 0x109306: test (lib573.c:55) ==106965== by 0x109076: main (first.c:220) ==106965== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==106965== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106965== by 0x4A6D258: __tsearch (tsearch.c:337) ==106965== by 0x4A6D258: tsearch (tsearch.c:290) ==106965== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106965== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106965== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106965== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106965== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106965== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106965== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106965== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106965== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106965== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106965== by 0x498986B: setlocale (setlocale.c:337) ==106965== by 0x109047: main (first.c:160) ==106965== ==106965== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==106965== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106965== by 0x4A6D258: __tsearch (tsearch.c:337) ==106965== by 0x4A6D258: tsearch (tsearch.c:290) ==106965== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106965== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106965== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106965== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106965== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106965== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106965== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106965== by 0x498986B: setlocale (setlocale.c:337) ==106965== by 0x109047: main (first.c:160) ==106965== ==106965== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==106965== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106965== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106965== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106965== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106965== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106965== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==106965== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==106965== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106965== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106965== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106965== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106965== by 0x498986B: setlocale (setlocale.c:337) ==106965== by 0x109047: main (first.c:160) ==106965== ==106965== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==106965== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106965== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106965== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==106965== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==106965== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106965== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106965== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106965== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106965== by 0x498986B: setlocale (setlocale.c:337) ==106965== by 0x109047: main (first.c:160) ==106965== ==106965== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==106965== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==106965== by 0x48EA143: Curl_open (url.c:510) ==106965== by 0x4880EEF: curl_easy_init (easy.c:370) ==106965== by 0x109306: test (lib573.c:55) ==106965== by 0x109076: main (first.c:220) ==106965== ==106965== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==106965== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106965== by 0x4A6D258: __tsearch (tsearch.c:337) ==106965== by 0x4A6D258: tsearch (tsearch.c:290) ==106965== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==106965== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106965== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106965== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106965== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106965== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106965== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106965== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106965== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106965== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106965== by 0x498986B: setlocale (setlocale.c:337) ==106965== by 0x109047: main (first.c:160) ==106965== ==106965== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==106965== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==106965== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==106965== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==106965== by 0x497DBB2: add_alias (gconv_conf.c:178) ==106965== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==106965== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==106965== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==106965== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==106965== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==106965== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==106965== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==106965== by 0x498986B: setlocale (setlocale.c:337) ==106965== by 0x109047: main (first.c:160) ==106965== === End of file valgrind573 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/8/server/rtsp_server.pid" --portfile "log/8/server/rtsp_server.port" --logfile "log/8/rtsp_server.log" --logdir "log/8" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/8/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:41905/verifiedserver" 2>log/8/rtsp_verify.log RUN: RTSP server PID 106907 port 41905 * pid rtsp => 106907 106907 test 0569...[RTSP Session ID parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind569 ./libtest/lib569 rtsp://127.0.0.1:41905/569 log/8/idfile569.txt > log/8/stdout569 2> log/8/stderr569 569: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 569 === Start of file rtsp_server.log 02:02:10.359155 Running IPv4 version on port 41905 02:02:10.359283 Wrote pid 106907 to log/8/server/rtsp_server.pid 02:02:10.359320 Wrote port 41905 to log/8/server/rtsp_server.port 02:02:11.410878 ====> Client connect 02:02:11.410904 Read 93 bytes 02:02:11.410915 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:41905 User-Agent: curl/8.11.1 Accept: */* ] 02:02:11.410937 Got request: GET /verifiedserver HTTP/1.1 02:02:11.410946 Are-we-friendly question received 02:02:11.410972 Wrote request (93 bytes) input to log/8/server.input 02:02:11.410993 Send response number -2 part 0 02:02:11.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind568 ./libtest/lib568 rtsp://127.0.0.1:38759/568 log/12/file568.txt > log/12/stdout568 2> log/12/stderr568 411002 Identifying ourselves as friends 02:02:11.411045 Sent off 69 bytes 02:02:11.411062 Response sent (69 bytes) and written to log/8/server.response 02:02:11.411072 special request received, no persistency 02:02:11.411081 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:41905... * Connected to 127.0.0.1 (127.0.0.1) port 41905 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41905 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 106907 === End of file rtsp_verify.out === Start of file server.cmd Testnum 569 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 106907 === End of file server.response === Start of file stderr569 URL: rtsp://127.0.0.1:41905/569 === End of file stderr569 === Start of file valgrind569 ==107244== ==107244== Process terminating with default action of signal 4 (SIGILL) ==107244== Illegal opcode at address 0x48EA16B ==107244== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107244== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107244== by 0x48EA16B: Curl_open (url.c:519) ==107244== by 0x4880EEF: curl_easy_init (easy.c:370) ==107244== by 0x1090CC: UnknownInlinedFun (lib569.c:57) ==107244== by 0x1090CC: main (first.c:220) ==107244== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==107244== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107244== by 0x4A6D258: __tsearch (tsearch.c:337) ==107244== by 0x4A6D258: tsearch (tsearch.c:290) ==107244== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107244== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107244== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107244== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107244== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107244== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107244== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107244== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107244== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107244== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107244== by 0x498986B: setlocale (setlocale.c:337) ==107244== by 0x109058: main (first.c:160) ==107244== ==107244== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==107244== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107244== by 0x4A6D258: __tsearch (tsearch.c:337) ==107244== by 0x4A6D258: tsearch (tsearch.c:290) ==107244== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107244== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107244== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107244== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107244== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107244== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107244== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107244== by 0x498986B: setlocale (setlocale.c:337) ==107244== by 0x109058: main (first.c:160) ==107244== ==107244== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==107244== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107244== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107244== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107244== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107244== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107244== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107244== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107244== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107244== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107244== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107244== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107244== by 0x498986B: setlocale (setlocale.c:337) ==107244== by 0x109058: main (first.c:160) ==107244== ==107244== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==107244== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107244== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107244== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107244== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107244== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107244== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107244== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107244== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107244== by 0x498986B: setlocale (setlocale.c:337) ==107244== by 0x109058: main (first.c:160) ==107244== ==107244== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==107244== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107244== by 0x48EA143: Curl_open (url.c:510) ==107244== by 0x4880EEF: curl_easy_init (easy.c:370) ==107244== by 0x1090CC: UnknownInlinedFun (lib569.c:57) ==107244== by 0x1090CC: main (first.c:220) ==107244== ==107244== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==107244== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107244== by 0x4A6D258: __tsearch (tsearch.c:337) ==107244== by 0x4A6D258: tsearch (tsearch.c:290) ==107244== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107244== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107244== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107244== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107244== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107244== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107244== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107244== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107244== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107244== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107244== by 0x498986B: setlocale (setlocale.c:337) ==107244== by 0x109058: main (first.c:160) ==107244== ==107244== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==107244== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107244== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107244== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107244== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107244== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107244== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107244== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107244== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107244== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107244== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107244== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107244== by 0x498986B: setlocale (setlocale.c:337) ==107244== by 0x109058: main (first.c:160) ==107244== === End of file valgrind569 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/12/server/rtsp_server.pid" --portfile "log/12/server/rtsp_server.port" --logfile "log/12/rtsp_server.log" --logdir "log/12" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/12/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:38759/verifiedserver" 2>log/12/rtsp_verify.log RUN: RTSP server PID 106780 port 38759 * pid rtsp => 106780 106780 test 0568...[RTSP Announce (PUT and POST style) test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind568 ./libtest/lib568 rtsp://127.0.0.1:38759/568 log/12/file568.txt > log/12/stdout568 2> log/12/stderr568 568: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 568 === Start of file file568.txt v=0 o=mhandley 2890844526 2890845468 IN IP4 126.16.64.4 s=SDP Seminar i=A Seminar on the session description protocol u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps e=mjh@isi.edu (Mark Handley) c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 === End of file file568.txt === Start of file rtsp_server.log 02:02:09.978046 Running IPv4 version on port 38759 02:02:09.978267 Wrote pid 106780 to log/12/server/rtsp_server.pid 02:02:09.978305 Wrote port 38759 to log/12/server/rtsp_server.port 02:02:11.038539 ====> Client connect 02:02:11.038567 Read 93 bytes 02:02:11.038577 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:38759 User-Agent: curl/8.11.1 Accept: */* ] 02:02:11.038596 Got request: GET /verifiedserver HTTP/1.1 02:02:11.038605 Are-we-friendly question received 02:02:11.038629 Wrote request (93 bytes) input to log/12/server.input 02:02:11.038649 Send response number -2 part 0 02:02:11.038659 Identifying ourselves as friends 02:02:11.038711 Sent off 69 bytes 02:02:11.038729 Response sent (69 bytes) and written to log/12/server.response 02:02:11.038739 special request received, no persistency 02:02:11.038748 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:38759... * Connected to 127.0.0.1 (127.0.0.1) port 38759 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38759 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 106780 === End of file rtsp_verify.out === Start of file server.cmd Testnum 568 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 106780 === End of file server.response === Start of file stderr568 URL: rtsp://127.0.0.1:38759/568 === End of file stderr568 === Start of file valgrind568 ==107070== ==107070== Process terminating with default action of signal 4 (SIGILL) ==107070== Illegal opcode at address 0x48EA16B ==107070== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107070== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107070== by 0x48EA16B: Curl_open (url.c:519) ==107070== by 0x4880EEF: curl_easy_init (easy.c:370) ==107070== by 0x1090AE: UnknownInlinedFun (lib568.c:60) ==107070== by 0x1090AE: main (first.c:220) ==107070== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107070== by 0x4A6D258: __tsearch (tsearch.c:337) ==107070== by 0x4A6D258: tsearch (tsearch.c:290) ==107070== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107070== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107070== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107070== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107070== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107070== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107070== by 0x498986B: setlocale (setlocale.c:337) ==107070== by 0x10905B: main (first.c:160) ==107070== ==107070== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107070== by 0x4A6D258: __tsearch (tsearch.c:337) ==107070== by 0x4A6D258: tsearch (tsearch.c:290) ==107070== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107070== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107070== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107070== by 0x498986B: setlocale (setlocale.c:337) ==107070== by 0x10905B: main (first.c:160) ==107070== ==107070== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107070== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107070== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107070== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107070== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107070== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107070== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107070== by 0x498986B: setlocale (setlocale.c:337) ==107070== by 0x10905B: main (first.c:160) ==107070== ==107070== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107070== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107070== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107070== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107070== by 0x498986B: setlocale (setlocale.c:337) ==107070== by 0x10905B: main (first.c:160) ==107070== ==107070== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107070== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107070== by 0x48EA143: Curl_open (url.c:510) ==107070== by 0x4880EEF: curl_easy_init (easy.c:370) ==107070== by 0x1090AE: UnknownInlinedFun (lib568.c:60) ==107070== by 0x1090AE: main (first.c:220) ==107070== ==107070== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107070== by 0x4A6D258: __tsearch (tsearch.c:337) ==107070== by 0x4A6D258: tsearch (tsearch.c:290) ==107070== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107070== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107070== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107070== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107070== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107070== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107070== by 0x498986B: setlocale (setlocale.c:337) ==107070== by 0x10905B: main (first.c:160) ==107070== ==107070== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107070== at 0x48447A8: mallCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind574 ./libtest/lib574 ftp://127.0.0.1:44405/fully_simulated/UNIX/*.txt > log/1/stdout574 2> log/1/stderr574 oc (vg_replace_malloc.c:446) ==107070== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107070== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107070== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107070== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107070== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107070== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107070== by 0x498986B: setlocale (setlocale.c:337) ==107070== by 0x10905B: main (first.c:160) ==107070== === End of file valgrind568 test 0574...[FTP wildcard download - changed fnmatch, 2x perform (Unix LIST response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind574 ./libtest/lib574 ftp://127.0.0.1:44405/fully_simulated/UNIX/*.txt > log/1/stdout574 2> log/1/stderr574 574: stdout FAILED: --- log/1/check-expected 2024-12-15 02:02:12.952378928 +0000 +++ log/1/check-generated 2024-12-15 02:02:12.952378928 +0000 @@ -1,10 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/1/ dir after test 574 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file ftp_server.log 02:02:11.095076 ====> Client connect 02:02:11.095307 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:11.095653 < "USER anonymous" 02:02:11.095686 > "331 We are happy you popped in![CR][LF]" 02:02:11.095850 < "PASS ftp@example.com" 02:02:11.095874 > "230 Welcome you silly person[CR][LF]" 02:02:11.096047 < "PWD" 02:02:11.096079 > "257 "/" is current directory[CR][LF]" 02:02:11.096239 < "EPSV" 02:02:11.096262 ====> Passive DATA channel requested by client 02:02:11.096276 DATA sockfilt for passive data channel starting... 02:02:11.103397 DATA sockfilt for passive data channel started (pid 107177) 02:02:11.103521 DATA sockfilt for passive data channel listens on port 34267 02:02:11.103568 > "229 Entering Passive Mode (|||34267|)[LF]" 02:02:11.103584 Client has been notified that DATA conn will be accepted on port 34267 02:02:11.111495 Client connects to port 34267 02:02:11.111581 ====> Client established passive DATA connection on port 34267 02:02:11.113632 < "TYPE I" 02:02:11.113693 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:11.114779 < "SIZE verifiedserver" 02:02:11.114833 > "213 17[CR][LF]" 02:02:11.115062 < "RETR verifiedserver" 02:02:11.115104 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:11.115191 =====> Closing passive DATA connection... 02:02:11.115205 Server disconnects passive DATA connection 02:02:11.115374 Server disconnected passive DATA connection 02:02:11.115395 DATA sockfilt for passive data channel quits (pid 107177) 02:02:11.115636 DATA sockfilt for passive data channel quit (pid 107177) 02:02:11.115656 =====> Closed passive DATA connection 02:02:11.115681 > "226 File transfer complete[CR][LF]" 02:02:11.162641 < "QUIT" 02:02:11.162704 > "221 bye bye baby[CR][LF]" 02:02:11.163149 MAIN sockfilt said DISC 02:02:11.163190 ====> Client disconnected 02:02:11.163262 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:11.288509 ====> Client connect 02:02:11.295469 Received DATA (on stdin) 02:02:11.295493 > 160 bytes data, server => client 02:02:11.295507 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:11.295518 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:11.295529 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:11.295648 < 16 bytes data, client => server 02:02:11.295666 'USER anonymous\r\n' 02:02:11.295829 Received DATA (on stdin) 02:02:11.295841 > 33 bytes data, server => client 02:02:11.295853 '331 We are happy you popped in!\r\n' 02:02:11.295907 < 22 bytes data, client => server 02:02:11.295919 'PASS ftp@example.com\r\n' 02:02:11.296012 Received DATA (on stdin) 02:02:11.296024 > 30 bytes data, server => client 02:02:11.296035 '230 Welcome you silly person\r\n' 02:02:11.296084 < 5 bytes data, client => server 02:02:11.296096 'PWD\r\n' 02:02:11.296218 Received DATA (on stdin) 02:02:11.296229 > 30 bytes data, server => client 02:02:11.296241 '257 "/" is current directory\r\n' 02:02:11.296301 < 6 bytes data, client => server 02:02:11.296312 'EPSV\r\n' 02:02:11.303738 Received DATA (on stdin) 02:02:11.303755 > 38 bytes data, server => client 02:02:11.303767 '229 Entering Passive Mode (|||34267|)\n' 02:02:11.305372 < 8 bytes data, client => server 02:02:11.305437 'TYPE I\r\n' 02:02:11.314636 Received DATA (on stdin) 02:02:11.314664 > 33 bytes data, server => client 02:02:11.314678 '200 I modify TYPE as you wanted\r\n' 02:02:11.314787 < 21 bytes data, client => server 02:02:11.314808 'SIZE verifiedserver\r\n' 02:02:11.314984 Received DATA (on stdin) 02:02:11.315000 > 8 bytes data, server => client 02:02:11.315012 '213 17\r\n' 02:02:11.315082 < 21 bytes data, client => server 02:02:11.315100 'RETR verifiedserver\r\n' 02:02:11.315444 Received DATA (on stdin) 02:02:11.315456 > 29 bytes data, server => client 02:02:11.315466 '150 Binary junk (17 bytes).\r\n' 02:02:11.315820 Received DATA (on stdin) 02:02:11.315832 > 28 bytes data, server => client 02:02:11.315842 '226 File transfer complete\r\n' 02:02:11.359905 < 6 bytes data, client => server 02:02:11.359942 'QUIT\r\n' 02:02:11.362858 Received DATA (on stdin) 02:02:11.362878 > 18 bytes data, server => client 02:02:11.362892 '221 bye bye baby\r\n' 02:02:11.363191 ====> Client disconnect 02:02:11.363410 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:11.302626 Running IPv4 version 02:02:11.302708 Listening on port 34267 02:02:11.302754 Wrote pid 107177 to log/1/server/ftp_sockdata.pid 02:02:11.303459 Received PING (on stdin) 02:02:11.303565 Received PORT (on stdin) 02:02:11.308580 ====> Client connect 02:02:11.315348 Received DATA (on stdin) 02:02:11.315363 > 17 bytes data, server => client 02:02:11.315373 'WE ROOLZ: 88524\r\n' 02:02:11.315405 Received DISC (on stdin) 02:02:11.315417 ====> Client forcibly disconnected 02:02:11.315541 Received QUIT (on stdin) 02:02:11.315552 quits 02:02:11.315612 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 574 === End of file server.cmd === Start of file stderr574 URL: ftp://127.0.0.1:44405/fully_simulated/UNIX/*.txt === End of file stderr574 === Start of file valgrind574 ==107221== ==107221== Process terminating with default action of signal 4 (SIGILL) ==107221== Illegal opcode at address 0x48EA16B ==107221== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107221== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107221== by 0x48EA16B: Curl_open (url.c:519) ==107221== by 0x4880EEF: curl_easy_init (easy.c:370) ==107221== by 0x10908A: UnknownInlinedFun (lib574.c:49) ==107221== by 0x10908A: main (first.c:220) ==107221== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107221== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107221== by 0x4A6D258: __tsearch (tsearch.c:337) ==107221== by 0x4A6D258: tsearch (tsearch.c:290) ==107221== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107221== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107221== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107221== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107221== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107221== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107221== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind575 ./libtest/lib575 ftp://127.0.0.1:41879/fully_simulated/UNIX/* > log/7/stdout575 2> log/7/stderr575 cannot find sshd 221== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107221== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107221== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107221== by 0x498986B: setlocale (setlocale.c:337) ==107221== by 0x109047: main (first.c:160) ==107221== ==107221== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107221== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107221== by 0x4A6D258: __tsearch (tsearch.c:337) ==107221== by 0x4A6D258: tsearch (tsearch.c:290) ==107221== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107221== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107221== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107221== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107221== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107221== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107221== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107221== by 0x498986B: setlocale (setlocale.c:337) ==107221== by 0x109047: main (first.c:160) ==107221== ==107221== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107221== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107221== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107221== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107221== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107221== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107221== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107221== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107221== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107221== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107221== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107221== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107221== by 0x498986B: setlocale (setlocale.c:337) ==107221== by 0x109047: main (first.c:160) ==107221== ==107221== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107221== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107221== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107221== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107221== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107221== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107221== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107221== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107221== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107221== by 0x498986B: setlocale (setlocale.c:337) ==107221== by 0x109047: main (first.c:160) ==107221== ==107221== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107221== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107221== by 0x48EA143: Curl_open (url.c:510) ==107221== by 0x4880EEF: curl_easy_init (easy.c:370) ==107221== by 0x10908A: UnknownInlinedFun (lib574.c:49) ==107221== by 0x10908A: main (first.c:220) ==107221== ==107221== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107221== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107221== by 0x4A6D258: __tsearch (tsearch.c:337) ==107221== by 0x4A6D258: tsearch (tsearch.c:290) ==107221== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107221== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107221== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107221== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107221== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107221== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107221== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107221== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107221== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107221== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107221== by 0x498986B: setlocale (setlocale.c:337) ==107221== by 0x109047: main (first.c:160) ==107221== ==107221== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107221== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107221== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107221== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107221== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107221== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107221== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107221== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107221== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107221== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107221== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107221== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107221== by 0x498986B: setlocale (setlocale.c:337) ==107221== by 0x109047: main (first.c:160) ==107221== === End of file valgrind574 test 0575...[FTP wildcard download - dup_handle and multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind575 ./libtest/lib575 ftp://127.0.0.1:41879/fully_simulated/UNIX/* > log/7/stdout575 2> log/7/stderr575 575: stdout FAILED: --- log/7/check-expected 2024-12-15 02:02:12.989046252 +0000 +++ log/7/check-generated 2024-12-15 02:02:12.989046252 +0000 @@ -1,15 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/7/ dir after test 575 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file ftp_server.log 02:02:11.211224 ====> Client connect 02:02:11.211529 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:11.211888 < "USER anonymous" 02:02:11.211936 > "331 We are happy you popped in![CR][LF]" 02:02:11.212155 < "PASS ftp@example.com" 02:02:11.212192 > "230 Welcome you silly person[CR][LF]" 02:02:11.212375 < "PWD" 02:02:11.212413 > "257 "/" is current directory[CR][LF]" 02:02:11.212593 < "EPSV" 02:02:11.212619 ====> Passive DATA channel requested by client 02:02:11.212634 DATA sockfilt for passive data channel starting... 02:02:11.218586 DATA sockfilt for passive data channel started (pid 107229) 02:02:11.218716 DATA sockfilt for passive data channel listens on port 37413 02:02:11.218762 > "229 Entering Passive Mode (|||37413|)[LF]" 02:02:11.218779 Client has been notified that DATA conn will be accepted on port 37413 02:02:11.221625 Client connects to port 37413 02:02:11.221675 ====> Client established passive DATA connection on port 37413 02:02:11.221790 < "TYPE I" 02:02:11.221828 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:11.222037 < "SIZE verifiedserver" 02:02:11.222083 > "213 17[CR][LF]" 02:02:11.222239 < "RETR verifiedserver" 02:02:11.222273 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:11.222352 =====> Closing passive DATA connection... 02:02:11.222367 Server disconnects passive DATA connection 02:02:11.226933 Server disconnected passive DATA connection 02:02:11.226980 DATA sockfilt for passive data channel quits (pid 107229) 02:02:11.227216 DATA sockfilt for passive data channel quit (pid 107229) 02:02:11.227247 =====> Closed passive DATA connection 02:02:11.227286 > "226 File transfer complete[CR][LF]" 02:02:11.273003 < "QUIT" 02:02:11.273056 > "221 bye bye baby[CR][LF]" 02:02:11.274294 MAIN sockfilt said DISC 02:02:11.274337 ====> Client disconnected 02:02:11.274399 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:11.408515 ====> Client connect 02:02:11.411694 Received DATA (on stdin) 02:02:11.411715 > 160 bytes data, server => client 02:02:11.411729 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:11.411741 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:11.411752 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:11.411855 < 16 bytes data, client => server 02:02:11.411877 'USER anonymous\r\n' 02:02:11.412087 Received DATA (on stdin) 02:02:11.412103 > 33 bytes data, server => client 02:02:11.412116 '331 We are happy you popped in!\r\n' 02:02:11.412180 < 22 bytes data, client => server 02:02:11.412196 'PASS ftp@example.com\r\n' 02:02:11.412335 Received DATA (on stdin) 02:02:11.412349 > 30 bytes data, server => client 02:02:11.412360 '230 Welcome you silly person\r\n' 02:02:11.412416 < 5 bytes data, client => server 02:02:11.412430 'PWD\r\n' 02:02:11.412554 Received DATA (on stdin) 02:02:11.412567 > 30 bytes data, server => client 02:02:11.412578 '257 "/" is current directory\r\n' 02:02:11.412641 < 6 bytes data, client => server 02:02:11.412654 'EPSV\r\n' 02:02:11.419445 Received DATA (on stdin) 02:02:11.419469 > 38 bytes data, server => client 02:02:11.419484 '229 Entering Passive Mode (|||37413|)\n' 02:02:11.419826 < 8 bytes data, client => server 02:02:11.419848 'TYPE I\r\n' 02:02:11.421973 Received DATA (on stdin) 02:02:11.421990 > 33 bytes data, server => client 02:02:11.422004 '200 I modify TYPE as you wanted\r\n' 02:02:11.422077 < 21 bytes data, client => server 02:02:11.422090 'SIZE verifiedserver\r\n' 02:02:11.422227 Received DATA (on stdin) 02:02:11.422239 > 8 bytes data, server => client 02:02:11.422248 '213 17\r\n' 02:02:11.422299 < 21 bytes data, client => server 02:02:11.422309 'RETR verifiedserver\r\n' 02:02:11.422505 Received DATA (on stdin) 02:02:11.422515 > 29 bytes data, server => client 02:02:11.422525 '150 Binary junk (17 bytes).\r\n' 02:02:11.427441 Received DATA (on stdin) 02:02:11.427459 > 28 bytes data, server => client 02:02:11.427470 '226 File transfer complete\r\n' 02:02:11.471915 < 6 bytes data, client => server 02:02:11.471944 'QUIT\r\n' 02:02:11.473203 Received DATA (on stdin) 02:02:11.473220 > 18 bytes data, server => client 02:02:11.473232 '221 bye bye baby\r\n' 02:02:11.474015 ====> Client disconnect 02:02:11.474540 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:11.416177 Running IPv4 version 02:02:11.416249 Listening on port 37413 02:02:11.416283 Wrote pid 107229 to log/7/server/ftp_sockdata.pid 02:02:11.418648 Received PING (on stdin) 02:02:11.418758 Received PORT (on stdin) 02:02:11.419738 ====> Client connect 02:02:11.426893 Received DATA (on stdin) 02:02:11.426926 > 17 bytes data, server => client 02:02:11.426937 'WE ROOLZ: 80479\r\n' 02:02:11.426991 Received DISC (on stdin) 02:02:11.427011 ====> Client forcibly disconnected 02:02:11.427138 Received QUIT (on stdin) 02:02:11.427155 quits 02:02:11.427213 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 575 === End of file server.cmd === Start of file stderr575 URL: ftp://127.0.0.1:41879/fully_simulated/UNIX/* === End of file stderr575 === Start of file valgrind575 ==107353== ==107353== Process terminating with default action of signal 4 (SIGILL) ==107353== Illegal opcode at address 0x48EA16B ==107353== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107353== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107353== by 0x48EA16B: Curl_open (url.c:519) ==107353== by 0x4880EEF: curl_easy_init (easy.c:370) ==107353== by 0x1092B9: test (lib575.c:52) ==107353== by 0x109076: main (first.c:220) ==107353== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107353== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107353== by 0x4A6D258: __tsearch (tsearch.c:337) ==107353== by 0x4A6D258: tsearch (tsearch.c:290) ==107353== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107353== bcannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind570 ./libtest/lib570 rtsp://127.0.0.1:39403/570 > log/10/stdout570 2> log/10/stderr570 y 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107353== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107353== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107353== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107353== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107353== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107353== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107353== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107353== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107353== by 0x498986B: setlocale (setlocale.c:337) ==107353== by 0x109047: main (first.c:160) ==107353== ==107353== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107353== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107353== by 0x4A6D258: __tsearch (tsearch.c:337) ==107353== by 0x4A6D258: tsearch (tsearch.c:290) ==107353== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107353== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107353== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107353== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107353== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107353== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107353== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107353== by 0x498986B: setlocale (setlocale.c:337) ==107353== by 0x109047: main (first.c:160) ==107353== ==107353== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107353== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107353== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107353== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107353== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107353== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107353== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107353== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107353== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107353== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107353== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107353== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107353== by 0x498986B: setlocale (setlocale.c:337) ==107353== by 0x109047: main (first.c:160) ==107353== ==107353== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107353== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107353== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107353== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107353== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107353== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107353== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107353== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107353== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107353== by 0x498986B: setlocale (setlocale.c:337) ==107353== by 0x109047: main (first.c:160) ==107353== ==107353== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107353== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107353== by 0x48EA143: Curl_open (url.c:510) ==107353== by 0x4880EEF: curl_easy_init (easy.c:370) ==107353== by 0x1092B9: test (lib575.c:52) ==107353== by 0x109076: main (first.c:220) ==107353== ==107353== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107353== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107353== by 0x4A6D258: __tsearch (tsearch.c:337) ==107353== by 0x4A6D258: tsearch (tsearch.c:290) ==107353== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107353== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107353== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107353== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107353== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107353== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107353== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107353== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107353== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107353== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107353== by 0x498986B: setlocale (setlocale.c:337) ==107353== by 0x109047: main (first.c:160) ==107353== ==107353== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107353== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107353== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107353== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107353== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107353== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107353== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107353== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107353== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107353== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107353== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107353== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107353== by 0x498986B: setlocale (setlocale.c:337) ==107353== by 0x109047: main (first.c:160) ==107353== === End of file valgrind575 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/10/server/rtsp_server.pid" --portfile "log/10/server/rtsp_server.port" --logfile "log/10/rtsp_server.log" --logdir "log/10" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/10/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:39403/verifiedserver" 2>log/10/rtsp_verify.log RUN: RTSP server PID 106908 port 39403 * pid rtsp => 106908 106908 test 0570...[RTSP CSeq and Session Mismatch checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind570 ./libtest/lib570 rtsp://127.0.0.1:39403/570 > log/10/stdout570 2> log/10/stderr570 570: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 570 === Start of file rtsp_server.log 02:02:10.402677 Running IPv4 version on port 39403 02:02:10.402791 Wrote pid 106908 to log/10/server/rtsp_server.pid 02:02:10.402826 Wrote port 39403 to log/10/server/rtsp_server.port 02:02:11.428593 ====> Client connect 02:02:11.428617 Read 93 bytes 02:02:11.428628 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:39403 User-Agent: curl/8.11.1 Accept: */* ] 02:02:11.428649 Got request: GET /verifiedserver HTTP/1.1 02:02:11.428658 Are-we-friendly question received 02:02:11.428682 Wrote request (93 bytes) input to log/10/server.input 02:02:11.428706 Send response number -2 part 0 02:02:11.428716 Identifying ourselves as friends 02:02:11.428773 Sent off 69 bytes 02:02:11.428794 Response sent (69 bytes) and written to log/10/server.response 02:02:11.428804 special request received, no persistency 02:02:11.428813 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:39403... * Connected to 127.0.0.1 (127.0.0.1) port 39403 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39403 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 106908 === End of file rtsp_verify.out === Start of file server.cmd Testnum 570 === End of file sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind576 ./libtest/lib576 ftp://127.0.0.1:40433/fully_simulated/UNIX/* > log/6/stdout576 2> log/6/stderr576 erver.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 106908 === End of file server.response === Start of file stderr570 URL: rtsp://127.0.0.1:39403/570 === End of file stderr570 === Start of file valgrind570 ==107265== ==107265== Process terminating with default action of signal 4 (SIGILL) ==107265== Illegal opcode at address 0x48EA16B ==107265== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107265== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107265== by 0x48EA16B: Curl_open (url.c:519) ==107265== by 0x4880EEF: curl_easy_init (easy.c:370) ==107265== by 0x10908E: UnknownInlinedFun (lib570.c:45) ==107265== by 0x10908E: main (first.c:220) ==107265== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107265== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107265== by 0x4A6D258: __tsearch (tsearch.c:337) ==107265== by 0x4A6D258: tsearch (tsearch.c:290) ==107265== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107265== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107265== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107265== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107265== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107265== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107265== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107265== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107265== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107265== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107265== by 0x498986B: setlocale (setlocale.c:337) ==107265== by 0x10904B: main (first.c:160) ==107265== ==107265== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107265== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107265== by 0x4A6D258: __tsearch (tsearch.c:337) ==107265== by 0x4A6D258: tsearch (tsearch.c:290) ==107265== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107265== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107265== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107265== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107265== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107265== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107265== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107265== by 0x498986B: setlocale (setlocale.c:337) ==107265== by 0x10904B: main (first.c:160) ==107265== ==107265== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107265== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107265== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107265== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107265== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107265== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107265== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107265== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107265== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107265== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107265== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107265== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107265== by 0x498986B: setlocale (setlocale.c:337) ==107265== by 0x10904B: main (first.c:160) ==107265== ==107265== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107265== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107265== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107265== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107265== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107265== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107265== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107265== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107265== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107265== by 0x498986B: setlocale (setlocale.c:337) ==107265== by 0x10904B: main (first.c:160) ==107265== ==107265== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107265== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107265== by 0x48EA143: Curl_open (url.c:510) ==107265== by 0x4880EEF: curl_easy_init (easy.c:370) ==107265== by 0x10908E: UnknownInlinedFun (lib570.c:45) ==107265== by 0x10908E: main (first.c:220) ==107265== ==107265== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107265== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107265== by 0x4A6D258: __tsearch (tsearch.c:337) ==107265== by 0x4A6D258: tsearch (tsearch.c:290) ==107265== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107265== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107265== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107265== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107265== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107265== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107265== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107265== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107265== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107265== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107265== by 0x498986B: setlocale (setlocale.c:337) ==107265== by 0x10904B: main (first.c:160) ==107265== ==107265== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107265== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107265== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107265== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107265== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107265== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107265== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107265== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107265== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107265== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107265== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107265== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107265== by 0x498986B: setlocale (setlocale.c:337) ==107265== by 0x10904B: main (first.c:160) ==107265== === End of file valgrind570 test 0576...[FTP wildcard download - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind576 ./libtest/lib576 ftp://127.0.0.1:40433/fully_simulated/UNIX/* > log/6/stdout576 2> log/6/stderr576 576: stdout FAILED: --- log/6/check-expected 2024-12-15 02:02:13.225717164 +0000 +++ log/6/check-generated 2024-12-15 02:02:13.225717164 +0000 @@ -1,152 +0,0 @@ -=============================================================[LF] -Remains: 14[LF] -Filename: .[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 20480B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 5:12[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 13[LF] -Filename: ..[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 20480B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 23 3:12[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 12[LF] -Filename: chmod1[LF] -Permissions: r--r--r-- (parsed => 444)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 11 10:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 444[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 11[LF] -Filename: chmod2[LF] -Permissions: rw-rw-rw- (parsed => 666)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Feb 1 8:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 666[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 10[LF] -Filename: chmod3[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Feb 1 8:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 777[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 9[LF] -Filename: chmod4[LF] -Permissions: --S--S--t (parsed => 7001)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: May 4 4:31[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 8[LF] -Filename: chmod5[LF] -Permissions: --s--s--T (parsed => 7110)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: May 4 4:31[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 7[LF] -Filename: empty_file.dat[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 6[LF] -Filename: file.txt[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 35B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This is content of file "file.txt"[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 5[LF] -Filename: link[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 6 4:42[LF] -Filetype: symlink[LF] -Target: file.txt[LF] -=============================================================[LF] -Remains: 4[LF] -Filename: link_absolute[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 6 4:45[LF] -Filetype: symlink[LF] -Target: /data/ftp/file.txt[LF] -=============================================================[LF] -Remains: 3[LF] -Filename: .NeXT[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 23 2:05[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 2[LF] -Filename: someothertext.txt[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 47B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 1[LF] -Filename: weirddir.txt[LF] -Permissions: rwxr-xrwx (parsed => 757)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 23 3:12[LF] -Filetype: directory[LF] -=============================================================[LF] == Contents of files in the log/6/ dir after test 576 === Start of file check-expected =============================================================[LF] Remains: 14[LF] Filename: .[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 20480B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 5:12[LF] Filetype: directory[LF] =============================================================[LF] Remains: 13[LF] Filename: ..[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 20480B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 23 3:12[LF] Filetype: directory[LF] =============================================================[LF] Remains: 12[LF] Filename: chmod1[LF] Permissions: r--r--r-- (parsed => 444)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 11 10:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 444[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 11[LF] Filename: chmod2[LF] Permissions: rw-rw-rw- (parsed => 666)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Feb 1 8:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 666[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 10[LF] Filename: chmod3[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Feb 1 8:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 777[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 9[LF] Filename: chmod4[LF] Permissions: --S--S--t (parsed => 7001)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: May 4 4:31[LF] Filetype: directory[LF] =============================================================[LF] Remains: 8[LF] Filename: chmod5[LF] Permissions: --s--s--T (parsed => 7110)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: May 4 4:31[LF] Filetype: directory[LF] =============================================================[LF] Remains: 7[LF] Filename: empty_file.dat[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 6[LF] Filename: file.txt[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 35B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This is content of file "file.txt"[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 5[LF] Filename: link[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 6 4:42[LF] Filetype: symlink[LF] Target: file.txt[LF] =============================================================[LF] Remains: 4[LF] Filename: link_absolute[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 6 4:45[LF] Filetype: symlink[LF] Target: /data/ftp/file.txt[LF] =============================================================[LF] Remains: 3[LF] Filename: .NeXT[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 23 2:05[LF] Filetype: directory[LF] =============================================================[LF] Remains: 2[LF] Filename: someothertext.txt[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 47B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] # THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 1[LF] Filename: weirddir.txt[LF] Permissions: rwxr-xrwx (parsed => 757)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 23 3:12[LF] Filetype: directory[LF] =============================================================[LF] === End of file check-expected === Start of file ftp_server.log 02:02:11.301685 ====> Client connect 02:02:11.302098 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:11.302474 < "USER anonymous" 02:02:11.302520 > "331 We are happy you popped in![CR][LF]" 02:02:11.302711 < "PASS ftp@example.com" 02:02:11.302743 > "230 Welcome you silly person[CR][LF]" 02:02:11.302923 < "PWD" 02:02:11.302965 > "257 "/" is current directory[CR][LF]" 02:02:11.303126 < "EPSV" 02:02:11.303152 ====> Passive DATA channel requested by client 02:02:11.303165 DATA sockfilt for passive data channel starting... 02:02:11.315420 DATA sockfilt for passive data channel started (pid 107322) 02:02:11.316475 DATA sockfilt for passive data channel listens on port 46539 02:02:11.316539 > "229 Entering Passive Mode (|||46539|)[LF]" 02:02:11.316560 Client has been notified that DATA conn will be accepted on port 46539 02:02:11.316855 Client connects to port 46539 02:02:11.316888 ====> Client established passive DATA connection on port 46539 02:02:11.317023 < "TYPE I" 02:02:11.317057 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:11.317226 < "SIZE verifiedserver" 02:02:11.317265 > "213 17[CR][LF]" 02:02:11.317416 < "RETR verifiedserver" 02:02:11.317446 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:11.317535 =====> Closing passive DATA connection... 02:02:11.317551 Server disconnects passive DATA connection 02:02:11.317670 Server disconnected passive DATA connection 02:02:11.317691 DATA sockfilt for passive data channel quits (pid 107322) 02:02:11.317910 DATA sockfilt for passive data channel quit (pid 107322) 02:02:11.317930 =====> Closed passive DATA connection 02:02:11.317954 > "226 File transfer complete[CR][LF]" 02:02:11.371851 < "QUIT" 02:02:11.371908 > "221 bye bye baby[CR][LF]" 02:02:11.376012 MAIN sockfilt said DISC 02:02:11.376075 ====> Client disconnected 02:02:11.376150 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:11.501706 ====> Client connect 02:02:11.502266 Received DATA (on stdin) 02:02:11.502290 > 160 bytes data, server => client 02:02:11.502304 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:11.502318 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:11.502330 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:11.502439 < 16 bytes data, client => server 02:02:11.502460 'USER anonymous\r\n' 02:02:11.502666 Received DATA (on stdin) 02:02:11.502679 > 33 bytes data, server => client 02:02:11.502690 '331 We are happy you popped in!\r\n' 02:02:11.502750 < 22 bytes data, client => server 02:02:11.502762 'PASS ftp@example.com\r\n' 02:02:11.502886 Received DATA (on stdin) 02:02:11.502899 > 30 bytes data, server => client 02:02:11.502910 '230 Welcome you silly person\r\n' 02:02:11.502967 < 5 bytes data, client => server 02:02:11.502980 'PWD\r\n' 02:02:11.503103 Received DATA (on stdin) 02:02:11.503114 > 30 bytes data, server => client 02:02:11.503125 '257 "/" is current directory\r\n' 02:02:11.503184 < 6 bytes data, client => server 02:02:11.503195 'EPSV\r\n' 02:02:11.516715 Received DATA (on stdin) 02:02:11.516732 > 38 bytes data, server => client 02:02:11.516744 '229 Entering Passive Mode (|||46539|)\n' 02:02:11.517046 < 8 bytes data, client => server 02:02:11.517061 'TYPE I\r\n' 02:02:11.517198 Received DATA (on stdin) 02:02:11.517210 > 33 bytes data, server => client 02:02:11.517221 '200 I modify TYPE as you wanted\r\n' 02:02:11.517280 < 21 bytes data, client => server 02:02:11.517291 'SIZE verifiedserver\r\n' 02:02:11.517404 Received DATA (on stdin) 02:02:11.517415 > 8 bytes data, server => client 02:02:11.517426 '213 17\r\n' 02:02:11.517477 < 21 bytes data, client => server 02:02:11.517488 'RETR verifiedserver\r\n' 02:02:11.518096 Received DATA (on stdin) 02:02:11.518114 > 29 bytes data, server => client 02:02:11.518125 '150 Binary junk (17 bytes).\r\n' 02:02:11.518150 Received DATA (on stdin) 02:02:11.518159 > 28 bytes data, server => client 02:02:11.518169 '226 File transfer complete\r\n' 02:02:11.568536 < 6 bytes data, client => server 02:02:11.568572 'QUIT\r\n' 02:02:11.572057 Received DATA (on stdin) 02:02:11.572078 > 18 bytes data, server => client 02:02:11.572089 '221 bye bye baby\r\n' 02:02:11.575495 ====> Client disconnect 02:02:11.576295 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdataCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind572 ./libtest/lib572 rtsp://127.0.0.1:45759/572 log/4/file572.txt > log/4/stdout572 2> log/4/stderr572 .log 02:02:11.505454 Running IPv4 version 02:02:11.505515 Listening on port 46539 02:02:11.505550 Wrote pid 107322 to log/6/server/ftp_sockdata.pid 02:02:11.515458 Received PING (on stdin) 02:02:11.516483 Received PORT (on stdin) 02:02:11.516940 ====> Client connect 02:02:11.517691 Received DATA (on stdin) 02:02:11.517705 > 17 bytes data, server => client 02:02:11.517716 'WE ROOLZ: 80451\r\n' 02:02:11.517747 Received DISC (on stdin) 02:02:11.517759 ====> Client forcibly disconnected 02:02:11.517837 Received QUIT (on stdin) 02:02:11.517848 quits 02:02:11.517913 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 576 === End of file server.cmd === Start of file stderr576 URL: ftp://127.0.0.1:40433/fully_simulated/UNIX/* === End of file stderr576 === Start of file valgrind576 ==107394== ==107394== Process terminating with default action of signal 4 (SIGILL) ==107394== Illegal opcode at address 0x48EA16B ==107394== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107394== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107394== by 0x48EA16B: Curl_open (url.c:519) ==107394== by 0x4880EEF: curl_easy_init (easy.c:370) ==107394== by 0x109098: UnknownInlinedFun (lib576.c:104) ==107394== by 0x109098: main (first.c:220) ==107394== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107394== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107394== by 0x4A6D258: __tsearch (tsearch.c:337) ==107394== by 0x4A6D258: tsearch (tsearch.c:290) ==107394== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107394== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107394== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107394== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107394== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107394== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107394== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107394== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107394== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107394== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107394== by 0x498986B: setlocale (setlocale.c:337) ==107394== by 0x109054: main (first.c:160) ==107394== ==107394== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107394== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107394== by 0x4A6D258: __tsearch (tsearch.c:337) ==107394== by 0x4A6D258: tsearch (tsearch.c:290) ==107394== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107394== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107394== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107394== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107394== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107394== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107394== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107394== by 0x498986B: setlocale (setlocale.c:337) ==107394== by 0x109054: main (first.c:160) ==107394== ==107394== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107394== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107394== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107394== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107394== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107394== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107394== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107394== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107394== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107394== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107394== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107394== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107394== by 0x498986B: setlocale (setlocale.c:337) ==107394== by 0x109054: main (first.c:160) ==107394== ==107394== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107394== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107394== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107394== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107394== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107394== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107394== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107394== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107394== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107394== by 0x498986B: setlocale (setlocale.c:337) ==107394== by 0x109054: main (first.c:160) ==107394== ==107394== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107394== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107394== by 0x48EA143: Curl_open (url.c:510) ==107394== by 0x4880EEF: curl_easy_init (easy.c:370) ==107394== by 0x109098: UnknownInlinedFun (lib576.c:104) ==107394== by 0x109098: main (first.c:220) ==107394== ==107394== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107394== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107394== by 0x4A6D258: __tsearch (tsearch.c:337) ==107394== by 0x4A6D258: tsearch (tsearch.c:290) ==107394== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107394== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107394== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107394== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107394== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107394== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107394== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107394== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107394== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107394== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107394== by 0x498986B: setlocale (setlocale.c:337) ==107394== by 0x109054: main (first.c:160) ==107394== ==107394== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107394== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107394== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107394== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107394== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107394== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107394== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107394== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107394== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107394== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107394== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107394== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107394== by 0x498986B: setlocale (setlocale.c:337) ==107394== by 0x109054: main (first.c:160) ==107394== === End of file valgrind576 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/4/server/rtsp_server.pid" --portfile "log/4/server/rtsp_server.port" --logfile "log/4/rtsp_server.log" --logdir "log/4" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/4/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:45759/verifiedserver" 2>log/4/rtsp_verify.log RUN: RTSP server PID 106916 port 45759 * pid rtsp => 106916 106916 test 0572...[RTSP GET_PARAMETER (Put/Heartbeat/Post)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind572 ./libtest/lib572 rtsp://127.0.0.1:45759/572 log/4/file572.txt > log/4/stdout572 2> log/4/stderr572 572: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 572 === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 02:02:10.727926 Running IPv4 version on port 45759 02:02:10.728070 Wrote pid 106916 to log/4/server/rtsp_server.pid 02:02:10.728103 Wrote port 45759 to log/4/server/rtsp_server.port 02:02:11.841771 ====> Client connect 02:02:11.841806 Read 93 bytes 02:02:11.841862 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:45759 User-Agent: curl/8.11.1 Accept: */* ] 02:02:11.841885 Got request: GET /verifiedserver HTTP/1.1 02:02:11.841894 Are-we-friendly question received 02:02:11.841924 Wrote request (93 bytes) input to log/4/server.input 02:02:11.841950 Send response number -2 part 0 02:02:11.841959 Identifying ourselves as friends 02:02:11.842014 Sent off 69 bytes 02:02:11.842037 Response sent (69 bytes) and written to log/4/server.response 02:02:11.842048 special request received, no persistency 02:02:11.842058 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:45759... * Connected to 127.0.0.1 (127.0.0.1) port 45759 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45759 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 106916 === End of file rtsp_verify.out === Start of file server.cmd Testnum 572 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 106916 === End of file server.response === Start of file stderr572 URL: rtsp://127.0.0.1:45759/572 === End of file stderr572 === Start of file valgrind572 ==107522== ==107522== Process terminating with default action of signal 4 (SIGILL) ==107522== Illegal opcode at address 0x48EA16B ==107522== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107522== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107522== by 0x48EA16B: Curl_open (url.c:519) ==107522== by 0x4880EEF: curl_easy_init (easy.c:370) ==107522== by 0x1090AE: UnknownInlinedFun (lib572.c:60) ==107522== by 0x1090AE: main (first.c:220) ==107522== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107522== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107522== by 0x4A6D258: __tsearch (tsearch.c:337) ==107522== by 0x4A6D258: tsearch (tsearch.c:290) ==107522== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107522== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107522== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107522== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107522== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107522== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107522== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107522== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107522== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107522== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107522== by 0x498986B: setlocale (setlocale.c:337) ==107522== by 0x10905B: main (first.c:160) ==107522== ==107522== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107522== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107522== by 0x4A6D258: __tsearch (tsearch.c:337) ==107522== by 0x4A6D258: tsearch (tsearch.c:290) ==107522== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107522== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107522== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107522== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107522== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107522== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107522== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107522== by 0x498986B: setlocale (setlocale.c:337) ==107522== by 0x10905B: main (first.c:160) ==107522== ==107522== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107522== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107522== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107522== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107522== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107522== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107522== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107522== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107522== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107522== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107522== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107522== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107522== by 0x498986B: setlocale (setlocale.c:337) ==107522== by 0x10905B: main (first.c:160) ==107522== ==107522== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107522== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107522== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107522== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107522== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107522== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107522== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107522== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107522== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107522== by 0x498986B: setlocale (setlocale.c:337) ==107522== by 0x10905B: main (first.c:160) ==107522== ==107522== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107522== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107522== by 0x48EA143: Curl_open (url.c:510) ==107522== by 0x4880EEF: curl_easy_init (easy.c:370) ==107522== by 0x1090AE: UnknownInlinedFun (lib572.c:60) ==107522== by 0x1090AE: main (first.c:220) ==107522== ==107522== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107522== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107522== by 0x4A6D258: __tsearch (tsearch.c:337) ==107522== by 0x4A6D258: tsearch (tsearch.c:290) ==107522== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107522== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107522== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107522== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107522== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107522== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107522== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107522== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107522== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107522== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107522== by 0x498986B: setlocale (setlocale.c:337) ==107522== by 0x10905B: main (first.c:160) ==107522== ==107522== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107522== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107522== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107522== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107522== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107522== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107522== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107522== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107522== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107522== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind571 ./libtest/lib571 rtsp://127.0.0.1:39387/571 log/2/protofile571.txt > log/2/stdout571 2> log/2/stderr571 43) ==107522== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107522== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107522== by 0x498986B: setlocale (setlocale.c:337) ==107522== by 0x10905B: main (first.c:160) ==107522== === End of file valgrind572 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/2/server/rtsp_server.pid" --portfile "log/2/server/rtsp_server.port" --logfile "log/2/rtsp_server.log" --logdir "log/2" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/2/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:39387/verifiedserver" 2>log/2/rtsp_verify.log RUN: RTSP server PID 106913 port 39387 * pid rtsp => 106913 106913 test 0571...[RTSP RTP Interleaving Test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind571 ./libtest/lib571 rtsp://127.0.0.1:39387/571 log/2/protofile571.txt > log/2/stdout571 2> log/2/stderr571 571: stdout FAILED: --- log/2/check-expected 2024-12-15 02:02:13.395720212 +0000 +++ log/2/check-generated 2024-12-15 02:02:13.395720212 +0000 @@ -1,20 +0,0 @@ -RTP: message size 10, channel 1[LF] -RTP: message size 500, channel 0[LF] -RTP: message size 196, channel 0[LF] -RTP: message size 124, channel 0[LF] -RTP: message size 824, channel 0[LF] -RTP: message size 12, channel 0[LF] -RTP: message size 10, channel 1[LF] -RTP: message size 50, channel 0[LF] -RTP: message size 798, channel 0[LF] -RTP: message size 42, channel 0[LF] -RTP: message size 30, channel 1[LF] -RTP: message size 2048, channel 0[LF] -RTP: message size 85, channel 0[LF] -RTP: message size 24, channel 1[LF] -RTP: message size 13, channel 0[LF] -RTP: message size 33, channel 0[LF] -RTP: message size 127, channel 0[LF] -RTP: message size 35, channel 1[LF] -RTP PAYLOAD END CORRUPTED (11), [$][LF] -RTP: message size 63, channel 0[LF] == Contents of files in the log/2/ dir after test 571 === Start of file check-expected RTP: message size 10, channel 1[LF] RTP: message size 500, channel 0[LF] RTP: message size 196, channel 0[LF] RTP: message size 124, channel 0[LF] RTP: message size 824, channel 0[LF] RTP: message size 12, channel 0[LF] RTP: message size 10, channel 1[LF] RTP: message size 50, channel 0[LF] RTP: message size 798, channel 0[LF] RTP: message size 42, channel 0[LF] RTP: message size 30, channel 1[LF] RTP: message size 2048, channel 0[LF] RTP: message size 85, channel 0[LF] RTP: message size 24, channel 1[LF] RTP: message size 13, channel 0[LF] RTP: message size 33, channel 0[LF] RTP: message size 127, channel 0[LF] RTP: message size 35, channel 1[LF] RTP PAYLOAD END CORRUPTED (11), [$][LF] RTP: message size 63, channel 0[LF] === End of file check-expected === Start of file rtsp_server.log 02:02:10.705500 Running IPv4 version on port 39387 02:02:10.705605 Wrote pid 106913 to log/2/server/rtsp_server.pid 02:02:10.705642 Wrote port 39387 to log/2/server/rtsp_server.port 02:02:11.763783 ====> Client connect 02:02:11.763807 Read 93 bytes 02:02:11.763818 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:39387 User-Agent: curl/8.11.1 Accept: */* ] 02:02:11.763840 Got request: GET /verifiedserver HTTP/1.1 02:02:11.763850 Are-we-friendly question received 02:02:11.763875 Wrote request (93 bytes) input to log/2/server.input 02:02:11.763897 Send response number -2 part 0 02:02:11.763908 Identifying ourselves as friends 02:02:11.763949 Sent off 69 bytes 02:02:11.763966 Response sent (69 bytes) and written to log/2/server.response 02:02:11.763976 special request received, no persistency 02:02:11.763985 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:39387... * Connected to 127.0.0.1 (127.0.0.1) port 39387 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39387 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 106913 === End of file rtsp_verify.out === Start of file server.cmd rtp: part 2 channel 1 size 10 rtp: part 2 channel 0 size 500 rtp: part 2 channel 0 size 196 rtp: part 2 channel 0 size 124 rtp: part 2 channel 0 size 824 rtp: part 2 channel 0 size 18 size_err -6 rtp: part 3 channel 1 size 10 rtp: part 3 channel 0 size 50 rtp: part 4 channel 0 size 798 rtp: part 4 channel 0 size 42 rtp: part 4 channel 1 size 30 rtp: part 4 channel 0 size 2048 rtp: part 4 channel 0 size 85 rtp: part 4 channel 1 size 24 rtp: part 4 channel 0 size 17 size_err -4 rtp: part 4 channel 0 size 33 rtp: part 4 channel 0 size 127 rtp: part 4 channel 1 size 24 size_err 11 rtp: part 4 channel 0 size 37 rtp: part 4 channel 0 size 63 Testnum 571 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 106913 === End of file server.response === Start of file stderr571 URL: rtsp://127.0.0.1:39387/571 === End of file stderr571 === Start of file valgrind571 ==107488== ==107488== Process terminating with default action of signal 4 (SIGILL) ==107488== Illegal opcode at address 0x48EA16B ==107488== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107488== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107488== by 0x48EA16B: Curl_open (url.c:519) ==107488== by 0x4880EEF: curl_easy_init (easy.c:370) ==107488== by 0x1090C0: UnknownInlinedFun (lib571.c:122) ==107488== by 0x1090C0: main (first.c:220) ==107488== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==107488== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107488== by 0x4A6D258: __tsearch (tsearch.c:337) ==107488== by 0x4A6D258: tsearch (tsearch.c:290) ==107488== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107488== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107488== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107488== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107488== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107488== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107488== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107488== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107488== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107488== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107488== by 0x498986B: setlocale (setlocale.c:337) ==107488== by 0x10904B: main (first.c:160) ==107488== ==107488== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==107488== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107488== by 0x4A6D258: __tsearch (tsearch.c:337) ==107488== by 0x4A6D258: tsearch (tsearch.c:290) ==107488== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107488== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107488== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107488== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107488== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107488== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107488== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107488== by 0x498986B: setlocale (setlocale.c:337) ==107488== by 0x10904B: main (first.c:160) ==107488== ==107488== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==107488== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107488== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107488== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107488== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107488== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107488== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107488== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107488== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107488== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107488== by 0x497C99C: __gconv_compare_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind577 ./libtest/lib567 rtsp://127.0.0.1:44455/577 > log/5/stdout577 2> log/5/stderr577 alias (gconv_db.c:692) ==107488== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107488== by 0x498986B: setlocale (setlocale.c:337) ==107488== by 0x10904B: main (first.c:160) ==107488== ==107488== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==107488== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107488== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107488== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107488== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107488== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107488== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107488== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107488== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107488== by 0x498986B: setlocale (setlocale.c:337) ==107488== by 0x10904B: main (first.c:160) ==107488== ==107488== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==107488== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107488== by 0x48EA143: Curl_open (url.c:510) ==107488== by 0x4880EEF: curl_easy_init (easy.c:370) ==107488== by 0x1090C0: UnknownInlinedFun (lib571.c:122) ==107488== by 0x1090C0: main (first.c:220) ==107488== ==107488== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==107488== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107488== by 0x4A6D258: __tsearch (tsearch.c:337) ==107488== by 0x4A6D258: tsearch (tsearch.c:290) ==107488== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107488== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107488== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107488== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107488== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107488== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107488== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107488== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107488== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107488== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107488== by 0x498986B: setlocale (setlocale.c:337) ==107488== by 0x10904B: main (first.c:160) ==107488== ==107488== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==107488== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107488== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107488== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107488== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107488== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107488== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107488== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107488== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107488== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107488== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107488== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107488== by 0x498986B: setlocale (setlocale.c:337) ==107488== by 0x10904B: main (first.c:160) ==107488== === End of file valgrind571 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/5/server/rtsp_server.pid" --portfile "log/5/server/rtsp_server.port" --logfile "log/5/rtsp_server.log" --logdir "log/5" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/5/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:44455/verifiedserver" 2>log/5/rtsp_verify.log RUN: RTSP server PID 107283 port 44455 * pid rtsp => 107283 107283 test 0577...[Funny RTSP version in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind577 ./libtest/lib567 rtsp://127.0.0.1:44455/577 > log/5/stdout577 2> log/5/stderr577 577: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 577 === Start of file rtsp_server.log 02:02:11.496114 Running IPv4 version on port 44455 02:02:11.496216 Wrote pid 107283 to log/5/server/rtsp_server.pid 02:02:11.496254 Wrote port 44455 to log/5/server/rtsp_server.port 02:02:12.584473 ====> Client connect 02:02:12.584499 Read 93 bytes 02:02:12.584510 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:44455 User-Agent: curl/8.11.1 Accept: */* ] 02:02:12.584537 Got request: GET /verifiedserver HTTP/1.1 02:02:12.584548 Are-we-friendly question received 02:02:12.584577 Wrote request (93 bytes) input to log/5/server.input 02:02:12.584600 Send response number -2 part 0 02:02:12.584611 Identifying ourselves as friends 02:02:12.584659 Sent off 69 bytes 02:02:12.584684 Response sent (69 bytes) and written to log/5/server.response 02:02:12.584695 special request received, no persistency 02:02:12.584705 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:44455... * Connected to 127.0.0.1 (127.0.0.1) port 44455 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44455 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 107283 === End of file rtsp_verify.out === Start of file server.cmd Testnum 577 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 107283 === End of file server.response === Start of file stderr577 URL: rtsp://127.0.0.1:44455/577 === End of file stderr577 === Start of file valgrind577 ==107659== ==107659== Process terminating with default action of signal 4 (SIGILL) ==107659== Illegal opcode at address 0x48EA16B ==107659== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107659== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107659== by 0x48EA16B: Curl_open (url.c:519) ==107659== by 0x4880EEF: curl_easy_init (easy.c:370) ==107659== by 0x10908E: UnknownInlinedFun (lib567.c:42) ==107659== by 0x10908E: main (first.c:220) ==107659== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107659== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107659== by 0x4A6D258: __tsearch (tsearch.c:337) ==107659== by 0x4A6D258: tsearch (tsearch.c:290) ==107659== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107659== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107659== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107659== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107659== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107659== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107659== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107659== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107659== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107659== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107659== by 0x498986B: setlocale (setlocale.c:337) ==107659== by 0x10904B: main (first.c:160) ==107659== ==107659== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107659== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107659== by 0x4A6D258: __tsearch (tsearch.c:337) ==107659== by 0x4A6D258: tsearch (tsearch.c:290) ==107659== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107659== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107659== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107659== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind578 ./libtest/lib578 http://127.0.0.1:34527/578 log/3/ip578 > log/3/stdout578 2> log/3/stderr578 ) ==107659== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107659== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107659== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107659== by 0x498986B: setlocale (setlocale.c:337) ==107659== by 0x10904B: main (first.c:160) ==107659== ==107659== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107659== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107659== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107659== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107659== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107659== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107659== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107659== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107659== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107659== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107659== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107659== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107659== by 0x498986B: setlocale (setlocale.c:337) ==107659== by 0x10904B: main (first.c:160) ==107659== ==107659== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107659== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107659== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107659== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107659== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107659== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107659== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107659== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107659== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107659== by 0x498986B: setlocale (setlocale.c:337) ==107659== by 0x10904B: main (first.c:160) ==107659== ==107659== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107659== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107659== by 0x48EA143: Curl_open (url.c:510) ==107659== by 0x4880EEF: curl_easy_init (easy.c:370) ==107659== by 0x10908E: UnknownInlinedFun (lib567.c:42) ==107659== by 0x10908E: main (first.c:220) ==107659== ==107659== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107659== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107659== by 0x4A6D258: __tsearch (tsearch.c:337) ==107659== by 0x4A6D258: tsearch (tsearch.c:290) ==107659== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107659== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107659== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107659== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107659== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107659== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107659== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107659== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107659== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107659== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107659== by 0x498986B: setlocale (setlocale.c:337) ==107659== by 0x10904B: main (first.c:160) ==107659== ==107659== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107659== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107659== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107659== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107659== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107659== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107659== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107659== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107659== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107659== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107659== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107659== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107659== by 0x498986B: setlocale (setlocale.c:337) ==107659== by 0x10904B: main (first.c:160) ==107659== === End of file valgrind577 test 0578...[HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind578 ./libtest/lib578 http://127.0.0.1:34527/578 log/3/ip578 > log/3/stdout578 2> log/3/stderr578 578: data FAILED: --- log/3/check-expected 2024-12-15 02:02:13.935729896 +0000 +++ log/3/check-generated 2024-12-15 02:02:13.935729896 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] --foo-[LF] == Contents of files in the log/3/ dir after test 578 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] -foo-[LF] === End of file check-expected === Start of file http_server.log 02:02:12.568719 ====> Client connect 02:02:12.568763 accept_connection 3 returned 4 02:02:12.568785 accept_connection 3 returned 0 02:02:12.568802 Read 93 bytes 02:02:12.568813 Process 93 bytes request 02:02:12.568829 Got request: GET /verifiedserver HTTP/1.1 02:02:12.568840 Are-we-friendly question received 02:02:12.568869 Wrote request (93 bytes) input to log/3/server.input 02:02:12.568891 Identifying ourselves as friends 02:02:12.568987 Response sent (56 bytes) and written to log/3/server.response 02:02:12.569004 special request received, no persistency 02:02:12.569015 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 578 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr578 URL: http://127.0.0.1:34527/578 === End of file stderr578 === Start of file valgrind578 ==107652== ==107652== Process terminating with default action of signal 4 (SIGILL) ==107652== Illegal opcode at address 0x48EA16B ==107652== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107652== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107652== by 0x48EA16B: Curl_open (url.c:519) ==107652== by 0x4880EEF: curl_easy_init (easy.c:370) ==107652== by 0x10909A: UnknownInlinedFun (lib578.c:63) ==107652== by 0x10909A: main (first.c:220) ==107652== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107652== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107652== by 0x4A6D258: __tsearch (tsearch.c:337) ==107652== by 0x4A6D258: tsearch (tsearch.c:290) ==107652== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107652== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107652== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107652== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107652== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107652== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107652== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107652== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107652== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107652== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107652== by 0x498986B: setlocale (setlocale.c:337) ==107652== by 0x109047: main (first.c:160) ==107652== ==107652== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107652== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107652== by 0x4A6D258: __tsearch (tsearch.c:337) ==107652== by 0x4A6D258: tsearch (tsearch.c:290) ==107652== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107652== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107652== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107652== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107652== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107652== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107652== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107652== by 0x498986B: setlocale (setlocale.c:337) ==107652== by 0x109047: main (first.c:160) ==107652== ==107652== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107652== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107652== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107652== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107652== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107652== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107652== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107652== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107652== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107652== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107652== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107652== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107652== by 0x498986B: setlocale (setlocale.c:337) ==107652== by 0x109047: main (first.c:160) ==107652== ==107652== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107652== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107652== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107652== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107652== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107652== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107652== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107652== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107652== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107652== by 0x498986B: setlocale (setlocale.c:337) ==107652== by 0x109047: main (first.c:160) ==107652== ==107652== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107652== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107652== by 0x48EA143: Curl_open (url.c:510) ==107652== by 0x4880EEF: curl_easy_init (easy.c:370) ==107652== by 0x10909A: UnknownInlinedFun (lib578.c:63) ==107652== by 0x10909A: main (first.c:220) ==107652== ==107652== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107652== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107652== by 0x4A6D258: __tsearch (tsearch.c:337) ==107652== by 0x4A6D258: tsearch (tsearch.c:290) ==107652== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107652== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107652== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107652== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107652== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107652== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107652== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107652== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107652== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107652== by 0x4986E9D: _nl_find_locale (findloCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind580 ./libtest/lib507 http://127.0.0.1:38509/580 > log/9/stdout580 2> log/9/stderr580 cale.c:298) ==107652== by 0x498986B: setlocale (setlocale.c:337) ==107652== by 0x109047: main (first.c:160) ==107652== ==107652== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107652== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107652== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107652== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107652== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107652== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107652== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107652== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107652== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107652== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107652== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107652== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107652== by 0x498986B: setlocale (setlocale.c:337) ==107652== by 0x109047: main (first.c:160) ==107652== === End of file valgrind578 test 0580...[multi interface, multiple Location: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind580 ./libtest/lib507 http://127.0.0.1:38509/580 > log/9/stdout580 2> log/9/stderr580 580: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 580 === Start of file http_server.log 02:02:12.749460 ====> Client connect 02:02:12.749503 accept_connection 3 returned 4 02:02:12.749522 accept_connection 3 returned 0 02:02:12.749537 Read 93 bytes 02:02:12.749548 Process 93 bytes request 02:02:12.749563 Got request: GET /verifiedserver HTTP/1.1 02:02:12.749572 Are-we-friendly question received 02:02:12.749594 Wrote request (93 bytes) input to log/9/server.input 02:02:12.749612 Identifying ourselves as friends 02:02:12.749692 Response sent (56 bytes) and written to log/9/server.response 02:02:12.749703 special request received, no persistency 02:02:12.749711 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 580 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr580 URL: http://127.0.0.1:38509/580 === End of file stderr580 === Start of file valgrind580 ==107765== ==107765== Process terminating with default action of signal 4 (SIGILL) ==107765== Illegal opcode at address 0x48EA16B ==107765== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107765== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107765== by 0x48EA16B: Curl_open (url.c:519) ==107765== by 0x4880EEF: curl_easy_init (easy.c:370) ==107765== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==107765== by 0x48BF363: Curl_multi_handle (multi.c:416) ==107765== by 0x1092F1: test.part.0 (lib507.c:45) ==107765== by 0x10909E: UnknownInlinedFun (lib507.c:43) ==107765== by 0x10909E: main (first.c:220) ==107765== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==107765== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107765== by 0x4A6D258: __tsearch (tsearch.c:337) ==107765== by 0x4A6D258: tsearch (tsearch.c:290) ==107765== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107765== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107765== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107765== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107765== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107765== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107765== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107765== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107765== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107765== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107765== by 0x498986B: setlocale (setlocale.c:337) ==107765== by 0x109047: main (first.c:160) ==107765== ==107765== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==107765== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107765== by 0x4A6D258: __tsearch (tsearch.c:337) ==107765== by 0x4A6D258: tsearch (tsearch.c:290) ==107765== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107765== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107765== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107765== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107765== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107765== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107765== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107765== by 0x498986B: setlocale (setlocale.c:337) ==107765== by 0x109047: main (first.c:160) ==107765== ==107765== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==107765== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107765== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107765== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107765== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107765== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107765== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107765== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107765== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107765== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107765== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107765== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107765== by 0x498986B: setlocale (setlocale.c:337) ==107765== by 0x109047: main (first.c:160) ==107765== ==107765== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==107765== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107765== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107765== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107765== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107765== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107765== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107765== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107765== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107765== by 0x498986B: setlocale (setlocale.c:337) ==107765== by 0x109047: main (first.c:160) ==107765== ==107765== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==107765== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107765== by 0x48EA143: Curl_open (url.c:510) ==107765== by 0x4880EEF: curl_easy_init (easy.c:370) ==107765== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==107765== by 0x48BF363: Curl_multi_handle (multi.c:416) ==107765== by 0x1092F1: test.part.0 (lib507.c:45) ==107765== by 0x10909E: UnknownInlinedFun (lib507.c:43) ==107765== by 0x10909E: main (first.c:220) ==107765== ==107765== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==107765== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107765== by 0x4A6D258: __tsearch (tsearch.c:337) ==107765== by 0x4A6D258: tsearch (tsearch.c:290) ==107765== by 0x497D877: add_alias2.part.0 (gconCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind579 ./libtest/lib579 http://127.0.0.1:44137/579 log/11/ip579 > log/11/stdout579 2> log/11/stderr579 v_conf.c:142) ==107765== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107765== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107765== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107765== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107765== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107765== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107765== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107765== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107765== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107765== by 0x498986B: setlocale (setlocale.c:337) ==107765== by 0x109047: main (first.c:160) ==107765== ==107765== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==107765== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107765== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107765== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107765== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107765== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107765== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107765== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107765== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107765== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107765== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107765== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107765== by 0x498986B: setlocale (setlocale.c:337) ==107765== by 0x109047: main (first.c:160) ==107765== === End of file valgrind580 test 0579...[small chunked HTTP POSTs with digest auth. and progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind579 ./libtest/lib579 http://127.0.0.1:44137/579 log/11/ip579 > log/11/stdout579 2> log/11/stderr579 579: data FAILED: --- log/11/check-expected 2024-12-15 02:02:14.052398655 +0000 +++ log/11/check-generated 2024-12-15 02:02:14.052398655 +0000 @@ -1,17 +0,0 @@ -HTTP/1.1 100 Continue[CR][LF] -Server: Microsoft-IIS/5.0[CR][LF] -Date: Sun, 03 Apr 2005 14:57:45 GMT[CR][LF] -X-Powered-By: ASP.NET[CR][LF] -[CR][LF] -HTTP/1.1 401 authentication please swsbounce[CR][LF] -Server: Microsoft-IIS/6.0[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -HTTP/1.1 200 A OK[CR][LF] -Server: Microsoft-IIS/6.0[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] == Contents of files in the log/11/ dir after test 579 === Start of file check-expected HTTP/1.1 100 Continue[CR][LF] Server: Microsoft-IIS/5.0[CR][LF] Date: Sun, 03 Apr 2005 14:57:45 GMT[CR][LF] X-Powered-By: ASP.NET[CR][LF] [CR][LF] HTTP/1.1 401 authentication please swsbounce[CR][LF] Server: Microsoft-IIS/6.0[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 0[CR][LF] [CR][LF] HTTP/1.1 200 A OK[CR][LF] Server: Microsoft-IIS/6.0[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] === End of file check-expected === Start of file http_server.log 02:02:12.720537 ====> Client connect 02:02:12.720573 accept_connection 3 returned 4 02:02:12.720588 accept_connection 3 returned 0 02:02:12.720715 Read 93 bytes 02:02:12.720728 Process 93 bytes request 02:02:12.720743 Got request: GET /verifiedserver HTTP/1.1 02:02:12.720752 Are-we-friendly question received 02:02:12.720776 Wrote request (93 bytes) input to log/11/server.input 02:02:12.720793 Identifying ourselves as friends 02:02:12.720852 Response sent (56 bytes) and written to log/11/server.response 02:02:12.720862 special request received, no persistency 02:02:12.720871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 579 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr579 URL: http://127.0.0.1:44137/579 === End of file stderr579 === Start of file valgrind579 ==107756== ==107756== Process terminating with default action of signal 4 (SIGILL) ==107756== Illegal opcode at address 0x48EA16B ==107756== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107756== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107756== by 0x48EA16B: Curl_open (url.c:519) ==107756== by 0x4880EEF: curl_easy_init (easy.c:370) ==107756== by 0x1090B2: UnknownInlinedFun (lib579.c:108) ==107756== by 0x1090B2: main (first.c:220) ==107756== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107756== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107756== by 0x4A6D258: __tsearch (tsearch.c:337) ==107756== by 0x4A6D258: tsearch (tsearch.c:290) ==107756== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107756== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107756== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107756== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107756== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107756== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107756== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107756== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107756== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107756== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107756== by 0x498986B: setlocale (setlocale.c:337) ==107756== by 0x109056: main (first.c:160) ==107756== ==107756== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107756== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107756== by 0x4A6D258: __tsearch (tsearch.c:337) ==107756== by 0x4A6D258: tsearch (tsearch.c:290) ==107756== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107756== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107756== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107756== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107756== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107756== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107756== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107756== by 0x498986B: setlocale (setlocale.c:337) ==107756== by 0x109056: main (first.c:160) ==107756== ==107756== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107756== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107756== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107756== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107756== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107756== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107756== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107756== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107756== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107756== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107756== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107756== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107756== by 0x498986B: setlocale (setlocale.c:337) ==107756== by 0x109056: main (first.c:160) ==107756== ==107756== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107756== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107756== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107756== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107756== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107756== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107756== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107756== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107756== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107756== by 0x498986B: setlocale (setlocale.c:337) ==107756== by 0x109056: main (first.c:160) ==107756== ==107756== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107756== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107756== by 0x48EA143: Curl_open (url.c:510) ==107756== by 0x4880EEF: curl_easy_init (easy.c:370) ==107756== by 0x1090B2: UnknownInlinedFun (lib579.c:108) ==107756== by 0x1090B2: main (first.c:220) ==107756== ==107756== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107756== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107756== by 0x4A6D258: __tsearch (tsearch.c:337) ==107756== by 0x4A6D258: tsearch (tsearch.c:290) ==107756== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107756== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107756== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107756== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:10CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind581 ./libtest/lib507 http://127.0.0.1:43803/581 > log/8/stdout581 2> log/8/stderr581 1) ==107756== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107756== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107756== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107756== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107756== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107756== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107756== by 0x498986B: setlocale (setlocale.c:337) ==107756== by 0x109056: main (first.c:160) ==107756== ==107756== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107756== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107756== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107756== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107756== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107756== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107756== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107756== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107756== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107756== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107756== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107756== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107756== by 0x498986B: setlocale (setlocale.c:337) ==107756== by 0x109056: main (first.c:160) ==107756== === End of file valgrind579 test 0581...[multi interface, multiple Content-Type: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind581 ./libtest/lib507 http://127.0.0.1:43803/581 > log/8/stdout581 2> log/8/stderr581 581: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 581 === Start of file http_server.log 02:02:13.154585 ====> Client connect 02:02:13.154636 accept_connection 3 returned 4 02:02:13.154657 accept_connection 3 returned 0 02:02:13.154674 Read 93 bytes 02:02:13.154687 Process 93 bytes request 02:02:13.154703 Got request: GET /verifiedserver HTTP/1.1 02:02:13.154712 Are-we-friendly question received 02:02:13.154739 Wrote request (93 bytes) input to log/8/server.input 02:02:13.154757 Identifying ourselves as friends 02:02:13.154853 Response sent (56 bytes) and written to log/8/server.response 02:02:13.154867 special request received, no persistency 02:02:13.154878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 581 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr581 URL: http://127.0.0.1:43803/581 === End of file stderr581 === Start of file valgrind581 ==107903== ==107903== Process terminating with default action of signal 4 (SIGILL) ==107903== Illegal opcode at address 0x48EA16B ==107903== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107903== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107903== by 0x48EA16B: Curl_open (url.c:519) ==107903== by 0x4880EEF: curl_easy_init (easy.c:370) ==107903== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==107903== by 0x48BF363: Curl_multi_handle (multi.c:416) ==107903== by 0x1092F1: test.part.0 (lib507.c:45) ==107903== by 0x10909E: UnknownInlinedFun (lib507.c:43) ==107903== by 0x10909E: main (first.c:220) ==107903== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==107903== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107903== by 0x4A6D258: __tsearch (tsearch.c:337) ==107903== by 0x4A6D258: tsearch (tsearch.c:290) ==107903== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107903== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107903== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107903== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107903== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107903== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107903== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107903== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107903== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107903== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107903== by 0x498986B: setlocale (setlocale.c:337) ==107903== by 0x109047: main (first.c:160) ==107903== ==107903== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==107903== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107903== by 0x4A6D258: __tsearch (tsearch.c:337) ==107903== by 0x4A6D258: tsearch (tsearch.c:290) ==107903== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107903== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107903== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107903== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107903== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107903== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107903== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107903== by 0x498986B: setlocale (setlocale.c:337) ==107903== by 0x109047: main (first.c:160) ==107903== ==107903== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==107903== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107903== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107903== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107903== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107903== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107903== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107903== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107903== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107903== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107903== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107903== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107903== by 0x498986B: setlocale (setlocale.c:337) ==107903== by 0x109047: main (first.c:160) ==107903== ==107903== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==107903== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107903== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107903== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107903== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107903== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107903== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107903== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107903== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107903== by 0x498986B: setlocale (setlocale.c:337) ==107903== by 0x109047: main (first.c:160) ==107903== ==107903== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==107903== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107903== by 0x48EA143: Curl_open (url.c:510) ==107903== by 0x4880EEF: curl_easy_init (easy.c:370) ==107903== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==107903== by 0x48BF363: Curl_multi_handle (multi.c:416) ==107903== by 0x1092F1: test.part.0 (lib507.c:45) ==10CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind584 ./libtest/lib584 http://127.0.0.1:43753/584 > log/7/stdout584 2> log/7/stderr584 7903== by 0x10909E: UnknownInlinedFun (lib507.c:43) ==107903== by 0x10909E: main (first.c:220) ==107903== ==107903== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==107903== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107903== by 0x4A6D258: __tsearch (tsearch.c:337) ==107903== by 0x4A6D258: tsearch (tsearch.c:290) ==107903== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107903== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107903== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107903== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107903== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107903== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107903== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107903== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107903== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107903== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107903== by 0x498986B: setlocale (setlocale.c:337) ==107903== by 0x109047: main (first.c:160) ==107903== ==107903== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==107903== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107903== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107903== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107903== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107903== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107903== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107903== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107903== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107903== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107903== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107903== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107903== by 0x498986B: setlocale (setlocale.c:337) ==107903== by 0x109047: main (first.c:160) ==107903== === End of file valgrind581 test 0584...[CURLOPT_MIMEPOST first set then set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind584 ./libtest/lib584 http://127.0.0.1:43753/584 > log/7/stdout584 2> log/7/stderr584 584: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 584 === Start of file http_server.log 02:02:13.308564 ====> Client connect 02:02:13.308614 accept_connection 3 returned 4 02:02:13.308633 accept_connection 3 returned 0 02:02:13.308650 Read 93 bytes 02:02:13.308661 Process 93 bytes request 02:02:13.308678 Got request: GET /verifiedserver HTTP/1.1 02:02:13.308687 Are-we-friendly question received 02:02:13.308711 Wrote request (93 bytes) input to log/7/server.input 02:02:13.308728 Identifying ourselves as friends 02:02:13.308815 Response sent (56 bytes) and written to log/7/server.response 02:02:13.308825 special request received, no persistency 02:02:13.308834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 584 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr584 URL: http://127.0.0.1:43753/584 === End of file stderr584 === Start of file valgrind584 ==107955== ==107955== Process terminating with default action of signal 4 (SIGILL) ==107955== Illegal opcode at address 0x48EA16B ==107955== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==107955== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==107955== by 0x48EA16B: Curl_open (url.c:519) ==107955== by 0x4880EEF: curl_easy_init (easy.c:370) ==107955== by 0x109088: UnknownInlinedFun (lib589.c:38) ==107955== by 0x109088: main (first.c:220) ==107955== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==107955== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107955== by 0x4A6D258: __tsearch (tsearch.c:337) ==107955== by 0x4A6D258: tsearch (tsearch.c:290) ==107955== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107955== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107955== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107955== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107955== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107955== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107955== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107955== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107955== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107955== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107955== by 0x498986B: setlocale (setlocale.c:337) ==107955== by 0x109045: main (first.c:160) ==107955== ==107955== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==107955== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107955== by 0x4A6D258: __tsearch (tsearch.c:337) ==107955== by 0x4A6D258: tsearch (tsearch.c:290) ==107955== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107955== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107955== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107955== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107955== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107955== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107955== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107955== by 0x498986B: setlocale (setlocale.c:337) ==107955== by 0x109045: main (first.c:160) ==107955== ==107955== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==107955== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107955== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107955== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107955== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107955== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107955== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==107955== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==107955== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107955== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107955== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107955== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107955== by 0x498986B: setlocale (setlocale.c:337) ==107955== by 0x109045: main (first.c:160) ==107955== ==107955== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==107955== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107955== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107955== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==107955== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==107955== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107955== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107955== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107955== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107955== by 0x498986B: setlocale (setlocale.c:337) ==107955== by 0x109045: main (first.c:160) ==107955CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind585 ./libtest/lib585 http://127.0.0.1:42929/585 > log/10/stdout585 2> log/10/stderr585 == ==107955== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==107955== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==107955== by 0x48EA143: Curl_open (url.c:510) ==107955== by 0x4880EEF: curl_easy_init (easy.c:370) ==107955== by 0x109088: UnknownInlinedFun (lib589.c:38) ==107955== by 0x109088: main (first.c:220) ==107955== ==107955== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==107955== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107955== by 0x4A6D258: __tsearch (tsearch.c:337) ==107955== by 0x4A6D258: tsearch (tsearch.c:290) ==107955== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==107955== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107955== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107955== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107955== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107955== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107955== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107955== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107955== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107955== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107955== by 0x498986B: setlocale (setlocale.c:337) ==107955== by 0x109045: main (first.c:160) ==107955== ==107955== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==107955== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==107955== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==107955== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==107955== by 0x497DBB2: add_alias (gconv_conf.c:178) ==107955== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==107955== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==107955== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==107955== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==107955== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==107955== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==107955== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==107955== by 0x498986B: setlocale (setlocale.c:337) ==107955== by 0x109045: main (first.c:160) ==107955== === End of file valgrind584 test 0585...[socket open/close callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind585 ./libtest/lib585 http://127.0.0.1:42929/585 > log/10/stdout585 2> log/10/stderr585 585: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 585 === Start of file http_server.log 02:02:13.433456 ====> Client connect 02:02:13.433493 accept_connection 3 returned 4 02:02:13.433509 accept_connection 3 returned 0 02:02:13.433523 Read 93 bytes 02:02:13.433532 Process 93 bytes request 02:02:13.433545 Got request: GET /verifiedserver HTTP/1.1 02:02:13.433554 Are-we-friendly question received 02:02:13.433574 Wrote request (93 bytes) input to log/10/server.input 02:02:13.433589 Identifying ourselves as friends 02:02:13.433650 Response sent (56 bytes) and written to log/10/server.response 02:02:13.433660 special request received, no persistency 02:02:13.433669 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 585 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr585 URL: http://127.0.0.1:42929/585 === End of file stderr585 === Start of file valgrind585 ==108012== ==108012== Process terminating with default action of signal 4 (SIGILL) ==108012== Illegal opcode at address 0x48EA16B ==108012== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108012== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108012== by 0x48EA16B: Curl_open (url.c:519) ==108012== by 0x4880EEF: curl_easy_init (easy.c:370) ==108012== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==108012== by 0x1090C4: main (first.c:220) ==108012== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108012== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108012== by 0x4A6D258: __tsearch (tsearch.c:337) ==108012== by 0x4A6D258: tsearch (tsearch.c:290) ==108012== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108012== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108012== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108012== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108012== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108012== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108012== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108012== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108012== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108012== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108012== by 0x498986B: setlocale (setlocale.c:337) ==108012== by 0x109056: main (first.c:160) ==108012== ==108012== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108012== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108012== by 0x4A6D258: __tsearch (tsearch.c:337) ==108012== by 0x4A6D258: tsearch (tsearch.c:290) ==108012== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108012== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108012== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108012== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108012== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108012== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108012== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108012== by 0x498986B: setlocale (setlocale.c:337) ==108012== by 0x109056: main (first.c:160) ==108012== ==108012== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108012== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108012== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108012== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108012== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108012== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108012== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108012== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108012== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108012== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108012== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108012== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108012== by 0x498986B: setlocale (setlocale.c:337) ==108012== by 0x109056: main (first.c:160) ==108012== ==108012== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108012== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108012== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108012== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108012== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108012== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108012== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_onceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind586 ./libtest/lib585 ftp://127.0.0.1:40433/586 > log/6/stdout586 2> log/6/stderr586 .c:143) ==108012== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108012== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108012== by 0x498986B: setlocale (setlocale.c:337) ==108012== by 0x109056: main (first.c:160) ==108012== ==108012== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108012== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108012== by 0x48EA143: Curl_open (url.c:510) ==108012== by 0x4880EEF: curl_easy_init (easy.c:370) ==108012== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==108012== by 0x1090C4: main (first.c:220) ==108012== ==108012== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108012== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108012== by 0x4A6D258: __tsearch (tsearch.c:337) ==108012== by 0x4A6D258: tsearch (tsearch.c:290) ==108012== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108012== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108012== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108012== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108012== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108012== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108012== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108012== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108012== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108012== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108012== by 0x498986B: setlocale (setlocale.c:337) ==108012== by 0x109056: main (first.c:160) ==108012== ==108012== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108012== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108012== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108012== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108012== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108012== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108012== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108012== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108012== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108012== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108012== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108012== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108012== by 0x498986B: setlocale (setlocale.c:337) ==108012== by 0x109056: main (first.c:160) ==108012== === End of file valgrind585 test 0586...[FTP and open/close socket callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind586 ./libtest/lib585 ftp://127.0.0.1:40433/586 > log/6/stdout586 2> log/6/stderr586 586: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 586 === Start of file ftp_server.log 02:02:13.322866 ====> Client connect 02:02:13.323037 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:13.323950 < "USER anonymous" 02:02:13.324001 > "331 We are happy you popped in![CR][LF]" 02:02:13.324193 < "PASS ftp@example.com" 02:02:13.324224 > "230 Welcome you silly person[CR][LF]" 02:02:13.324400 < "PWD" 02:02:13.324435 > "257 "/" is current directory[CR][LF]" 02:02:13.324617 < "EPSV" 02:02:13.324643 ====> Passive DATA channel requested by client 02:02:13.324658 DATA sockfilt for passive data channel starting... 02:02:13.342109 DATA sockfilt for passive data channel started (pid 108067) 02:02:13.342236 DATA sockfilt for passive data channel listens on port 33115 02:02:13.342275 > "229 Entering Passive Mode (|||33115|)[LF]" 02:02:13.342291 Client has been notified that DATA conn will be accepted on port 33115 02:02:13.352226 Client connects to port 33115 02:02:13.352293 ====> Client established passive DATA connection on port 33115 02:02:13.355208 < "TYPE I" 02:02:13.355256 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:13.355466 < "SIZE verifiedserver" 02:02:13.355510 > "213 17[CR][LF]" 02:02:13.355664 < "RETR verifiedserver" 02:02:13.355698 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:13.355786 =====> Closing passive DATA connection... 02:02:13.355802 Server disconnects passive DATA connection 02:02:13.356059 Server disconnected passive DATA connection 02:02:13.356086 DATA sockfilt for passive data channel quits (pid 108067) 02:02:13.356294 DATA sockfilt for passive data channel quit (pid 108067) 02:02:13.356315 =====> Closed passive DATA connection 02:02:13.356341 > "226 File transfer complete[CR][LF]" 02:02:13.408658 < "QUIT" 02:02:13.408706 > "221 bye bye baby[CR][LF]" 02:02:13.410038 MAIN sockfilt said DISC 02:02:13.410085 ====> Client disconnected 02:02:13.410139 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:13.522872 ====> Client connect 02:02:13.523490 Received DATA (on stdin) 02:02:13.523515 > 160 bytes data, server => client 02:02:13.523530 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:13.523543 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:13.523555 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:13.523648 < 16 bytes data, client => server 02:02:13.523667 'USER anonymous\r\n' 02:02:13.524148 Received DATA (on stdin) 02:02:13.524162 > 33 bytes data, server => client 02:02:13.524175 '331 We are happy you popped in!\r\n' 02:02:13.524237 < 22 bytes data, client => server 02:02:13.524252 'PASS ftp@example.com\r\n' 02:02:13.524366 Received DATA (on stdin) 02:02:13.524379 > 30 bytes data, server => client 02:02:13.524392 '230 Welcome you silly person\r\n' 02:02:13.524449 < 5 bytes data, client => server 02:02:13.524464 'PWD\r\n' 02:02:13.524577 Received DATA (on stdin) 02:02:13.524592 > 30 bytes data, server => client 02:02:13.524603 '257 "/" is current directory\r\n' 02:02:13.524668 < 6 bytes data, client => server 02:02:13.524683 'EPSV\r\n' 02:02:13.545165 Received DATA (on stdin) 02:02:13.545193 > 38 bytes data, server => client 02:02:13.545206 '229 Entering Passive Mode (|||33115|)\n' 02:02:13.555180 < 8 bytes data, client => server 02:02:13.555206 'TYPE I\r\n' 02:02:13.555402 Received DATA (on stdin) 02:02:13.555415 > 33 bytes data, server => client 02:02:13.555426 '200 I modify TYPE as you wanted\r\n' 02:02:13.555499 < 21 bytes data, client => server 02:02:13.555513 'SIZE verifiedserver\r\n' 02:02:13.555651 Received DATA (on stdin) 02:02:13.555662 > 8 bytes data, server => client 02:02:13.555672 '213 17\r\n' 02:02:13.555724 < 21 bytes data, client => server 02:02:13.555735 'RETR verifiedserver\r\n' 02:02:13.555941 Received DATA (on stdin) 02:02:13.555953 > 29 bytes data, server => client 02:02:13.555963 '150 Binary junk (17 bytes).\r\n' 02:02:13.556482 Received DATA (on stdin) 02:02:13.556495 > 28 bytes data, server => client 02:02:13.556506 '226 File transfer complete\r\n' 02:02:13.608619 < 6 bytes data, client => server 02:02:13.608649 'QUIT\r\n' 02:02:13.608852 Received DATA (on stdin) 02:02:13.608865 > 18 bytes data, server => client 02:02:13.608876 '221 bye bye baby\r\n' 02:02:13.609685 ====> Client disconnect 02:02:13.610278 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:13.532811 Running IPv4 version 02:02:13.532878 Listening on port 33115 02:02:13.532914 Wrote pid 108067 to log/6/server/ftp_sockdata.pid 02:02:13.542167 Received PING (on stdin) 02:02:13.542283 Received PORT (on stdin) 02:02:13.552282 ====> Client connect 02:02:13.556019 Received DATA (on stdin) 02:02:13.556036 > 17 bytes data, server => client 02:02:13.556047 'WE ROOLZ: 80451\r\n' 02:02:13.556081 Received DISC (on sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind587 ./libtest/lib587 http://127.0.0.1:36813/587 > log/4/stdout587 2> log/4/stderr587 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind588 ./libtest/lib525 ftp://127.0.0.1:36595/path/588 log/2/upload588 > log/2/stdout588 2> log/2/stderr588 tdin) 02:02:13.556093 ====> Client forcibly disconnected 02:02:13.556234 Received QUIT (on stdin) 02:02:13.556246 quits 02:02:13.556301 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 586 === End of file server.cmd === Start of file stderr586 URL: ftp://127.0.0.1:40433/586 === End of file stderr586 === Start of file valgrind586 ==108127== ==108127== Process terminating with default action of signal 4 (SIGILL) ==108127== Illegal opcode at address 0x48EA16B ==108127== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108127== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108127== by 0x48EA16B: Curl_open (url.c:519) ==108127== by 0x4880EEF: curl_easy_init (easy.c:370) ==108127== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==108127== by 0x1090C4: main (first.c:220) ==108127== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108127== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108127== by 0x4A6D258: __tsearch (tsearch.c:337) ==108127== by 0x4A6D258: tsearch (tsearch.c:290) ==108127== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108127== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108127== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108127== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108127== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108127== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108127== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108127== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108127== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108127== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108127== by 0x498986B: setlocale (setlocale.c:337) ==108127== by 0x109056: main (first.c:160) ==108127== ==108127== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108127== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108127== by 0x4A6D258: __tsearch (tsearch.c:337) ==108127== by 0x4A6D258: tsearch (tsearch.c:290) ==108127== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108127== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108127== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108127== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108127== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108127== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108127== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108127== by 0x498986B: setlocale (setlocale.c:337) ==108127== by 0x109056: main (first.c:160) ==108127== ==108127== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108127== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108127== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108127== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108127== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108127== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108127== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108127== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108127== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108127== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108127== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108127== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108127== by 0x498986B: setlocale (setlocale.c:337) ==108127== by 0x109056: main (first.c:160) ==108127== ==108127== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108127== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108127== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108127== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108127== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108127== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108127== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108127== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108127== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108127== by 0x498986B: setlocale (setlocale.c:337) ==108127== by 0x109056: main (first.c:160) ==108127== ==108127== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108127== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108127== by 0x48EA143: Curl_open (url.c:510) ==108127== by 0x4880EEF: curl_easy_init (easy.c:370) ==108127== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==108127== by 0x1090C4: main (first.c:220) ==108127== ==108127== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108127== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108127== by 0x4A6D258: __tsearch (tsearch.c:337) ==108127== by 0x4A6D258: tsearch (tsearch.c:290) ==108127== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108127== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108127== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108127== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108127== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108127== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108127== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108127== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108127== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108127== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108127== by 0x498986B: setlocale (setlocale.c:337) ==108127== by 0x109056: main (first.c:160) ==108127== ==108127== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108127== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108127== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108127== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108127== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108127== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108127== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108127== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108127== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108127== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108127== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108127== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108127== by 0x498986B: setlocale (setlocale.c:337) ==108127== by 0x109056: main (first.c:160) ==108127== === End of file valgrind586 test 0588...[FTP PORT upload using multi interface, EPRT doesn't work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind588 ./libtest/lib525 ftp://127.0.0.1:36595/path/588 log/2/upload588 > log/2/stdout588 2> log/2/stderr588 588: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 588 === Start of file ftp_server.log 02:02:13.451303 ====> Client connect 02:02:13.451492 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:13.451810 < "USER anonymous" 02:02:13.451849 > "331 We are happy you popped in![CR][LF]" 02:02:13.452029 < "PASS ftp@example.com" 02:02:13.452056 > "230 Welcome you silly person[CR][LF]" 02:02:13.452221 < "PWD" 02:02:13.452254 > "257 "/" is current directory[CR][LF]" 02:02:13.452423 < "EPSV" 02:02:13.452451 ====> Passive DATA channel requested by client 02:02:13.452465 DATA sockfilt for passive data channel starting... 02:02:13.454040 DATA sockfilt for passive data channel started (pid 108121) 02:02:13.454135 DATA sockfilt for passive data channel listens on port 45435 02:02:13.454166 > "229 Entering Passive Mode (|||45435|)[LF]" 02:02:13.454182 Client has been notified that DATA conn will be accepted on port 45435 02:02:13.454400 Client connects to port 45435 02:02:13.454427 ====> Client established passive DATA connection on port 45435 02:02:13.454483 < "TYPE I" 02:02:13.454505 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:13.454644 < "SIZE verifiedserver" 02:02:13.454679 > "213 17[CR][LF]" 02:02:13.454819 < "RETR verifiedserver" 02:02:13.454847 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:13.454916 =====> Closing passive DATA connection... 02:02:13.454930 Server disconnects passive DATA connection 02:02:13.455158 Server disconnected passive DATA connection 02:02:13.455183 DATA sockfilt for passive data channel quits (pid 108121) 02:02:13.455361 DATA sockfilt for passive data channel quit (pid 108121) 02:02:13.455382 =====> Closed passive DATA connection 02:02:13.455405 > "226 File transfer complete[CR][LF]" 02:02:13.502252 < "QUIT" 02:02:13.502329 > "221 bye bye baby[CR][LF]" 02:02:13.503484 MAIN sockfilt said DISC 02:02:13.503518 ====> Client disconnected 02:02:13.503595 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:13.651294 ====> Client connect 02:02:13.651647 Received DATA (on stdin) 02:02:13.651663 > 160 bytes data, server => client 02:02:13.651676 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:13.651689 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:13.651699 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:13.651783 < 16 bytes data, client => server 02:02:13.651799 'USER anonymous\r\n' 02:02:13.651994 Received DATA (on stdin) 02:02:13.652008 > 33 bytes data, server => client 02:02:13.652020 '331 We are happy you popped in!\r\n' 02:02:13.652076 < 22 bytes data, client => server 02:02:13.652092 'PASS ftp@example.com\r\n' 02:02:13.652196 Received DATA (on stdin) 02:02:13.652210 > 30 bytes data, server => client 02:02:13.652221 '230 Welcome you silly person\r\n' 02:02:13.652275 < 5 bytes data, client => server 02:02:13.652289 'PWD\r\n' 02:02:13.652394 Received DATA (on stdin) 02:02:13.652406 > 30 bytes data, server => client 02:02:13.652417 '257 "/" is current directory\r\n' 02:02:13.652478 < 6 bytes data, client => server 02:02:13.652491 'EPSV\r\n' 02:02:13.654324 Received DATA (on stdin) 02:02:13.654336 > 38 bytes data, server => client 02:02:13.654347 '229 Entering Passive Mode (|||45435|)\n' 02:02:13.654469 < 8 bytes data, client => server 02:02:13.654483 'TYPE I\r\n' 02:02:13.654642 Received DATA (on stdin) 02:02:13.654653 > 33 bytes data, server => client 02:02:13.654663 '200 I modify TYPE as you wanted\r\n' 02:02:13.654708 < 21 bytes data, client => server 02:02:13.654719 'SIZE verifiedserver\r\n' 02:02:13.654817 Received DATA (on stdin) 02:02:13.654829 > 8 bytes data, server => client 02:02:13.654838 '213 17\r\n' 02:02:13.654885 < 21 bytes data, client => server 02:02:13.654896 'RETR verifiedserver\r\n' 02:02:13.655068 Received DATA (on stdin) 02:02:13.655079 > 29 bytes data, server => client 02:02:13.655089 '150 Binary junk (17 bytes).\r\n' 02:02:13.655544 Received DATA (on stdin) 02:02:13.655557 > 28 bytes data, server => client 02:02:13.655568 '226 File transfer complete\r\n' 02:02:13.702061 < 6 bytes data, client => server 02:02:13.702104 'QUIT\r\n' 02:02:13.702476 Received DATA (on stdin) 02:02:13.702490 > 18 bytes data, server => client 02:02:13.702500 '221 bye bye baby\r\n' 02:02:13.703334 ====> Client disconnect 02:02:13.703734 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:13.653921 Running IPv4 version 02:02:13.653970 Listening on port 45435 02:02:13.654004 Wrote pid 108121 to log/2/server/ftp_sockdata.pid 02:02:13.654126 Received PING (on stdin) 02:02:13.654196 Received PORT (on stdin) 02:02:13.654499 ====> Client connect 02:02:13.655132 Received DATA (on stdin) 02:02:13.655152 > 17 bytes data, server => client 02:02:13.655162 'WE ROOLZ: 80457\r\n' 02:02:13.655190 Received DISC (on stdin) 02:02:13.655202 ====> Client forcibly disconnected 02:02:13.655327 Received QUIT (on stdin) 02:02:13.655337 quits 02:02:13.655389 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 we don't like EPRT now Testnum 588 === End of file server.cmd === Start of file stderr588 URL: ftp://127.0.0.1:36595/path/588 === End of file stderr588 === Start of file upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 ==108158== ==108158== Process terminating with default action of signal 4 (SIGILL) ==108158== Illegal opcode at address 0x48EA16B ==108158== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108158== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108158== by 0x48EA16B: Curl_open (url.c:519) ==108158== by 0x4880EEF: curl_easy_init (easy.c:370) ==108158== by 0x10931B: test (lib525.c:82) ==108158== by 0x109087: main (first.c:220) ==108158== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==108158== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108158== by 0x4A6D258: __tsearch (tsearch.c:337) ==108158== by 0x4A6D258: tsearch (tsearch.c:290) ==108158== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108158== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108158== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108158== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108158== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108158== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108158== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108158== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108158== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108158== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108158== by 0x498986B: setlocale (setlocale.c:337) ==108158== by 0x109047: main (first.c:160) ==108158== ==108158== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==108158== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108158== by 0x4A6D258: __tsearch (tsearch.c:337) ==108158== by 0x4A6D258: tsearch (tsearch.c:290) ==108158== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108158== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108158== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108158== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108158== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108158== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108158== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108158== by 0x498986B: setlocale (setlocale.c:337) ==108158== by 0x109047: main (first.c:160) ==108158== ==108158== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==108158== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108158== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108158== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108158== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108158== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108158== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108158== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108158== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108158== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108158== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108158== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108158== by 0x498986B: setlocale (setlocale.c:337) ==108158== by 0x109047: main (first.c:160) ==108158== ==108158== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==108158== at 0x48447A8: malloc (vg_replace_malloc.c:446) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind589 ./libtest/lib589 http://127.0.0.1:33361/589 > log/5/stdout589 2> log/5/stderr589 ==108158== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108158== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108158== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108158== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108158== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108158== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108158== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108158== by 0x498986B: setlocale (setlocale.c:337) ==108158== by 0x109047: main (first.c:160) ==108158== ==108158== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==108158== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108158== by 0x48EA143: Curl_open (url.c:510) ==108158== by 0x4880EEF: curl_easy_init (easy.c:370) ==108158== by 0x10931B: test (lib525.c:82) ==108158== by 0x109087: main (first.c:220) ==108158== ==108158== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==108158== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108158== by 0x4A6D258: __tsearch (tsearch.c:337) ==108158== by 0x4A6D258: tsearch (tsearch.c:290) ==108158== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108158== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108158== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108158== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108158== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108158== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108158== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108158== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108158== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108158== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108158== by 0x498986B: setlocale (setlocale.c:337) ==108158== by 0x109047: main (first.c:160) ==108158== ==108158== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==108158== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108158== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108158== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108158== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108158== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108158== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108158== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108158== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108158== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108158== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108158== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108158== by 0x498986B: setlocale (setlocale.c:337) ==108158== by 0x109047: main (first.c:160) ==108158== === End of file valgrind588 test 0589...[make an HTTP MIME POST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind589 ./libtest/lib589 http://127.0.0.1:33361/589 > log/5/stdout589 2> log/5/stderr589 589: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 589 === Start of file http_server.log 02:02:14.032498 ====> Client connect 02:02:14.032530 accept_connection 3 returned 4 02:02:14.032547 accept_connection 3 returned 0 02:02:14.032561 Read 93 bytes 02:02:14.032571 Process 93 bytes request 02:02:14.032586 Got request: GET /verifiedserver HTTP/1.1 02:02:14.032595 Are-we-friendly question received 02:02:14.032617 Wrote request (93 bytes) input to log/5/server.input 02:02:14.032633 Identifying ourselves as friends 02:02:14.032698 Response sent (56 bytes) and written to log/5/server.response 02:02:14.032708 special request received, no persistency 02:02:14.032717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 589 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file stderr589 URL: http://127.0.0.1:33361/589 === End of file stderr589 === Start of file valgrind589 ==108293== ==108293== Process terminating with default action of signal 4 (SIGILL) ==108293== Illegal opcode at address 0x48EA16B ==108293== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108293== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108293== by 0x48EA16B: Curl_open (url.c:519) ==108293== by 0x4880EEF: curl_easy_init (easy.c:370) ==108293== by 0x10908A: UnknownInlinedFun (lib589.c:38) ==108293== by 0x10908A: main (first.c:220) ==108293== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108293== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108293== by 0x4A6D258: __tsearch (tsearch.c:337) ==108293== by 0x4A6D258: tsearch (tsearch.c:290) ==108293== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108293== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108293== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108293== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108293== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108293== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108293== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108293== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108293== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108293== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108293== by 0x498986B: setlocale (setlocale.c:337) ==108293== by 0x109047: main (first.c:160) ==108293== ==108293== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108293== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108293== by 0x4A6D258: __tsearch (tsearch.c:337) ==108293== by 0x4A6D258: tsearch (tsearch.c:290) ==108293== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108293== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108293== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108293== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108293== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108293== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108293== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108293== by 0x498986B: setlocale (setlocale.c:337) ==108293== by 0x109047: main (first.c:160) ==108293== ==108293== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108293== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108293== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108293== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108293== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108293== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108293== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108293== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108293== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108293== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108293== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108293== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108293== by 0x4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind590 ./libtest/lib590 http://test.remote.example.com/path/590 http://127.0.0.1:34527 > log/3/stdout590 2> log/3/stderr590 98986B: setlocale (setlocale.c:337) ==108293== by 0x109047: main (first.c:160) ==108293== ==108293== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108293== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108293== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108293== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108293== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108293== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108293== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108293== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108293== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108293== by 0x498986B: setlocale (setlocale.c:337) ==108293== by 0x109047: main (first.c:160) ==108293== ==108293== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108293== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108293== by 0x48EA143: Curl_open (url.c:510) ==108293== by 0x4880EEF: curl_easy_init (easy.c:370) ==108293== by 0x10908A: UnknownInlinedFun (lib589.c:38) ==108293== by 0x10908A: main (first.c:220) ==108293== ==108293== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108293== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108293== by 0x4A6D258: __tsearch (tsearch.c:337) ==108293== by 0x4A6D258: tsearch (tsearch.c:290) ==108293== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108293== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108293== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108293== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108293== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108293== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108293== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108293== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108293== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108293== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108293== by 0x498986B: setlocale (setlocale.c:337) ==108293== by 0x109047: main (first.c:160) ==108293== ==108293== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108293== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108293== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108293== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108293== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108293== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108293== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108293== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108293== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108293== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108293== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108293== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108293== by 0x498986B: setlocale (setlocale.c:337) ==108293== by 0x109047: main (first.c:160) ==108293== === End of file valgrind589 test 0590...[HTTP proxy offers Negotiate+NTLM, use only NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind590 ./libtest/lib590 http://test.remote.example.com/path/590 http://127.0.0.1:34527 > log/3/stdout590 2> log/3/stderr590 590: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 590 === Start of file http_server.log 02:02:14.183971 ====> Client connect 02:02:14.184003 accept_connection 3 returned 4 02:02:14.184019 accept_connection 3 returned 0 02:02:14.184032 Read 93 bytes 02:02:14.184042 Process 93 bytes request 02:02:14.184055 Got request: GET /verifiedserver HTTP/1.1 02:02:14.184064 Are-we-friendly question received 02:02:14.184085 Wrote request (93 bytes) input to log/3/server.input 02:02:14.184101 Identifying ourselves as friends 02:02:14.184161 Response sent (56 bytes) and written to log/3/server.response 02:02:14.184171 special request received, no persistency 02:02:14.184179 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 590 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr590 URL: http://test.remote.example.com/path/590 === End of file stderr590 === Start of file valgrind590 ==108370== ==108370== Process terminating with default action of signal 4 (SIGILL) ==108370== Illegal opcode at address 0x48EA16B ==108370== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108370== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108370== by 0x48EA16B: Curl_open (url.c:519) ==108370== by 0x4880EEF: curl_easy_init (easy.c:370) ==108370== by 0x10909A: UnknownInlinedFun (lib590.c:51) ==108370== by 0x10909A: main (first.c:220) ==108370== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108370== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108370== by 0x4A6D258: __tsearch (tsearch.c:337) ==108370== by 0x4A6D258: tsearch (tsearch.c:290) ==108370== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108370== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108370== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108370== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108370== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108370== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108370== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108370== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108370== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108370== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108370== by 0x498986B: setlocale (setlocale.c:337) ==108370== by 0x109047: main (first.c:160) ==108370== ==108370== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108370== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108370== by 0x4A6D258: __tsearch (tsearch.c:337) ==108370== by 0x4A6D258: tsearch (tsearch.c:290) ==108370== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108370== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108370== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108370== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108370== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108370== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108370== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108370== by 0x498986B: setlocale (setlocale.c:337) ==108370== by 0x109047: main (first.c:160) ==108370== ==108370== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108370== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108370== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108370== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108370== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108370== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108370== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108370== by 0x497DD1F: __gconv_read_conf (gconv_cocannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind591 ./libtest/lib591 ftp://127.0.0.1:35301/path/591 8 log/9/upload591 > log/9/stdout591 2> log/9/stderr591 nf.c:480) ==108370== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108370== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108370== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108370== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108370== by 0x498986B: setlocale (setlocale.c:337) ==108370== by 0x109047: main (first.c:160) ==108370== ==108370== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108370== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108370== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108370== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108370== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108370== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108370== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108370== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108370== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108370== by 0x498986B: setlocale (setlocale.c:337) ==108370== by 0x109047: main (first.c:160) ==108370== ==108370== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108370== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108370== by 0x48EA143: Curl_open (url.c:510) ==108370== by 0x4880EEF: curl_easy_init (easy.c:370) ==108370== by 0x10909A: UnknownInlinedFun (lib590.c:51) ==108370== by 0x10909A: main (first.c:220) ==108370== ==108370== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108370== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108370== by 0x4A6D258: __tsearch (tsearch.c:337) ==108370== by 0x4A6D258: tsearch (tsearch.c:290) ==108370== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108370== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108370== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108370== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108370== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108370== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108370== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108370== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108370== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108370== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108370== by 0x498986B: setlocale (setlocale.c:337) ==108370== by 0x109047: main (first.c:160) ==108370== ==108370== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108370== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108370== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108370== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108370== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108370== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108370== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108370== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108370== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108370== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108370== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108370== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108370== by 0x498986B: setlocale (setlocale.c:337) ==108370== by 0x109047: main (first.c:160) ==108370== === End of file valgrind590 test 0591...[FTP multi PORT and 425 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind591 ./libtest/lib591 ftp://127.0.0.1:35301/path/591 8 log/9/upload591 > log/9/stdout591 2> log/9/stderr591 591: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 591 === Start of file ftp_server.log 02:02:14.032374 ====> Client connect 02:02:14.032526 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:14.032820 < "USER anonymous" 02:02:14.032861 > "331 We are happy you popped in![CR][LF]" 02:02:14.033049 < "PASS ftp@example.com" 02:02:14.033081 > "230 Welcome you silly person[CR][LF]" 02:02:14.033237 < "PWD" 02:02:14.033268 > "257 "/" is current directory[CR][LF]" 02:02:14.033412 < "EPSV" 02:02:14.033433 ====> Passive DATA channel requested by client 02:02:14.033446 DATA sockfilt for passive data channel starting... 02:02:14.051908 DATA sockfilt for passive data channel started (pid 108378) 02:02:14.055192 DATA sockfilt for passive data channel listens on port 45927 02:02:14.055263 > "229 Entering Passive Mode (|||45927|)[LF]" 02:02:14.055284 Client has been notified that DATA conn will be accepted on port 45927 02:02:14.057552 Client connects to port 45927 02:02:14.057599 ====> Client established passive DATA connection on port 45927 02:02:14.057691 < "TYPE I" 02:02:14.057727 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:14.057977 < "SIZE verifiedserver" 02:02:14.058018 > "213 17[CR][LF]" 02:02:14.058170 < "RETR verifiedserver" 02:02:14.058206 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:14.058283 =====> Closing passive DATA connection... 02:02:14.058297 Server disconnects passive DATA connection 02:02:14.061792 Server disconnected passive DATA connection 02:02:14.061824 DATA sockfilt for passive data channel quits (pid 108378) 02:02:14.062084 DATA sockfilt for passive data channel quit (pid 108378) 02:02:14.062106 =====> Closed passive DATA connection 02:02:14.062133 > "226 File transfer complete[CR][LF]" 02:02:14.101936 < "QUIT" 02:02:14.101980 > "221 bye bye baby[CR][LF]" 02:02:14.102785 MAIN sockfilt said DISC 02:02:14.102821 ====> Client disconnected 02:02:14.102886 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:14.232405 ====> Client connect 02:02:14.232679 Received DATA (on stdin) 02:02:14.232697 > 160 bytes data, server => client 02:02:14.232711 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:14.232723 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:14.232733 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:14.232816 < 16 bytes data, client => server 02:02:14.232828 'USER anonymous\r\n' 02:02:14.233001 Received DATA (on stdin) 02:02:14.233013 > 33 bytes data, server => client 02:02:14.233024 '331 We are happy you popped in!\r\n' 02:02:14.233091 < 22 bytes data, client => server 02:02:14.233103 'PASS ftp@example.com\r\n' 02:02:14.233219 Received DATA (on stdin) 02:02:14.233230 > 30 bytes data, server => client 02:02:14.233241 '230 Welcome you silly person\r\n' 02:02:14.233291 < 5 bytes data, client => server 02:02:14.233302 'PWD\r\n' 02:02:14.233404 Received DATA (on stdin) 02:02:14.233414 > 30 bytes data, server => client 02:02:14.233424 '257 "/" is current directory\r\n' 02:02:14.233479 < 6 bytes data, client => server 02:02:14.233489 'EPSV\r\n' 02:02:14.257312 Received DATA (on stdin) 02:02:14.257338 > 38 bytes data, server => client 02:02:14.257352 '229 Entering Passive Mode (|||45927|)\n' 02:02:14.257584 < 8 bytes data, client => server 02:02:14.257603 'TYPE I\r\n' 02:02:14.257869 Received DATA (on stdin) 02:02:14.257882 > 33 bytes data, server => client 02:02:14.257893 '200 I modify TYPE as you wanted\r\n' 02:02:14.258016 < 21 bytes data, client => server 02:02:14.258029 'SIZE verifiedserver\r\n' 02:02:14.258162 Received DATA (on stdin) 02:02:14.258172 > 8 bytes data, server => client 02:02:14.258182 '213 17\r\n' 02:02:14.258231 < 21 bytes data, client => server 02:02:14.258241 'RETR verifiedserver\r\n' 02:02:14.258436 Received DATA (on stdin) 02:02:14.258446 > 29 bytes data, server => client 02:02:14.258456 '150 Binary junk (17 bytes).\r\n' 02:02:14.262272 Received DATA (cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind592 ./libtest/lib591 ftp://127.0.0.1:45687/path/592 8 log/11/upload592 > log/11/stdout592 2> log/11/stderr592 on stdin) 02:02:14.262286 > 28 bytes data, server => client 02:02:14.262296 '226 File transfer complete\r\n' 02:02:14.301922 < 6 bytes data, client => server 02:02:14.301947 'QUIT\r\n' 02:02:14.302122 Received DATA (on stdin) 02:02:14.302134 > 18 bytes data, server => client 02:02:14.302146 '221 bye bye baby\r\n' 02:02:14.302872 ====> Client disconnect 02:02:14.303026 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:14.242590 Running IPv4 version 02:02:14.242667 Listening on port 45927 02:02:14.251872 Wrote pid 108378 to log/9/server/ftp_sockdata.pid 02:02:14.251913 Received PING (on stdin) 02:02:14.252718 Received PORT (on stdin) 02:02:14.257626 ====> Client connect 02:02:14.261784 Received DATA (on stdin) 02:02:14.261805 > 17 bytes data, server => client 02:02:14.261817 'WE ROOLZ: 80452\r\n' 02:02:14.261862 Received DISC (on stdin) 02:02:14.261875 ====> Client forcibly disconnected 02:02:14.262033 Received QUIT (on stdin) 02:02:14.262048 quits 02:02:14.262096 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN425 REPLY EPRT 500 we don't like EPRT now Testnum 591 === End of file server.cmd === Start of file stderr591 URL: ftp://127.0.0.1:35301/path/591 === End of file stderr591 === Start of file upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 ==108444== ==108444== Process terminating with default action of signal 4 (SIGILL) ==108444== Illegal opcode at address 0x48EA16B ==108444== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108444== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108444== by 0x48EA16B: Curl_open (url.c:519) ==108444== by 0x4880EEF: curl_easy_init (easy.c:370) ==108444== by 0x1092F2: test (lib591.c:64) ==108444== by 0x109098: main (first.c:220) ==108444== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==108444== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108444== by 0x4A6D258: __tsearch (tsearch.c:337) ==108444== by 0x4A6D258: tsearch (tsearch.c:290) ==108444== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108444== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108444== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108444== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108444== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108444== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108444== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108444== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108444== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108444== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108444== by 0x498986B: setlocale (setlocale.c:337) ==108444== by 0x109047: main (first.c:160) ==108444== ==108444== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==108444== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108444== by 0x4A6D258: __tsearch (tsearch.c:337) ==108444== by 0x4A6D258: tsearch (tsearch.c:290) ==108444== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108444== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108444== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108444== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108444== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108444== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108444== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108444== by 0x498986B: setlocale (setlocale.c:337) ==108444== by 0x109047: main (first.c:160) ==108444== ==108444== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==108444== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108444== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108444== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108444== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108444== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108444== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108444== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108444== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108444== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108444== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108444== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108444== by 0x498986B: setlocale (setlocale.c:337) ==108444== by 0x109047: main (first.c:160) ==108444== ==108444== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==108444== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108444== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108444== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108444== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108444== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108444== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108444== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108444== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108444== by 0x498986B: setlocale (setlocale.c:337) ==108444== by 0x109047: main (first.c:160) ==108444== ==108444== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==108444== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108444== by 0x48EA143: Curl_open (url.c:510) ==108444== by 0x4880EEF: curl_easy_init (easy.c:370) ==108444== by 0x1092F2: test (lib591.c:64) ==108444== by 0x109098: main (first.c:220) ==108444== ==108444== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==108444== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108444== by 0x4A6D258: __tsearch (tsearch.c:337) ==108444== by 0x4A6D258: tsearch (tsearch.c:290) ==108444== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108444== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108444== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108444== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108444== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108444== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108444== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108444== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108444== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108444== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108444== by 0x498986B: setlocale (setlocale.c:337) ==108444== by 0x109047: main (first.c:160) ==108444== ==108444== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==108444== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108444== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108444== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108444== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108444== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108444== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108444== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108444== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108444== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108444== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108444== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108444== by 0x498986B: setlocale (setlocale.c:337) ==108444== by 0x109047: main (first.c:160) ==108444== === End of file valgrind591 test 0592...[FTP multi PORT and 421 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind592 ./libtest/lib591 ftp://127.0.0.1:45687/path/592 8 log/11/upload592 > log/11/stdout592 2> log/11/stderr592 592: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 592 === Start of file ftp_server.log 02:02:14.091928 ====> Client connect 02:02:14.092077 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:14.092361 < "USER anonymous" 02:02:14.092393 > "331 We are happy you popped in![CR][LF]" 02:02:14.092547 < "PASS ftp@example.com" 02:02:14.092569 > "230 Welcome you silly person[CR][LF]" 02:02:14.092713 < "PWD" 02:02:14.092741 > "257 "/" is current directory[CR][LF]" 02:02:14.092891 < "EPSV" 02:02:14.092913 ====> Passive DATA channel requested by client 02:02:14.092925 DATA sockfilt for passive data channel starting... 02:02:14.094281 DATA sockfilt for passive data channel started (pid 108439) 02:02:14.094382 DATA sockfilt for passive data channel listens on port 45365 02:02:14.094421 > "229 Entering Passive Mode (|||45365|)[LF]" 02:02:14.094440 Client has been notified that DATA conn will be accepted on port 45365 02:02:14.094676 Client connects to port 45365 02:02:14.094706 ====> Client established passive DATA connection on port 45365 02:02:14.094771 < "TYPE I" 02:02:14.094800 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:14.094964 < "SIZE verifiedserver" 02:02:14.095000 > "213 17[CR][LF]" 02:02:14.095449 < "RETR verifiedserver" 02:02:14.095485 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:14.095568 =====> Closing passive DATA connection... 02:02:14.095586 Server disconnects passive DATA connection 02:02:14.095831 Server disconnected passive DATA connection 02:02:14.095862 DATA sockfilt for passive data channel quits (pid 108439) 02:02:14.096061 DATA sockfilt for passive data channel quit (pid 108439) 02:02:14.096087 =====> Closed passive DATA connection 02:02:14.096113 > "226 File transfer complete[CR][LF]" 02:02:14.138833 < "QUIT" 02:02:14.138883 > "221 bye bye baby[CR][LF]" 02:02:14.139690 MAIN sockfilt said DISC 02:02:14.139719 ====> Client disconnected 02:02:14.139789 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:14.291957 ====> Client connect 02:02:14.292226 Received DATA (on stdin) 02:02:14.292241 > 160 bytes data, server => client 02:02:14.292254 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:14.292266 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:14.292277 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:14.292353 < 16 bytes data, client => server 02:02:14.292366 'USER anonymous\r\n' 02:02:14.292533 Received DATA (on stdin) 02:02:14.292545 > 33 bytes data, server => client 02:02:14.292555 '331 We are happy you popped in!\r\n' 02:02:14.292605 < 22 bytes data, client => server 02:02:14.292617 'PASS ftp@example.com\r\n' 02:02:14.292706 Received DATA (on stdin) 02:02:14.292718 > 30 bytes data, server => client 02:02:14.292728 '230 Welcome you silly person\r\n' 02:02:14.292775 < 5 bytes data, client => server 02:02:14.292786 'PWD\r\n' 02:02:14.292879 Received DATA (on stdin) 02:02:14.292890 > 30 bytes data, server => client 02:02:14.292900 '257 "/" is current directory\r\n' 02:02:14.292954 < 6 bytes data, client => server 02:02:14.292965 'EPSV\r\n' 02:02:14.294584 Received DATA (on stdin) 02:02:14.294598 > 38 bytes data, server => client 02:02:14.294611 '229 Entering Passive Mode (|||45365|)\n' 02:02:14.294733 < 8 bytes data, client => server 02:02:14.294751 'TYPE I\r\n' 02:02:14.294940 Received DATA (on stdin) 02:02:14.294953 > 33 bytes data, server => client 02:02:14.294965 '200 I modify TYPE as you wanted\r\n' 02:02:14.295018 < 21 bytes data, client => server 02:02:14.295031 'SIZE verifiedserver\r\n' 02:02:14.295141 Received DATA (on stdin) 02:02:14.295154 > 8 bytes data, server => client 02:02:14.295438 '213 17\r\n' 02:02:14.295499 < 21 bytes data, client => server 02:02:14.295513 'RETR verifiedserver\r\n' 02:02:14.295833 Received DATA (on stdin) 02:02:14.295847 > 29 bytes data, server => client 02:02:14.295858 '150 Binary junk (17 bytes).\r\n' 02:02:14.296254 Received DATA (on stdin) 02:02:14.296268 > 28 bytes data, server => client 02:02:14.296280 '226 File transfer complete\r\n' 02:02:14.338645 < 6 bytes data, client => server 02:02:14.338814 'QUIT\r\n' 02:02:14.339026 Received DATA (on stdin) 02:02:14.339039 > 18 bytes data, server => client 02:02:14.339050 '221 bye bye baby\r\n' 02:02:14.339779 ====> Client disconnect 02:02:14.339928 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:14.294258 Running IPv4 version 02:02:14.294310 Listening on port 45365 02:02:14.294344 Wrote pid 108439 to log/11/server/ftp_sockdata.pid 02:02:14.294362 Received PING (on stdin) 02:02:14.294442 Received PORT (on stdin) 02:02:14.294771 ====> Client connect 02:02:14.295729 Received DATA (on stdin) 02:02:14.295747 > 17 bytes data, server => client 02:02:14.295759 'WE ROOLZ: 80480\r\n' 02:02:14.295792 Received DISC (on stdin) 02:02:14.295806 ====> Client forcibly disconnected 02:02:14.296011 Received QUIT (on stdin) 02:02:14.296025 quits 02:02:14.296076 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN421 REPLY EPRT 500 we don't like EPRT now Testnum 592 === End of file server.cmd === Start of file stderr592 URL: ftp://127.0.0.1:45687/path/592 === End of file stderr592 === Start of file upload592 Moooooooooooo for 592 upload this === End of file upload592 === Start of file valgrind592 ==108494== ==108494== Process terminating with default action of signal 4 (SIGILL) ==108494== Illegal opcode at address 0x48EA16B ==108494== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108494== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108494== by 0x48EA16B: Curl_open (url.c:519) ==108494== by 0x4880EEF: curl_easy_init (easy.c:370) ==108494== by 0x1092F2: test (lib591.c:64) ==108494== by 0x109098: main (first.c:220) ==108494== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==108494== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108494== by 0x4A6D258: __tsearch (tsearch.c:337) ==108494== by 0x4A6D258: tsearch (tsearch.c:290) ==108494== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108494== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108494== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108494== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108494== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108494== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108494== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108494== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108494== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108494== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108494== by 0x498986B: setlocale (setlocale.c:337) ==108494== by 0x109047: main (first.c:160) ==108494== ==108494== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==108494== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108494== by 0x4A6D258: __tsearch (tsearch.c:337) ==108494== by 0x4A6D258: tsearch (tsearch.c:290) ==108494== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108494== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108494== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108494== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108494== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108494== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108494== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108494== by 0x498986B: setlocale (setlocale.c:337) ==108494== by 0x109047: main (first.c:160) ==108494== ==108494== 681 bytes in 17 blocks are possiblycannot find sshd lost in loss record 615 of 655 ==108494== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108494== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108494== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108494== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108494== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108494== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108494== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108494== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108494== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108494== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108494== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108494== by 0x498986B: setlocale (setlocale.c:337) ==108494== by 0x109047: main (first.c:160) ==108494== ==108494== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==108494== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108494== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108494== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108494== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108494== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108494== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108494== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108494== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108494== by 0x498986B: setlocale (setlocale.c:337) ==108494== by 0x109047: main (first.c:160) ==108494== ==108494== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==108494== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108494== by 0x48EA143: Curl_open (url.c:510) ==108494== by 0x4880EEF: curl_easy_init (easy.c:370) ==108494== by 0x1092F2: test (lib591.c:64) ==108494== by 0x109098: main (first.c:220) ==108494== ==108494== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==108494== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108494== by 0x4A6D258: __tsearch (tsearch.c:337) ==108494== by 0x4A6D258: tsearch (tsearch.c:290) ==108494== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108494== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108494== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108494== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108494== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108494== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108494== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108494== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108494== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108494== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108494== by 0x498986B: setlocale (setlocale.c:337) ==108494== by 0x109047: main (first.c:160) ==108494== ==108494== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==108494== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108494== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108494== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108494== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108494== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108494== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108494== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108494== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108494== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108494== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108494== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108494== by 0x498986B: setlocale (setlocale.c:337) ==108494== by 0x109047: main (first.c:160) ==108494== === End of file valgrind592 test 0587...[HTTP multi-part formpost with aborted read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind587 ./libtest/lib587 http://127.0.0.1:36813/587 > log/4/stdout587 2> log/4/stderr587 lib587 returned 132, when expecting 42 587: exit FAILED == Contents of files in the log/4/ dir after test 587 === Start of file http_server.log 02:02:13.663949 ====> Client connect 02:02:13.663986 accept_connection 3 returned 4 02:02:13.664006 accept_connection 3 returned 0 02:02:13.664021 Read 93 bytes 02:02:13.664032 Process 93 bytes request 02:02:13.664046 Got request: GET /verifiedserver HTTP/1.1 02:02:13.664057 Are-we-friendly question received 02:02:13.664081 Wrote request (93 bytes) input to log/4/server.input 02:02:13.664100 Identifying ourselves as friends 02:02:13.664173 Response sent (56 bytes) and written to log/4/server.response 02:02:13.664188 special request received, no persistency 02:02:13.664198 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 587 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr587 URL: http://127.0.0.1:36813/587 === End of file stderr587 === Start of file valgrind587 ==108133== ==108133== Process terminating with default action of signal 4 (SIGILL) ==108133== Illegal opcode at address 0x48EA16B ==108133== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108133== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108133== by 0x48EA16B: Curl_open (url.c:519) ==108133== by 0x4880EEF: curl_easy_init (easy.c:370) ==108133== by 0x1093E9: test_once (lib554.c:156) ==108133== by 0x10908D: UnknownInlinedFun (lib554.c:216) ==108133== by 0x10908D: main (first.c:220) ==108133== 408 bytes in 17 blocks are possibly lost in loss record 619 of 670 ==108133== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108133== by 0x4A6D258: __tsearch (tsearch.c:337) ==108133== by 0x4A6D258: tsearch (tsearch.c:290) ==108133== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108133== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108133== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108133== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108133== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108133== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108133== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108133== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108133== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108133== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108133== by 0x498986B: setlocale (setlocale.c:337) ==108133== by 0x109047: main (first.c:160) ==108133== ==108133== 552 bytes in 23 blocks are possibly lost in loss record 624 of 670 ==108133== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108133== by 0x4A6D258: __tsearch (tsearch.c:337) ==108133== by 0x4A6D258: tsearch (tsearch.c:290) ==108133== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108133== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108133== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108133== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108133== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108133== by 0x497C99C: __gconv_compare_alias (gconv_db.ccannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind593 ./libtest/lib591 ftp://127.0.0.1:39101/path/593 8 log/8/upload593 > log/8/stdout593 2> log/8/stderr593 :692) ==108133== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108133== by 0x498986B: setlocale (setlocale.c:337) ==108133== by 0x109047: main (first.c:160) ==108133== ==108133== 681 bytes in 17 blocks are possibly lost in loss record 630 of 670 ==108133== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108133== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108133== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108133== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108133== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108133== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108133== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108133== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108133== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108133== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108133== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108133== by 0x498986B: setlocale (setlocale.c:337) ==108133== by 0x109047: main (first.c:160) ==108133== ==108133== 1,018 bytes in 23 blocks are possibly lost in loss record 644 of 670 ==108133== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108133== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108133== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108133== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108133== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108133== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108133== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108133== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108133== by 0x498986B: setlocale (setlocale.c:337) ==108133== by 0x109047: main (first.c:160) ==108133== ==108133== 5,480 bytes in 1 blocks are definitely lost in loss record 663 of 670 ==108133== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108133== by 0x48EA143: Curl_open (url.c:510) ==108133== by 0x4880EEF: curl_easy_init (easy.c:370) ==108133== by 0x1093E9: test_once (lib554.c:156) ==108133== by 0x10908D: UnknownInlinedFun (lib554.c:216) ==108133== by 0x10908D: main (first.c:220) ==108133== ==108133== 11,664 bytes in 486 blocks are possibly lost in loss record 666 of 670 ==108133== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108133== by 0x4A6D258: __tsearch (tsearch.c:337) ==108133== by 0x4A6D258: tsearch (tsearch.c:290) ==108133== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108133== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108133== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108133== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108133== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108133== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108133== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108133== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108133== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108133== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108133== by 0x498986B: setlocale (setlocale.c:337) ==108133== by 0x109047: main (first.c:160) ==108133== ==108133== 18,800 bytes in 486 blocks are possibly lost in loss record 668 of 670 ==108133== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108133== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108133== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108133== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108133== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108133== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108133== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108133== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108133== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108133== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108133== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108133== by 0x498986B: setlocale (setlocale.c:337) ==108133== by 0x109047: main (first.c:160) ==108133== === End of file valgrind587 test 0593...[FTP multi PORT upload, no data conn and no transient neg. reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind593 ./libtest/lib591 ftp://127.0.0.1:39101/path/593 8 log/8/upload593 > log/8/stdout593 2> log/8/stderr593 593: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 593 === Start of file ftp_server.log 02:02:14.314053 ====> Client connect 02:02:14.314201 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:14.314478 < "USER anonymous" 02:02:14.314514 > "331 We are happy you popped in![CR][LF]" 02:02:14.314685 < "PASS ftp@example.com" 02:02:14.314718 > "230 Welcome you silly person[CR][LF]" 02:02:14.314884 < "PWD" 02:02:14.314914 > "257 "/" is current directory[CR][LF]" 02:02:14.315468 < "EPSV" 02:02:14.315494 ====> Passive DATA channel requested by client 02:02:14.315507 DATA sockfilt for passive data channel starting... 02:02:14.317271 DATA sockfilt for passive data channel started (pid 108582) 02:02:14.317374 DATA sockfilt for passive data channel listens on port 44323 02:02:14.317411 > "229 Entering Passive Mode (|||44323|)[LF]" 02:02:14.317428 Client has been notified that DATA conn will be accepted on port 44323 02:02:14.317673 Client connects to port 44323 02:02:14.317701 ====> Client established passive DATA connection on port 44323 02:02:14.317764 < "TYPE I" 02:02:14.317792 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:14.317940 < "SIZE verifiedserver" 02:02:14.317976 > "213 17[CR][LF]" 02:02:14.318116 < "RETR verifiedserver" 02:02:14.318146 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:14.318218 =====> Closing passive DATA connection... 02:02:14.318232 Server disconnects passive DATA connection 02:02:14.318470 Server disconnected passive DATA connection 02:02:14.318497 DATA sockfilt for passive data channel quits (pid 108582) 02:02:14.318691 DATA sockfilt for passive data channel quit (pid 108582) 02:02:14.318710 =====> Closed passive DATA connection 02:02:14.318736 > "226 File transfer complete[CR][LF]" 02:02:14.362439 < "QUIT" 02:02:14.362490 > "221 bye bye baby[CR][LF]" 02:02:14.368048 MAIN sockfilt said DISC 02:02:14.368092 ====> Client disconnected 02:02:14.368149 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:14.514082 ====> Client connect 02:02:14.514351 Received DATA (on stdin) 02:02:14.514367 > 160 bytes data, server => client 02:02:14.514380 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:14.514392 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:14.514403 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:14.514481 < 16 bytes data, client => server 02:02:14.514493 'USER anonymous\r\n' 02:02:14.514655 Received DATA (on stdin) 02:02:14.514667 > 33 bytes data, server => client 02:02:14.514678 '331 We are happy you popped in!\r\n' 02:02:14.514732 < 22 bytes data, client => server 02:02:14.514743 'PASS ftp@example.com\r\n' 02:02:14.514861 Received DATA (on stdin) 02:02:14.514875 > 30 bytes data, server => client 02:02:14.514886 '230 Welcome you silly person\r\n' 02:02:14.514938 < 5 bytes data, client => server 02:02:14.514950 'PWD\r\n' 02:02:14.515051 Received DATA (on stdin) 02:02:14.515062 > 30 bytes data, server => client 02:02:14.515073 '257 "/" is current directory\r\n' 02:02:14.515132 < 6 bytes data, client => server 02:02:14.515144 'EPSV\r\n' 02:02:14.517573 Received DATA (on stdin) 02:02:14.517587 > 38 bytes data, server => client 02:02:14.517599 '229 Entering Passive Mode (|||44323|)\n' 02:02:14.517734 < 8 bytes data, client => server 02:02:14.517748 'TYPE I\r\n' 02:02:14.517930 Received DATA (on stdin) 02:02:14.517942 > 33 bytes data, server => client 02:02:14.517953 '200 I modify TYPE as you wanted\r\n' 02:02:14.518004 < 21 bytes data, client => server 02:02:14.518015 'SIZE verifiedserver\r\n' 02:02:14.518114 Received DATA (on stdin) 02:02:14.518125 > 8 bytes data, server => client 02:02:14.518135 '213 17\r\n' 02:02:14.518182 < 21 bytes data, client => server 02:02:14.518193 'RETR verifiedserver\r\n' 02:02:14.518463 Received DATA (on stdin) 02:02:14.518476 > 29 bytes data, server => client 02:02:14.518495 '150 Binary junk (17 bytes).\r\n' 02:02:14.518875 Received DATA (on stdin) 02:02:14.518888 > 28 bytes data, server => client 02:02:14.518898 '226 File transfer complete\r\n' 02:02:14.562147 < 6 bytes data, client => server 02:02:14.562178 'QUIT\r\n' 02:02:14.565160 Received DATA (on stdin) 02:02:14.565177 > 18 bytes data, server => client 02:02:14.565186 '221 bye bye baby\r\n' 02:02:14.568127 ====> Client disconnect 02:02:14.568289 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:14.517103 Running IPv4 version 02:02:14.517164 Listening on port 44323 02:02:14.517203 Wrote pid 108582 to log/8/server/ftp_sockdata.pid 02:02:14.517352 Received PING (on stdin) 02:02:14.517431 Received PORT (on stdin) 02:02:14.517767 ====> Client connect 02:02:14.518372 Received DATA (on stdin) 02:02:14.518385 > 17 bytes data, server => client 02:02:14.518396 'WE ROOLZ: 80441\r\n' 02:02:14.518425 Received DISC (on stdin) 02:02:14.518438 ====> Client forcibly disconnected 02:02:14.518644 Received QUIT (on stdin) 02:02:14.518656 quits 02:02:14.518710 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN150 REPLY EPRT 500 we don't like EPRT now Testnum 593 === End of file server.cmd === Start of file stderr593 URL: ftp://127.0.0.1:39101/path/593 === End of file stderr593 === Start of file upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 ==108589== ==108589== Process terminating with default action of signal 4 (SIGILL) ==108589== Illegal opcode at address 0x48EA16B ==108589== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108589== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108589== by 0x48EA16B: Curl_open (url.c:519) ==108589== by 0x4880EEF: curl_easy_init (easy.c:370) ==108589== by 0x1092F2: test (lib591.c:64) ==108589== by 0x109098: main (first.c:220) ==108589== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==108589== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108589== by 0x4A6D258: __tsearch (tsearch.c:337) ==108589== by 0x4A6D258: tsearch (tsearch.c:290) ==108589== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108589== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108589== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108589== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108589== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108589== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108589== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108589== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108589== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108589== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108589== by 0x498986B: setlocale (setlocale.c:337) ==108589== by 0x109047: main (first.c:160) ==108589== ==108589== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==108589== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108589== by 0x4A6D258: __tsearch (tsearch.c:337) ==108589== by 0x4A6D258: tsearch (tsearch.c:290) ==108589== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108589== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108589== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108589== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108589== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108589== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108589== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108589== by 0x498986B: setlocale (setlocale.c:337) ==108589== by 0x109047: main (first.c:160) ==108589== ==108589== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==108589== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108589== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108589== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108589== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108589== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108589== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108589== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108589== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108589== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108589== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108589== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108589== by 0x498986B: setlocale (setlocale.c:337) ==108589== by 0x109047: main (first.c:160) ==108589== ==108589== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==108589== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108589== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108589== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108589== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108589== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108589== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108589== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108589== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108589== by 0x498986B: setlocale (setlocale.c:337) ==108589== by 0x109047: main (first.c:160) ==108589== ==108589== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==108589== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108589== by 0x48EA143: Curl_open (url.c:510) ==108589== by 0x4880EEF: curl_easy_init (easy.c:370) ==108589== by 0x1092F2: test (lib591.c:64) ==108589== by 0x109098: main (first.c:220) ==108589== ==108589== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==108589== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108589== by 0x4A6D258: __tsearch (tsearch.c:337) ==108589== by 0x4A6D258: tsearch (tsearch.c:290) ==108589== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108589== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108589== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108589== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108589== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108589== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108589== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108589== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108589== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108589== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108589== by 0x498986B: setlocale (setlocale.c:337) ==108589== by 0x109047: main (first.c:160) ==108589== ==108589== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==108589== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108589== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108589== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108589== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108589== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108589== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) =cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind595 ./libtest/lib585 ftp://127.0.0.1:41879/595 log/7/ip595 > log/7/stdout595 2> log/7/stderr595 =108589== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108589== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108589== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108589== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108589== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108589== by 0x498986B: setlocale (setlocale.c:337) ==108589== by 0x109047: main (first.c:160) ==108589== === End of file valgrind593 test 0595...[verify close callbacks with passive FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind595 ./libtest/lib585 ftp://127.0.0.1:41879/595 log/7/ip595 > log/7/stdout595 2> log/7/stderr595 595: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 595 === Start of file ftp_server.log 02:02:14.320314 ====> Client connect 02:02:14.320455 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:14.320700 < "USER anonymous" 02:02:14.320733 > "331 We are happy you popped in![CR][LF]" 02:02:14.320879 < "PASS ftp@example.com" 02:02:14.320901 > "230 Welcome you silly person[CR][LF]" 02:02:14.321034 < "PWD" 02:02:14.321060 > "257 "/" is current directory[CR][LF]" 02:02:14.321198 < "EPSV" 02:02:14.321219 ====> Passive DATA channel requested by client 02:02:14.321230 DATA sockfilt for passive data channel starting... 02:02:14.322596 DATA sockfilt for passive data channel started (pid 108583) 02:02:14.322676 DATA sockfilt for passive data channel listens on port 44519 02:02:14.322703 > "229 Entering Passive Mode (|||44519|)[LF]" 02:02:14.322716 Client has been notified that DATA conn will be accepted on port 44519 02:02:14.322907 Client connects to port 44519 02:02:14.322932 ====> Client established passive DATA connection on port 44519 02:02:14.322981 < "TYPE I" 02:02:14.323002 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:14.323120 < "SIZE verifiedserver" 02:02:14.323149 > "213 17[CR][LF]" 02:02:14.323260 < "RETR verifiedserver" 02:02:14.323285 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:14.323344 =====> Closing passive DATA connection... 02:02:14.323357 Server disconnects passive DATA connection 02:02:14.323537 Server disconnected passive DATA connection 02:02:14.323559 DATA sockfilt for passive data channel quits (pid 108583) 02:02:14.323715 DATA sockfilt for passive data channel quit (pid 108583) 02:02:14.323732 =====> Closed passive DATA connection 02:02:14.323751 > "226 File transfer complete[CR][LF]" 02:02:14.365307 < "QUIT" 02:02:14.365349 > "221 bye bye baby[CR][LF]" 02:02:14.366050 MAIN sockfilt said DISC 02:02:14.366075 ====> Client disconnected 02:02:14.366143 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:14.520362 ====> Client connect 02:02:14.520605 Received DATA (on stdin) 02:02:14.520619 > 160 bytes data, server => client 02:02:14.520631 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:14.520641 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:14.520652 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:14.520716 < 16 bytes data, client => server 02:02:14.520728 'USER anonymous\r\n' 02:02:14.520873 Received DATA (on stdin) 02:02:14.520884 > 33 bytes data, server => client 02:02:14.520894 '331 We are happy you popped in!\r\n' 02:02:14.520942 < 22 bytes data, client => server 02:02:14.520953 'PASS ftp@example.com\r\n' 02:02:14.521037 Received DATA (on stdin) 02:02:14.521048 > 30 bytes data, server => client 02:02:14.521058 '230 Welcome you silly person\r\n' 02:02:14.521102 < 5 bytes data, client => server 02:02:14.521113 'PWD\r\n' 02:02:14.521196 Received DATA (on stdin) 02:02:14.521206 > 30 bytes data, server => client 02:02:14.521216 '257 "/" is current directory\r\n' 02:02:14.521266 < 6 bytes data, client => server 02:02:14.521277 'EPSV\r\n' 02:02:14.522855 Received DATA (on stdin) 02:02:14.522866 > 38 bytes data, server => client 02:02:14.522876 '229 Entering Passive Mode (|||44519|)\n' 02:02:14.522979 < 8 bytes data, client => server 02:02:14.522992 'TYPE I\r\n' 02:02:14.523136 Received DATA (on stdin) 02:02:14.523145 > 33 bytes data, server => client 02:02:14.523154 '200 I modify TYPE as you wanted\r\n' 02:02:14.523194 < 21 bytes data, client => server 02:02:14.523203 'SIZE verifiedserver\r\n' 02:02:14.523284 Received DATA (on stdin) 02:02:14.523293 > 8 bytes data, server => client 02:02:14.523301 '213 17\r\n' 02:02:14.523338 < 21 bytes data, client => server 02:02:14.523346 'RETR verifiedserver\r\n' 02:02:14.523565 Received DATA (on stdin) 02:02:14.523576 > 29 bytes data, server => client 02:02:14.523584 '150 Binary junk (17 bytes).\r\n' 02:02:14.523886 Received DATA (on stdin) 02:02:14.523897 > 28 bytes data, server => client 02:02:14.523906 '226 File transfer complete\r\n' 02:02:14.565299 < 6 bytes data, client => server 02:02:14.565322 'QUIT\r\n' 02:02:14.565490 Received DATA (on stdin) 02:02:14.565501 > 18 bytes data, server => client 02:02:14.565511 '221 bye bye baby\r\n' 02:02:14.566144 ====> Client disconnect 02:02:14.566279 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:14.522504 Running IPv4 version 02:02:14.522553 Listening on port 44519 02:02:14.522582 Wrote pid 108583 to log/7/server/ftp_sockdata.pid 02:02:14.522686 Received PING (on stdin) 02:02:14.522747 Received PORT (on stdin) 02:02:14.523006 ====> Client connect 02:02:14.523492 Received DATA (on stdin) 02:02:14.523502 > 17 bytes data, server => client 02:02:14.523511 'WE ROOLZ: 80479\r\n' 02:02:14.523535 Received DISC (on stdin) 02:02:14.523545 ====> Client forcibly disconnected 02:02:14.523699 Received QUIT (on stdin) 02:02:14.523709 quits 02:02:14.523751 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 595 === End of file server.cmd === Start of file stderr595 URL: ftp://127.0.0.1:41879/595 === End of file stderr595 === Start of file valgrind595 ==108587== ==108587== Process terminating with default action of signal 4 (SIGILL) ==108587== Illegal opcode at address 0x48EA16B ==108587== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108587== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108587== by 0x48EA16B: Curl_open (url.c:519) ==108587== by 0x4880EEF: curl_easy_init (easy.c:370) ==108587== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==108587== by 0x1090C4: main (first.c:220) ==108587== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108587== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108587== by 0x4A6D258: __tsearch (tsearch.c:337) ==108587== by 0x4A6D258: tsearch (tsearch.c:290) ==108587== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108587== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108587== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108587== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108587== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108587== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108587== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108587== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108587== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108587== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108587== by 0x498986B: setlocale (setlocale.c:337) ==108587== by 0x109056: main (first.c:160) ==108587== ==108587== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108587== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108587== by 0x4A6D258: __tsearch (tsearch.c:337) ==108587== by 0x4A6D258: tsearccannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind596 ./libtest/lib585 ftp://127.0.0.1:42661/596 log/10/ip596 activeftp > log/10/stdout596 2> log/10/stderr596 h (tsearch.c:290) ==108587== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108587== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108587== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108587== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108587== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108587== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108587== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108587== by 0x498986B: setlocale (setlocale.c:337) ==108587== by 0x109056: main (first.c:160) ==108587== ==108587== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108587== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108587== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108587== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108587== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108587== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108587== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108587== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108587== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108587== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108587== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108587== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108587== by 0x498986B: setlocale (setlocale.c:337) ==108587== by 0x109056: main (first.c:160) ==108587== ==108587== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108587== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108587== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108587== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108587== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108587== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108587== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108587== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108587== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108587== by 0x498986B: setlocale (setlocale.c:337) ==108587== by 0x109056: main (first.c:160) ==108587== ==108587== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108587== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108587== by 0x48EA143: Curl_open (url.c:510) ==108587== by 0x4880EEF: curl_easy_init (easy.c:370) ==108587== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==108587== by 0x1090C4: main (first.c:220) ==108587== ==108587== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108587== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108587== by 0x4A6D258: __tsearch (tsearch.c:337) ==108587== by 0x4A6D258: tsearch (tsearch.c:290) ==108587== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108587== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108587== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108587== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108587== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108587== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108587== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108587== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108587== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108587== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108587== by 0x498986B: setlocale (setlocale.c:337) ==108587== by 0x109056: main (first.c:160) ==108587== ==108587== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108587== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108587== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108587== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108587== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108587== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108587== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108587== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108587== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108587== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108587== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108587== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108587== by 0x498986B: setlocale (setlocale.c:337) ==108587== by 0x109056: main (first.c:160) ==108587== === End of file valgrind595 test 0596...[verify close callbacks with active FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind596 ./libtest/lib585 ftp://127.0.0.1:42661/596 log/10/ip596 activeftp > log/10/stdout596 2> log/10/stderr596 596: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 596 === Start of file ftp_server.log 02:02:14.424605 ====> Client connect 02:02:14.424757 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:14.425043 < "USER anonymous" 02:02:14.425080 > "331 We are happy you popped in![CR][LF]" 02:02:14.425249 < "PASS ftp@example.com" 02:02:14.425274 > "230 Welcome you silly person[CR][LF]" 02:02:14.425406 < "PWD" 02:02:14.425434 > "257 "/" is current directory[CR][LF]" 02:02:14.425570 < "EPSV" 02:02:14.425593 ====> Passive DATA channel requested by client 02:02:14.425605 DATA sockfilt for passive data channel starting... 02:02:14.427303 DATA sockfilt for passive data channel started (pid 108696) 02:02:14.427389 DATA sockfilt for passive data channel listens on port 46257 02:02:14.427421 > "229 Entering Passive Mode (|||46257|)[LF]" 02:02:14.427435 Client has been notified that DATA conn will be accepted on port 46257 02:02:14.427647 Client connects to port 46257 02:02:14.427671 ====> Client established passive DATA connection on port 46257 02:02:14.427723 < "TYPE I" 02:02:14.427745 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:14.427878 < "SIZE verifiedserver" 02:02:14.427909 > "213 17[CR][LF]" 02:02:14.428038 < "RETR verifiedserver" 02:02:14.428063 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:14.428134 =====> Closing passive DATA connection... 02:02:14.428147 Server disconnects passive DATA connection 02:02:14.428351 Server disconnected passive DATA connection 02:02:14.428378 DATA sockfilt for passive data channel quits (pid 108696) 02:02:14.428560 DATA sockfilt for passive data channel quit (pid 108696) 02:02:14.428579 =====> Closed passive DATA connection 02:02:14.428606 > "226 File transfer complete[CR][LF]" 02:02:14.468681 < "QUIT" 02:02:14.468725 > "221 bye bye baby[CR][LF]" 02:02:14.469608 MAIN sockfilt said DISC 02:02:14.469638 ====> Client disconnected 02:02:14.469710 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:14.624626 ====> Client connect 02:02:14.624908 Received DATA (on stdin) 02:02:14.624922 > 160 bytes data, server => client 02:02:14.624934 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:14.624944 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:14.624954 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:14.625030 < 16 bytes data, client => server 02:02:14.625041 'USER anonymous\r\n' 02:02:14.625220 Received DATA (on stdin) 02:02:14.625232 > 33 bytes data, server => client 02:02:14.625242 '331 We are happy you popped in!\r\n' 02:02:14.625293 < 22 bytes data, client => server 02:02:14.625303 'PASS ftp@example.com\r\n' 02:02:14.625409 Received DATA (on stdin) 02:02:14.625419 > 30 bytes data, server => client 02:02:14.625429 '230 Welcome you silly person\r\n' 02:02:14.625474 < 5 bytes data, client => server 02:02:14.625484 'PWD\r\n' 02:02:14.625569 Received DATA (on stdin) 02:02:14.625578 > 30 bytes data, server => client 02:02:14.625588 '257 "/" is current directory\r\n' 02:02:14.625640 < 6 bytes data, client => server 02:02:14.625649 'EPSV\r\n' 02:02:14.627577 Received DATA (on stdin) 02:02:14.627588 > 38 bytes data, server => client 02:02:14.627599 '229 Entering Passive Mode (|||46257|)\n' 02:02:14.627714 < 8 bytes data, client => server 02:02:14.627727 'TYPE I\r\n' 02:02:14.627881 Received DATA (on stdin) 02:02:14.627892 > 33 bytes data, server => client 02:02:14.627902 '200 I modify TYPE as you wanted\r\n' 02:02:14.627947 < 21 bytes data, client => server 02:02:14.627958 'SIZE verifiedserver\r\n' 02:02:14.628044 Received DATA (on stdin) 02:02:14.628054 > 8 bytes data, server => client 02:02:14.628063 '213 17\r\n' 02:02:14.628105 < 21 bytes data, client => server 02:02:14.628119 'RETR verifiedserver\r\n' 02:02:14.628368 Received DATA (on stdin) 02:02:14.628379 > 29 bytes data, server => client 02:02:14.628388 '150 Binary junk (17 bytes).\r\n' 02:02:14.628744 Received DATA (on stdin) 02:02:14.628755 > 28 bytes data, server => client 02:02:14.628765 '226 File transfer complete\r\n' 02:02:14.668648 < 6 bytes data, client => server 02:02:14.668676 'QUIT\r\n' 02:02:14.668866 Received DATA (on stdin) 02:02:14.668877 > 18 bytes data, server => client 02:02:14.668888 '221 bye bye baby\r\n' 02:02:14.669698 ====> Client disconnect 02:02:14.669849 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:14.627188 Running IPv4 version 02:02:14.627235 Listening on port 46257 02:02:14.627269 Wrote pid 108696 to log/10/server/ftp_sockdata.pid 02:02:14.627390 Received PING (on stdin) 02:02:14.627457 Received PORT (on stdin) 02:02:14.627744 ====> Client connect 02:02:14.628284 Received DATA (on stdin) 02:02:14.628296 > 17 bytes data, server => client 02:02:14.628305 'WE ROOLZ: 80449\r\n' 02:02:14.628334 Received DISC (on stdin) 02:02:14.628345 ====> Client forcibly disconnected 02:02:14.628524 Received QUIT (on stdin) 02:02:14.628534 quits 02:02:14.628584 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 596 === End of file server.cmd === Start of file stderr596 URL: ftp://127.0.0.1:42661/596 === End of file stderr596 === Start of file valgrind596 ==108701== ==108701== Process terminating with default action of signal 4 (SIGILL) ==108701== Illegal opcode at address 0x48EA16B ==108701== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108701== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108701== by 0x48EA16B: Curl_open (url.c:519) ==108701== by 0x4880EEF: curl_easy_init (easy.c:370) ==108701== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==108701== by 0x1090C4: main (first.c:220) ==108701== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108701== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108701== by 0x4A6D258: __tsearch (tsearch.c:337) ==108701== by 0x4A6D258: tsearch (tsearch.c:290) ==108701== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108701== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108701== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108701== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108701== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108701== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108701== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108701== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108701== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108701== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108701== by 0x498986B: setlocale (setlocale.c:337) ==108701== by 0x109056: main (first.c:160) ==108701== ==108701== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108701== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108701== by 0x4A6D258: __tsearch (tsearch.c:337) ==108701== by 0x4A6D258: tsearch (tsearch.c:290) ==108701== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108701== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108701== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108701== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108701== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108701== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108701== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108701== by 0x498986B: setlocale (setlocale.c:337) ==108701== by 0x109056: main (first.c:160) ==108701== ==108701== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108701== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108701== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108701== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108701== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108701== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108701== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108701== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108701== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108701== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108701== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108701== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108701== by 0x498986B: setlocale (setlocale.c:337) ==108701== by 0x109056: main (first.c:160) ==108701== ==108701== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108701== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108701== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108701== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108701== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108701== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108701== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108701== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108701== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108701== by 0x498986B: setlocale (setlocale.c:337) ==108701== by 0x109056: main (first.c:160) ==108701== ==108701== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108701== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108701== by 0x48EA143: Curl_open (url.c:510) ==108701== by 0x4880EEF: curl_easy_init (easy.c:370) ==108701== by 0x1090C4: UnknownInlinedFun (lib500.c:73) ==108701== by 0x1090C4: main (first.c:220) ==108701== ==108701== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108701== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108701== by 0x4A6D258: __tsearch (tsearch.c:337) ==108701== by 0x4A6D258: tsearch (tsearch.c:290) ==108701== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108701== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108701== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108701== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108701== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108701== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108701== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108701== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108701== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108701== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108701== by 0x498986B: setlocale (setlocale.c:337) ==108701== by 0x109056: main (first.c:160) ==108701== ==108701== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108701== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108701== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108701== by 0x497DBB2: add_alias2 (gconvcannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind597 ./libtest/lib597 ftp://127.0.0.1:40433 > log/6/stdout597 2> log/6/stderr597 _conf.c:176) ==108701== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108701== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108701== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108701== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108701== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108701== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108701== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108701== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108701== by 0x498986B: setlocale (setlocale.c:337) ==108701== by 0x109056: main (first.c:160) ==108701== === End of file valgrind596 test 0597...[FTP connect only option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind597 ./libtest/lib597 ftp://127.0.0.1:40433 > log/6/stdout597 2> log/6/stderr597 597: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 597 === Start of file ftp_server.log 02:02:14.715174 ====> Client connect 02:02:14.715336 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:14.718658 < "USER anonymous" 02:02:14.718707 > "331 We are happy you popped in![CR][LF]" 02:02:14.718869 < "PASS ftp@example.com" 02:02:14.718892 > "230 Welcome you silly person[CR][LF]" 02:02:14.719034 < "PWD" 02:02:14.719066 > "257 "/" is current directory[CR][LF]" 02:02:14.719214 < "EPSV" 02:02:14.719235 ====> Passive DATA channel requested by client 02:02:14.719247 DATA sockfilt for passive data channel starting... 02:02:14.726204 DATA sockfilt for passive data channel started (pid 108771) 02:02:14.726334 DATA sockfilt for passive data channel listens on port 36507 02:02:14.726379 > "229 Entering Passive Mode (|||36507|)[LF]" 02:02:14.726394 Client has been notified that DATA conn will be accepted on port 36507 02:02:14.737282 Client connects to port 36507 02:02:14.737350 ====> Client established passive DATA connection on port 36507 02:02:14.737458 < "TYPE I" 02:02:14.737500 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:14.737680 < "SIZE verifiedserver" 02:02:14.737720 > "213 17[CR][LF]" 02:02:14.737873 < "RETR verifiedserver" 02:02:14.737906 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:14.737998 =====> Closing passive DATA connection... 02:02:14.738014 Server disconnects passive DATA connection 02:02:14.738273 Server disconnected passive DATA connection 02:02:14.738297 DATA sockfilt for passive data channel quits (pid 108771) 02:02:14.738574 DATA sockfilt for passive data channel quit (pid 108771) 02:02:14.738598 =====> Closed passive DATA connection 02:02:14.738626 > "226 File transfer complete[CR][LF]" 02:02:14.798523 < "QUIT" 02:02:14.798581 > "221 bye bye baby[CR][LF]" 02:02:14.799565 MAIN sockfilt said DISC 02:02:14.799597 ====> Client disconnected 02:02:14.799670 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:14.915178 ====> Client connect 02:02:14.915486 Received DATA (on stdin) 02:02:14.915501 > 160 bytes data, server => client 02:02:14.915513 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:14.915529 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:14.915539 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:14.918587 < 16 bytes data, client => server 02:02:14.918620 'USER anonymous\r\n' 02:02:14.918850 Received DATA (on stdin) 02:02:14.918862 > 33 bytes data, server => client 02:02:14.918874 '331 We are happy you popped in!\r\n' 02:02:14.918927 < 22 bytes data, client => server 02:02:14.918939 'PASS ftp@example.com\r\n' 02:02:14.919029 Received DATA (on stdin) 02:02:14.919040 > 30 bytes data, server => client 02:02:14.919052 '230 Welcome you silly person\r\n' 02:02:14.919099 < 5 bytes data, client => server 02:02:14.919110 'PWD\r\n' 02:02:14.919202 Received DATA (on stdin) 02:02:14.919213 > 30 bytes data, server => client 02:02:14.919223 '257 "/" is current directory\r\n' 02:02:14.919279 < 6 bytes data, client => server 02:02:14.919290 'EPSV\r\n' 02:02:14.926547 Received DATA (on stdin) 02:02:14.926565 > 38 bytes data, server => client 02:02:14.926577 '229 Entering Passive Mode (|||36507|)\n' 02:02:14.937300 < 8 bytes data, client => server 02:02:14.937329 'TYPE I\r\n' 02:02:14.937643 Received DATA (on stdin) 02:02:14.937657 > 33 bytes data, server => client 02:02:14.937668 '200 I modify TYPE as you wanted\r\n' 02:02:14.937727 < 21 bytes data, client => server 02:02:14.937744 'SIZE verifiedserver\r\n' 02:02:14.937860 Received DATA (on stdin) 02:02:14.937872 > 8 bytes data, server => client 02:02:14.937882 '213 17\r\n' 02:02:14.937933 < 21 bytes data, client => server 02:02:14.937946 'RETR verifiedserver\r\n' 02:02:14.938154 Received DATA (on stdin) 02:02:14.938167 > 29 bytes data, server => client 02:02:14.938178 '150 Binary junk (17 bytes).\r\n' 02:02:14.938768 Received DATA (on stdin) 02:02:14.938781 > 28 bytes data, server => client 02:02:14.938793 '226 File transfer complete\r\n' 02:02:14.985178 < 6 bytes data, client => server 02:02:14.985212 'QUIT\r\n' 02:02:14.998734 Received DATA (on stdin) 02:02:14.998758 > 18 bytes data, server => client 02:02:14.998773 '221 bye bye baby\r\n' 02:02:14.999656 ====> Client disconnect 02:02:14.999811 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:14.925984 Running IPv4 version 02:02:14.926080 Listening on port 36507 02:02:14.926115 Wrote pid 108771 to log/6/server/ftp_sockdata.pid 02:02:14.926284 Received PING (on stdin) 02:02:14.926379 Received PORT (on stdin) 02:02:14.937356 ====> Client connect 02:02:14.938207 Received DATA (on stdin) 02:02:14.938221 > 17 bytes data, server => client 02:02:14.938232 'WE ROOLZ: 80451\r\n' 02:02:14.938261 Received DISC (on stdin) 02:02:14.938274 ====> Client forcibly disconnected 02:02:14.938442 Received QUIT (on stdin) 02:02:14.938452 quits 02:02:14.938523 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 597 === End of file server.cmd === Start of file stderr597 URL: ftp://127.0.0.1:40433 === End of file stderr597 === Start of file valgrind597 ==108781== ==108781== Process terminating with default action of signal 4 (SIGILL) ==108781== Illegal opcode at address 0x48EA16B ==108781== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108781== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108781== by 0x48EA16B: Curl_open (url.c:519) ==108781== by 0x4880EEF: curl_easy_init (easy.c:370) ==108781== by 0x1092F1: test.part.0 (lib597.c:56) ==108781== by 0x10909E: UnknownInlinedFun (lib597.c:54) ==108781== by 0x10909E: main (first.c:220) ==108781== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108781== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108781== by 0x4A6D258: __tsearch (tsearch.c:337) ==108781== by 0x4A6D258: tsearch (tsearch.c:290) ==108781== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108781== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108781== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108781== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108781== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108781== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108781== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108781== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108781== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108781== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108781== by 0x498986B: setlocale (setlocale.c:337) ==108781== by 0x109047: main (first.c:160) cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind598 ./libtest/lib598 http://127.0.0.1:38781/598 > log/2/stdout598 2> log/2/stderr598 ==108781== ==108781== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108781== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108781== by 0x4A6D258: __tsearch (tsearch.c:337) ==108781== by 0x4A6D258: tsearch (tsearch.c:290) ==108781== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108781== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108781== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108781== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108781== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108781== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108781== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108781== by 0x498986B: setlocale (setlocale.c:337) ==108781== by 0x109047: main (first.c:160) ==108781== ==108781== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108781== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108781== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108781== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108781== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108781== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108781== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108781== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108781== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108781== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108781== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108781== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108781== by 0x498986B: setlocale (setlocale.c:337) ==108781== by 0x109047: main (first.c:160) ==108781== ==108781== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108781== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108781== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108781== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108781== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108781== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108781== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108781== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108781== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108781== by 0x498986B: setlocale (setlocale.c:337) ==108781== by 0x109047: main (first.c:160) ==108781== ==108781== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108781== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108781== by 0x48EA143: Curl_open (url.c:510) ==108781== by 0x4880EEF: curl_easy_init (easy.c:370) ==108781== by 0x1092F1: test.part.0 (lib597.c:56) ==108781== by 0x10909E: UnknownInlinedFun (lib597.c:54) ==108781== by 0x10909E: main (first.c:220) ==108781== ==108781== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108781== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108781== by 0x4A6D258: __tsearch (tsearch.c:337) ==108781== by 0x4A6D258: tsearch (tsearch.c:290) ==108781== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108781== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108781== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108781== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108781== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108781== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108781== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108781== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108781== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108781== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108781== by 0x498986B: setlocale (setlocale.c:337) ==108781== by 0x109047: main (first.c:160) ==108781== ==108781== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108781== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108781== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108781== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108781== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108781== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108781== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108781== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108781== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108781== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108781== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108781== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108781== by 0x498986B: setlocale (setlocale.c:337) ==108781== by 0x109047: main (first.c:160) ==108781== === End of file valgrind597 test 0598...[curl_easy_reset with referer and other strings set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind598 ./libtest/lib598 http://127.0.0.1:38781/598 > log/2/stdout598 2> log/2/stderr598 598: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 598 === Start of file http_server.log 02:02:15.086172 ====> Client connect 02:02:15.086212 accept_connection 3 returned 4 02:02:15.086232 accept_connection 3 returned 0 02:02:15.086248 Read 93 bytes 02:02:15.086260 Process 93 bytes request 02:02:15.086276 Got request: GET /verifiedserver HTTP/1.1 02:02:15.086287 Are-we-friendly question received 02:02:15.086318 Wrote request (93 bytes) input to log/2/server.input 02:02:15.086339 Identifying ourselves as friends 02:02:15.086421 Response sent (56 bytes) and written to log/2/server.response 02:02:15.086435 special request received, no persistency 02:02:15.086446 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 598 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr598 URL: http://127.0.0.1:38781/598 === End of file stderr598 === Start of file valgrind598 ==108803== ==108803== Process terminating with default action of signal 4 (SIGILL) ==108803== Illegal opcode at address 0x48EA16B ==108803== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108803== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108803== by 0x48EA16B: Curl_open (url.c:519) ==108803== by 0x4880EEF: curl_easy_init (easy.c:370) ==108803== by 0x109088: UnknownInlinedFun (lib598.c:38) ==108803== by 0x109088: main (first.c:220) ==108803== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108803== by 0x4A6D258: __tsearch (tsearch.c:337) ==108803== by 0x4A6D258: tsearch (tsearch.c:290) ==108803== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108803== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108803== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108803== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108803== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108803== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind599 ./libtest/lib599 http://127.0.0.1:33361/599 log/5/ip599 > log/5/stdout599 2> log/5/stderr599 once.c:116) ==108803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108803== by 0x498986B: setlocale (setlocale.c:337) ==108803== by 0x109045: main (first.c:160) ==108803== ==108803== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108803== by 0x4A6D258: __tsearch (tsearch.c:337) ==108803== by 0x4A6D258: tsearch (tsearch.c:290) ==108803== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108803== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108803== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108803== by 0x498986B: setlocale (setlocale.c:337) ==108803== by 0x109045: main (first.c:160) ==108803== ==108803== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108803== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108803== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108803== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108803== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108803== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108803== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108803== by 0x498986B: setlocale (setlocale.c:337) ==108803== by 0x109045: main (first.c:160) ==108803== ==108803== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108803== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108803== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108803== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108803== by 0x498986B: setlocale (setlocale.c:337) ==108803== by 0x109045: main (first.c:160) ==108803== ==108803== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108803== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108803== by 0x48EA143: Curl_open (url.c:510) ==108803== by 0x4880EEF: curl_easy_init (easy.c:370) ==108803== by 0x109088: UnknownInlinedFun (lib598.c:38) ==108803== by 0x109088: main (first.c:220) ==108803== ==108803== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108803== by 0x4A6D258: __tsearch (tsearch.c:337) ==108803== by 0x4A6D258: tsearch (tsearch.c:290) ==108803== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108803== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108803== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108803== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108803== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108803== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108803== by 0x498986B: setlocale (setlocale.c:337) ==108803== by 0x109045: main (first.c:160) ==108803== ==108803== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108803== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108803== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108803== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108803== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108803== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108803== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108803== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108803== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108803== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108803== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108803== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108803== by 0x498986B: setlocale (setlocale.c:337) ==108803== by 0x109045: main (first.c:160) ==108803== === End of file valgrind598 test 0599...[HTTP GET with progress callback and redirects changing content sizes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind599 ./libtest/lib599 http://127.0.0.1:33361/599 log/5/ip599 > log/5/stdout599 2> log/5/stderr599 599: data FAILED: --- log/5/check-expected 2024-12-15 02:02:16.455775079 +0000 +++ log/5/check-generated 2024-12-15 02:02:16.455775079 +0000 @@ -1,16 +0,0 @@ -HTTP/1.1 302 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Location: 5990001[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Transfer-Encoding: chunked[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -[CR][LF] -this data is slightly larger than the first piece[LF] == Contents of files in the log/5/ dir after test 599 === Start of file check-expected HTTP/1.1 302 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Location: 5990001[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Transfer-Encoding: chunked[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] [CR][LF] this data is slightly larger than the first piece[LF] === End of file check-expected === Start of file http_server.log 02:02:15.283963 ====> Client connect 02:02:15.283998 accept_connection 3 returned 4 02:02:15.284019 accept_connection 3 returned 0 02:02:15.284035 Read 93 bytes 02:02:15.284046 Process 93 bytes request 02:02:15.284061 Got request: GET /verifiedserver HTTP/1.1 02:02:15.284071 Are-we-friendly question received 02:02:15.284094 Wrote request (93 bytes) input to log/5/server.input 02:02:15.284112 Identifying ourselves as friends 02:02:15.284183 Response sent (56 bytes) and written to log/5/server.response 02:02:15.284195 special request received, no persistency 02:02:15.284205 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 599 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file stderr599 URL: http://127.0.0.1:33361/599 === End of file stderr599 === Start of file valgrind599 ==108899== ==108899== Process terminating with default action of signal 4 (SIGILL) ==108899== Illegal opcode at address 0x48EA16B ==108899== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==108899== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==108899== by 0x48EA16B: Curl_open (url.c:519) ==108899== by 0x4880EEF: curl_easy_init (easy.c:370) ==108899== by 0x1090B1: UnknownInlinedFun (lib599.c:55) ==108899== by 0x1090B1: main (first.c:220) ==108899== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==108899== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108899== by 0x4A6D258: __tsearch (tsearch.c:337) ==108899== by 0x4A6D258: tsearch (tsearch.c:290) ==108899== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108899== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108899== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108899== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108899== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108899== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108899== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108899== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108899== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108899== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108899== by 0x498986B: setlocale (setlocale.c:337) ==108899== by 0x109056: main (first.c:160) ==108899== ==108899== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==108899== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108899== by 0x4A6D258: __tsearch (tsearch.c:337) ==108899== by 0x4A6D258: tsearch (tsearch.c:290) ==108899== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108899== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108899== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108899== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108899== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108899== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108899== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108899== by 0x498986B: setlocale (setlocale.c:337) ==108899== by 0x109056: main (first.c:160) ==108899== ==108899== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==108899== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108899== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108899== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108899== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108899== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108899== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==108899== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==108899== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108899== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108899== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108899== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108899== by 0x498986B: setlocale (setlocale.c:337) ==108899== by 0x109056: main (first.c:160) ==108899== ==108899== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==108899== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108899== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108899== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==108899== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==108899== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108899== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108899== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108899== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108899== by 0x498986B: setlocale (setlocale.c:337) ==108899== by 0x109056: main (first.c:160) ==108899== ==108899== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==108899== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==108899== by 0x48EA143: Curl_open (url.c:510) ==108899== by 0x4880EEF: curl_easy_init (easy.c:370) ==108899== by 0x1090B1: UnknownInlinedFun (lib599.c:55) ==108899== by 0x1090B1: main (first.c:220) ==108899== ==108899== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==108899== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108899== by 0x4A6D258: __tsearch (tsearch.c:337) ==108899== by 0x4A6D258: tsearch (tsearch.c:290) ==108899== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==108899== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108899== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108899== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108899== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108899== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind632 ../src/curl -q --output log/12/curl632.out --include --trace-ascii log/12/trace632 --trace-config all --trace-time --hostpubmd5 00 --key log/12/server/curl_client_key --pubkey log/12/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/12/irrelevant-file --insecure > log/12/stdout632 2> log/12/stderr632 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind643 ./libtest/lib643 http://127.0.0.1:34215/643 > log/1/stdout643 2> log/1/stderr643 108899== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108899== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108899== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108899== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108899== by 0x498986B: setlocale (setlocale.c:337) ==108899== by 0x109056: main (first.c:160) ==108899== ==108899== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==108899== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==108899== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==108899== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==108899== by 0x497DBB2: add_alias (gconv_conf.c:178) ==108899== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==108899== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==108899== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==108899== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==108899== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==108899== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==108899== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==108899== by 0x498986B: setlocale (setlocale.c:337) ==108899== by 0x109056: main (first.c:160) ==108899== === End of file valgrind599 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/12/server/ssh_server.pid" --logdir "log/12" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 41325 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41325 test 0582 SKIPPED: failed starting SSH server test 0610 SKIPPED: failed starting SSH server test 0611 SKIPPED: failed starting SSH server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/1/server/ssh_server.pid" --logdir "log/1" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35155 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35155 * starts no server test 0632...[SFTP syntactically invalid host key] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind632 ../src/curl -q --output log/12/curl632.out --include --trace-ascii log/12/trace632 --trace-config all --trace-time --hostpubmd5 00 --key log/12/server/curl_client_key --pubkey log/12/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/12/irrelevant-file --insecure > log/12/stdout632 2> log/12/stderr632 curl returned 132, when expecting 2 632: exit FAILED == Contents of files in the log/12/ dir after test 632 === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 ==108977== ==108977== Process terminating with default action of signal 4 (SIGILL) ==108977== Illegal opcode at address 0x10B08D ==108977== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==108977== by 0x10B08D: main (tool_main.c:232) === End of file valgrind632 test 0643...[HTTP multi-part mimepost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind643 ./libtest/lib643 http://127.0.0.1:34215/643 > log/1/stdout643 2> log/1/stderr643 643: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 643 === Start of file http_server.log 02:02:29.231741 ====> Client connect 02:02:29.231771 accept_connection 3 returned 4 02:02:29.231788 accept_connection 3 returned 0 02:02:29.231802 Read 93 bytes 02:02:29.231852 Process 93 bytes request 02:02:29.231869 Got request: GET /verifiedserver HTTP/1.1 02:02:29.231879 Are-we-friendly question received 02:02:29.231903 Wrote request (93 bytes) input to log/1/server.input 02:02:29.231922 Identifying ourselves as friends 02:02:29.231989 Response sent (56 bytes) and written to log/1/server.response 02:02:29.232001 special request received, no persistency 02:02:29.232011 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 643 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr643 URL: http://127.0.0.1:34215/643 === End of file stderr643 === Start of file valgrind643 ==109044== ==109044== Process terminating with default action of signal 4 (SIGILL) ==109044== Illegal opcode at address 0x48EA16B ==109044== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==109044== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==109044== by 0x48EA16B: Curl_open (url.c:519) ==109044== by 0x4880EEF: curl_easy_init (easy.c:370) ==109044== by 0x109345: test_once (lib643.c:76) ==109044== by 0x109095: UnknownInlinedFun (lib643.c:259) ==109044== by 0x109095: main (first.c:220) ==109044== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==109044== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109044== by 0x4A6D258: __tsearch (tsearch.c:337) ==109044== by 0x4A6D258: tsearch (tsearch.c:290) ==109044== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109044== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109044== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109044== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109044== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109044== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109044== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109044== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109044== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109044== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109044== by 0x498986B: setlocale (setlocale.c:337) ==109044== by 0x10904B: main (first.c:160) ==109044== ==109044== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==109044== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109044== by 0x4A6D258: __tsearch (tsearch.c:337) ==109044== by 0x4A6D258: tsearch (tsearch.c:290) ==109044== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109044== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109044== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109044== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109044== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109044== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109044== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109044== by 0x498986B: setlocale (setlocale.c:337) ==109044== by 0x10904B: main (first.c:160) ==109044== ==109044== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==109044== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109044== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109044== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109044== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109044== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109044== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109044== by 0xCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind645 ./libtest/lib645 http://127.0.0.1:40653/645 > log/12/stdout645 2> log/12/stderr645 497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109044== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109044== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109044== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109044== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109044== by 0x498986B: setlocale (setlocale.c:337) ==109044== by 0x10904B: main (first.c:160) ==109044== ==109044== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==109044== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109044== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109044== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109044== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109044== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109044== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109044== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109044== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109044== by 0x498986B: setlocale (setlocale.c:337) ==109044== by 0x10904B: main (first.c:160) ==109044== ==109044== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==109044== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==109044== by 0x48EA143: Curl_open (url.c:510) ==109044== by 0x4880EEF: curl_easy_init (easy.c:370) ==109044== by 0x109345: test_once (lib643.c:76) ==109044== by 0x109095: UnknownInlinedFun (lib643.c:259) ==109044== by 0x109095: main (first.c:220) ==109044== ==109044== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==109044== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109044== by 0x4A6D258: __tsearch (tsearch.c:337) ==109044== by 0x4A6D258: tsearch (tsearch.c:290) ==109044== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109044== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109044== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109044== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109044== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109044== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109044== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109044== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109044== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109044== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109044== by 0x498986B: setlocale (setlocale.c:337) ==109044== by 0x10904B: main (first.c:160) ==109044== ==109044== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==109044== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109044== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109044== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109044== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109044== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109044== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109044== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109044== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109044== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109044== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109044== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109044== by 0x498986B: setlocale (setlocale.c:337) ==109044== by 0x10904B: main (first.c:160) ==109044== === End of file valgrind643 test 0645...[HTTP multi-part chunked mimepost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind645 ./libtest/lib645 http://127.0.0.1:40653/645 > log/12/stdout645 2> log/12/stderr645 645: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 645 === Start of file http_server.log 02:02:29.597492 ====> Client connect 02:02:29.597515 accept_connection 3 returned 4 02:02:29.597528 accept_connection 3 returned 0 02:02:29.597538 Read 93 bytes 02:02:29.597546 Process 93 bytes request 02:02:29.597557 Got request: GET /verifiedserver HTTP/1.1 02:02:29.597565 Are-we-friendly question received 02:02:29.597582 Wrote request (93 bytes) input to log/12/server.input 02:02:29.597595 Identifying ourselves as friends 02:02:29.597643 Response sent (56 bytes) and written to log/12/server.response 02:02:29.597651 special request received, no persistency 02:02:29.597658 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 645 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr645 URL: http://127.0.0.1:40653/645 === End of file stderr645 === Start of file valgrind645 ==109107== ==109107== Process terminating with default action of signal 4 (SIGILL) ==109107== Illegal opcode at address 0x48EA16B ==109107== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==109107== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==109107== by 0x48EA16B: Curl_open (url.c:519) ==109107== by 0x4880EEF: curl_easy_init (easy.c:370) ==109107== by 0x10933D: test_once (lib643.c:76) ==109107== by 0x109095: UnknownInlinedFun (lib643.c:259) ==109107== by 0x109095: main (first.c:220) ==109107== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==109107== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109107== by 0x4A6D258: __tsearch (tsearch.c:337) ==109107== by 0x4A6D258: tsearch (tsearch.c:290) ==109107== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109107== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109107== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109107== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109107== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109107== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109107== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109107== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109107== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109107== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109107== by 0x498986B: setlocale (setlocale.c:337) ==109107== by 0x10904B: main (first.c:160) ==109107== ==109107== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==109107== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109107== by 0x4A6D258: __tsearch (tsearch.c:337) ==109107== by 0x4A6D258: tsearch (tsearch.c:290) ==109107== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109107== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109107== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109107== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109107== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109107== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109107== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109107== by 0x498986B: setlocale (setlocale.c:337) ==109107== by 0x10904B: main (first.c:160) ==109107== ==109107== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==109107== aCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind646 ../src/curl -q --output log/1/curl646.out --include --trace-ascii log/1/trace646 --trace-config all --trace-time smtp://127.0.0.1:41437/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/1/headers646" -F "=)" -F "=@log/1/test646.txt;headers=" log/1/stdout646 2> log/1/stderr646 t 0x48447A8: malloc (vg_replace_malloc.c:446) ==109107== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109107== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109107== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109107== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109107== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109107== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109107== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109107== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109107== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109107== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109107== by 0x498986B: setlocale (setlocale.c:337) ==109107== by 0x10904B: main (first.c:160) ==109107== ==109107== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==109107== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109107== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109107== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109107== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109107== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109107== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109107== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109107== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109107== by 0x498986B: setlocale (setlocale.c:337) ==109107== by 0x10904B: main (first.c:160) ==109107== ==109107== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==109107== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==109107== by 0x48EA143: Curl_open (url.c:510) ==109107== by 0x4880EEF: curl_easy_init (easy.c:370) ==109107== by 0x10933D: test_once (lib643.c:76) ==109107== by 0x109095: UnknownInlinedFun (lib643.c:259) ==109107== by 0x109095: main (first.c:220) ==109107== ==109107== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==109107== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109107== by 0x4A6D258: __tsearch (tsearch.c:337) ==109107== by 0x4A6D258: tsearch (tsearch.c:290) ==109107== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109107== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109107== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109107== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109107== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109107== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109107== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109107== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109107== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109107== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109107== by 0x498986B: setlocale (setlocale.c:337) ==109107== by 0x10904B: main (first.c:160) ==109107== ==109107== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==109107== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109107== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109107== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109107== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109107== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109107== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109107== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109107== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109107== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109107== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109107== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109107== by 0x498986B: setlocale (setlocale.c:337) ==109107== by 0x10904B: main (first.c:160) ==109107== === End of file valgrind645 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/smtp_server.pid" --logfile "log/1/smtp_server.log" --logdir "log/1" --portfile "log/1/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41437 (log/1/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:41437/verifiedserver" 2>log/1/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 109154 port 41437 * pid smtp => 109154 109154 test 0646...[SMTP multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind646 ../src/curl -q --output log/1/curl646.out --include --trace-ascii log/1/trace646 --trace-config all --trace-time smtp://127.0.0.1:41437/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/1/headers646" -F "=)" -F "=@log/1/test646.txt;headers=" log/1/stdout646 2> log/1/stderr646 646: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 646 === Start of file headers646 # This line is a comment X-fileheader1: This is a header from a file # This line is another comment. It precedes a folded header. X-fileheader2: This is #a folded header === End of file headers646 === Start of file server.cmd Testnum 646 === End of file server.cmd === Start of file smtp_server.log 02:02:29.724705 SMTP server listens on port IPv4/41437 02:02:29.724752 logged pid 109154 in log/1/server/smtp_server.pid 02:02:29.724767 Awaiting input 02:02:30.718420 ====> Client connect 02:02:30.718550 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:30.718805 < "EHLO verifiedserver" 02:02:30.718838 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:30.718961 < "HELP" 02:02:30.718985 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:30.718995 return proof we are we 02:02:30.719139 < "QUIT" 02:02:30.719158 > "221 curl ESMTP server signing off[CR][LF]" 02:02:30.719567 MAIN sockfilt said DISC 02:02:30.719589 ====> Client disconnected 02:02:30.719631 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:29.924643 Running IPv4 version 02:02:29.924699 Listening on port 41437 02:02:29.924732 Wrote pid 109156 to log/1/server/smtp_sockfilt.pid 02:02:29.924759 Wrote port 41437 to log/1/server/smtp_server.port 02:02:29.924778 Received PING (on stdin) 02:02:30.918470 ====> Client connect 02:02:30.918668 Received DATA (on stdin) 02:02:30.918690 > 160 bytes data, server => client 02:02:30.918705 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:30.918717 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:30.918728 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:30.918818 < 21 bytes data, client => server 02:02:30.918833 'EHLO verifiedserver\r\n' 02:02:30.918974 Received DATA (on stdin) 02:02:30.918983 > 53 bytes data, server => client 02:02:30.918991 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:30.919032 < 6 bytes data, client => server 02:02:30.919041 'HELP\r\n' 02:02:30.919127 Received DATA (on stdin) 02:02:30.919135 > 22 bytes data, server => client 02:02:30.919143 '214 WE ROOLZ: 109154\r\n' 02:02:30.919213 < 6 bytes data, client => server 02:02:30.919223 'QUIT\r\n' 02:02:30.919289 Received DATA (on stdin) 02:02:30.9192RUN: Process with pid 106724 signalled to die RUN: Process with pid 106724 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind648 ../src/curl -q --output log/1/curl648.out --include --trace-ascii log/1/trace648 --trace-config all --trace-time smtp://127.0.0.1:41437/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/1/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/1/stdout648 2> log/1/stderr648 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind647 ../src/curl -q --output log/12/curl647.out --include --trace-ascii log/12/trace647 --trace-config all --trace-time imap://127.0.0.1:40655/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/12/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/12/stdout647 2> log/12/stderr647 98 > 35 bytes data, server => client 02:02:30.919305 '221 curl ESMTP server signing off\r\n' 02:02:30.919663 ====> Client disconnect 02:02:30.919763 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-646 From: different To: another body === End of file stdin-for-646 === Start of file test646.txt This is an attached file. It may contain any type of data. === End of file test646.txt === Start of file valgrind646 ==109177== ==109177== Process terminating with default action of signal 4 (SIGILL) ==109177== Illegal opcode at address 0x10B08D ==109177== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==109177== by 0x10B08D: main (tool_main.c:232) === End of file valgrind646 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/3/server/ssh_server.pid" --logdir "log/3" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 34683 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34683 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/9/server/ssh_server.pid" --logdir "log/9" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 42775 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42775 test 0648...[SMTP multipart with transfer content encoders] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind648 ../src/curl -q --output log/1/curl648.out --include --trace-ascii log/1/trace648 --trace-config all --trace-time smtp://127.0.0.1:41437/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/1/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/1/stdout648 2> log/1/stderr648 648: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 648 === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of file smtp_server.log 02:02:31.137508 ====> Client connect 02:02:31.137608 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:31.137795 < "EHLO verifiedserver" 02:02:31.137822 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:31.137931 < "HELP" 02:02:31.137950 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:31.137960 return proof we are we 02:02:31.138095 < "QUIT" 02:02:31.138112 > "221 curl ESMTP server signing off[CR][LF]" 02:02:31.138403 MAIN sockfilt said DISC 02:02:31.138426 ====> Client disconnected 02:02:31.138473 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:31.337566 ====> Client connect 02:02:31.337749 Received DATA (on stdin) 02:02:31.337759 > 160 bytes data, server => client 02:02:31.337767 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:31.337775 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:31.337783 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:31.337833 < 21 bytes data, client => server 02:02:31.337842 'EHLO verifiedserver\r\n' 02:02:31.337955 Received DATA (on stdin) 02:02:31.337964 > 53 bytes data, server => client 02:02:31.337972 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:31.338010 < 6 bytes data, client => server 02:02:31.338017 'HELP\r\n' 02:02:31.338091 Received DATA (on stdin) 02:02:31.338098 > 22 bytes data, server => client 02:02:31.338106 '214 WE ROOLZ: 109154\r\n' 02:02:31.338162 < 6 bytes data, client => server 02:02:31.338170 'QUIT\r\n' 02:02:31.338244 Received DATA (on stdin) 02:02:31.338252 > 35 bytes data, server => client 02:02:31.338259 '221 curl ESMTP server signing off\r\n' 02:02:31.338492 ====> Client disconnect 02:02:31.338609 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-648 From: different To: another body === End of file stdin-for-648 === Start of file test648.txt This is an attached file. It may contain any type of data and will be encoded in base64 for transfer. === End of file test648.txt === Start of file valgrind648 ==109266== ==109266== Process terminating with default action of signal 4 (SIGILL) ==109266== Illegal opcode at address 0x10B08D ==109266== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==109266== by 0x10B08D: main (tool_main.c:232) === End of file valgrind648 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/imap_server.pid" --logfile "log/12/imap_server.log" --logdir "log/12" --portfile "log/12/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40655 (log/12/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:40655/verifiedserver" 2>log/12/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 109159 port 40655 * pid imap => 109159 109159 test 0647...[IMAP APPEND multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind647 ../src/curl -q --output log/12/curl647.out --include --trace-ascii log/12/trace647 --trace-config all --trace-time imap://127.0.0.1:40655/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/12/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/12/stdout647 2> log/12/stderr647 647: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 647 === Start of file imap_server.log 02:02:30.081981 IMAP server listens on port IPv4/40655 02:02:30.082040 logged pid 109159 in log/12/server/imap_server.pid 02:02:30.082059 Awaiting input 02:02:31.073549 ====> Client connect 02:02:31.073666 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:31.073873 < "A001 CAPABILITY" 02:02:31.073899 > "A001 BAD Command[CR][LF]" 02:02:31.074031 < "A002 LIST "verifiedserver" *" 02:02:31.074054 LIST_imap got "verifiedserver" * 02:02:31.074072 > "* LIST () "/" "WE ROOLZ: 109159"[CR][LF]" 02:02:31.074083 > "A002 OK LIST Completed[CR][LF]" 02:02:31.074092 return proof we are we 02:02:31.115261 < "A003 LOGOUT" 02:02:31.115300 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:31.115313 > "A003 OK LOGOUT completed[CR][LF]" 02:02:31.162030 MAIN sockfilt said DISC 02:02:31.162074 ====> Client disconnected 02:02:31.162122 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:30.281874 Running IPv4 version 02:02:30.281966 Listening on port 40655 02:02:30.282005 Wrote pid 109160 to log/12/server/imap_sockfilt.pid 02:02:30.282032 Wrote port 40655 to log/12/server/imap_server.port 02:02:30.282047 Received PING (on stdin) 02:02:31.273624 ====> Client connect 02:02:31.273804 Received DATA (on stdin) 02:02:31.273814 > 178 bytes data, server => client 02:02:31.273823 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind651 ./libtest/lib651 http://127.0.0.1:34215/651 log/1/test651.filedata log/1/stdout651 2> log/1/stderr651 02:02:31.273831 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:31.273839 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:31.273846 'rve\r\n' 02:02:31.273899 < 17 bytes data, client => server 02:02:31.273908 'A001 CAPABILITY\r\n' 02:02:31.274033 Received DATA (on stdin) 02:02:31.274042 > 18 bytes data, server => client 02:02:31.274050 'A001 BAD Command\r\n' 02:02:31.274091 < 30 bytes data, client => server 02:02:31.274100 'A002 LIST "verifiedserver" *\r\n' 02:02:31.274225 Received DATA (on stdin) 02:02:31.274234 > 34 bytes data, server => client 02:02:31.274241 '* LIST () "/" "WE ROOLZ: 109159"\r\n' 02:02:31.274259 Received DATA (on stdin) 02:02:31.274266 > 24 bytes data, server => client 02:02:31.274274 'A002 OK LIST Completed\r\n' 02:02:31.315266 < 13 bytes data, client => server 02:02:31.315293 'A003 LOGOUT\r\n' 02:02:31.315447 Received DATA (on stdin) 02:02:31.315456 > 36 bytes data, server => client 02:02:31.315463 '* BYE curl IMAP server signing off\r\n' 02:02:31.315483 Received DATA (on stdin) 02:02:31.315492 > 26 bytes data, server => client 02:02:31.315502 'A003 OK LOGOUT completed\r\n' 02:02:31.362103 ====> Client disconnect 02:02:31.362259 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 647 === End of file server.cmd === Start of file test647.txt This is an attached file. It may contain any type of data. === End of file test647.txt === Start of file valgrind647 ==109310== ==109310== Process terminating with default action of signal 4 (SIGILL) ==109310== Illegal opcode at address 0x10B08D ==109310== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==109310== by 0x10B08D: main (tool_main.c:232) === End of file valgrind647 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/11/server/ssh_server.pid" --logdir "log/11" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 41005 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41005 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/4/server/ssh_server.pid" --logdir "log/4" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 39719 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39719 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/8/server/ssh_server.pid" --logdir "log/8" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 33761 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33761 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/7/server/ssh_server.pid" --logdir "log/7" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 46553 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46553 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/10/server/ssh_server.pid" --logdir "log/10" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 38357 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38357 test 0651...[curl_formadd with huge COPYCONTENTS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind651 ./libtest/lib651 http://127.0.0.1:34215/651 log/1/test651.filedata log/1/stdout651 2> log/1/stderr651 651: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 651 === Start of file http_server.log 02:02:31.739925 ====> Client connect 02:02:31.739948 accept_connection 3 returned 4 02:02:31.739961 accept_connection 3 returned 0 02:02:31.739971 Read 93 bytes 02:02:31.739978 Process 93 bytes request 02:02:31.739989 Got request: GET /verifiedserver HTTP/1.1 02:02:31.739997 Are-we-friendly question received 02:02:31.740012 Wrote request (93 bytes) input to log/1/server.input 02:02:31.740024 Identifying ourselves as friends 02:02:31.740070 Response sent (56 bytes) and written to log/1/server.response 02:02:31.740078 special request received, no persistency 02:02:31.740085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 651 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr651 URL: http://127.0.0.1:34215/651 === End of file stderr651 === Start of file stdin-for-651 Some data from stdin === End of file stdin-for-651 === Start of file test651.filedata This is data from a file. === End of file test651.filedata === Start of file valgrind651 ==109463== ==109463== Process terminating with default action of signal 4 (SIGILL) ==109463== Illegal opcode at address 0x1090B0 ==109463== at 0x1090B0: UnknownInlinedFun (string_fortified.h:59) ==109463== by 0x1090B0: UnknownInlinedFun (lib651.c:43) ==109463== by 0x1090B0: main (first.c:220) ==109463== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==109463== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109463== by 0x4A6D258: __tsearch (tsearch.c:337) ==109463== by 0x4A6D258: tsearch (tsearch.c:290) ==109463== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109463== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109463== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109463== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109463== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109463== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109463== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109463== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109463== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109463== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109463== by 0x498986B: setlocale (setlocale.c:337) ==109463== by 0x109056: main (first.c:160) ==109463== ==109463== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==109463== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109463== by 0x4A6D258: __tsearch (tsearch.c:337) ==109463== by 0x4A6D258: tsearch (tsearch.c:290) ==109463== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109463== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109463== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109463== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109463== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109463== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109463== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109463== by 0x498986B: setlocale (setlocale.c:337) ==109463== by 0x109056: main (first.c:160) ==109463== ==109463== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==109463== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109463== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109463== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109463== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109463== by 0x497DBB2: read_conf_file.isra.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind650 ./libtest/lib650 http://127.0.0.1:38509/650 log/9/test650.filedata log/9/stdout650 2> log/9/stderr650 0 (gconv_parseconfdir.h:101) ==109463== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109463== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109463== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109463== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109463== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109463== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109463== by 0x498986B: setlocale (setlocale.c:337) ==109463== by 0x109056: main (first.c:160) ==109463== ==109463== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==109463== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109463== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109463== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109463== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109463== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109463== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109463== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109463== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109463== by 0x498986B: setlocale (setlocale.c:337) ==109463== by 0x109056: main (first.c:160) ==109463== ==109463== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==109463== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109463== by 0x4A6D258: __tsearch (tsearch.c:337) ==109463== by 0x4A6D258: tsearch (tsearch.c:290) ==109463== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109463== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109463== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109463== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109463== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109463== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109463== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109463== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109463== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109463== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109463== by 0x498986B: setlocale (setlocale.c:337) ==109463== by 0x109056: main (first.c:160) ==109463== ==109463== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==109463== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109463== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109463== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109463== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109463== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109463== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109463== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109463== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109463== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109463== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109463== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109463== by 0x498986B: setlocale (setlocale.c:337) ==109463== by 0x109056: main (first.c:160) ==109463== === End of file valgrind651 test 0650...[HTTP formpost using form API - with redirect and re-POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind650 ./libtest/lib650 http://127.0.0.1:38509/650 log/9/test650.filedata log/9/stdout650 2> log/9/stderr650 650: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 650 === Start of file http_server.log 02:02:31.645423 ====> Client connect 02:02:31.645467 accept_connection 3 returned 4 02:02:31.645489 accept_connection 3 returned 0 02:02:31.645508 Read 93 bytes 02:02:31.645522 Process 93 bytes request 02:02:31.645541 Got request: GET /verifiedserver HTTP/1.1 02:02:31.645554 Are-we-friendly question received 02:02:31.645585 Wrote request (93 bytes) input to log/9/server.input 02:02:31.645608 Identifying ourselves as friends 02:02:31.645713 Response sent (56 bytes) and written to log/9/server.response 02:02:31.645727 special request received, no persistency 02:02:31.645739 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 650 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr650 URL: http://127.0.0.1:38509/650 === End of file stderr650 === Start of file stdin-for-650 Some data from stdin === End of file stdin-for-650 === Start of file test650.filedata This is data from a file. === End of file test650.filedata === Start of file valgrind650 ==109398== ==109398== Process terminating with default action of signal 4 (SIGILL) ==109398== Illegal opcode at address 0x48B98B9 ==109398== at 0x48B98B9: UnknownInlinedFun (string_fortified.h:59) ==109398== by 0x48B98B9: curl_mime_init (mime.c:1295) ==109398== by 0x488DC48: Curl_getformdata.part.0 (formdata.c:832) ==109398== by 0x4881EC4: UnknownInlinedFun (formdata.c:829) ==109398== by 0x4881EC4: curl_formget (formdata.c:722) ==109398== by 0x109288: UnknownInlinedFun (lib650.c:151) ==109398== by 0x109288: main (first.c:220) ==109398== 96 bytes in 1 blocks are definitely lost in loss record 592 of 674 ==109398== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109398== by 0x48B988F: curl_mime_init (mime.c:1288) ==109398== by 0x488DC48: Curl_getformdata.part.0 (formdata.c:832) ==109398== by 0x4881EC4: UnknownInlinedFun (formdata.c:829) ==109398== by 0x4881EC4: curl_formget (formdata.c:722) ==109398== by 0x109288: UnknownInlinedFun (lib650.c:151) ==109398== by 0x109288: main (first.c:220) ==109398== ==109398== 408 bytes in 17 blocks are possibly lost in loss record 624 of 674 ==109398== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109398== by 0x4A6D258: __tsearch (tsearch.c:337) ==109398== by 0x4A6D258: tsearch (tsearch.c:290) ==109398== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109398== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109398== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109398== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109398== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109398== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109398== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109398== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109398== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109398== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109398== by 0x498986B: setlocale (setlocale.c:337) ==109398== by 0x10905B: main (first.c:160) ==109398== ==109398== 552 bytes in 23 blocks are possibly lost in loss record 629 of 674 ==109398== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109398== by 0x4A6D258: __tsearch (tsearch.c:337) ==109398== by 0x4A6D258: tsearch (tsearch.c:290) ==109398== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109398== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109398== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109398== by 0x49EE8FA: __pthread_once_slow.isra.0 (ptCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind653 ./libtest/lib653 http://127.0.0.1:44137/653 > log/11/stdout653 2> log/11/stderr653 hread_once.c:116) ==109398== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109398== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109398== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109398== by 0x498986B: setlocale (setlocale.c:337) ==109398== by 0x10905B: main (first.c:160) ==109398== ==109398== 681 bytes in 17 blocks are possibly lost in loss record 635 of 674 ==109398== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109398== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109398== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109398== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109398== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109398== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109398== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109398== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109398== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109398== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109398== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109398== by 0x498986B: setlocale (setlocale.c:337) ==109398== by 0x10905B: main (first.c:160) ==109398== ==109398== 1,018 bytes in 23 blocks are possibly lost in loss record 649 of 674 ==109398== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109398== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109398== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109398== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109398== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109398== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109398== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109398== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109398== by 0x498986B: setlocale (setlocale.c:337) ==109398== by 0x10905B: main (first.c:160) ==109398== ==109398== 11,664 bytes in 486 blocks are possibly lost in loss record 670 of 674 ==109398== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109398== by 0x4A6D258: __tsearch (tsearch.c:337) ==109398== by 0x4A6D258: tsearch (tsearch.c:290) ==109398== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109398== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109398== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109398== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109398== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109398== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109398== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109398== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109398== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109398== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109398== by 0x498986B: setlocale (setlocale.c:337) ==109398== by 0x10905B: main (first.c:160) ==109398== ==109398== 18,800 bytes in 486 blocks are possibly lost in loss record 672 of 674 ==109398== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109398== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109398== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109398== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109398== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109398== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109398== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109398== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109398== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109398== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109398== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109398== by 0x498986B: setlocale (setlocale.c:337) ==109398== by 0x10905B: main (first.c:160) ==109398== === End of file valgrind650 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/6/server/ssh_server.pid" --logdir "log/6" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 39763 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39763 test 0653...[Reuse of handle after altering mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind653 ./libtest/lib653 http://127.0.0.1:44137/653 > log/11/stdout653 2> log/11/stderr653 653: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 653 === Start of file http_server.log 02:02:31.810666 ====> Client connect 02:02:31.810690 accept_connection 3 returned 4 02:02:31.810703 accept_connection 3 returned 0 02:02:31.810713 Read 93 bytes 02:02:31.810722 Process 93 bytes request 02:02:31.810733 Got request: GET /verifiedserver HTTP/1.1 02:02:31.810740 Are-we-friendly question received 02:02:31.810758 Wrote request (93 bytes) input to log/11/server.input 02:02:31.810770 Identifying ourselves as friends 02:02:31.810818 Response sent (56 bytes) and written to log/11/server.response 02:02:31.810826 special request received, no persistency 02:02:31.810833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 653 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr653 URL: http://127.0.0.1:44137/653 === End of file stderr653 === Start of file valgrind653 ==109529== ==109529== Process terminating with default action of signal 4 (SIGILL) ==109529== Illegal opcode at address 0x48EA16B ==109529== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==109529== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==109529== by 0x48EA16B: Curl_open (url.c:519) ==109529== by 0x4880EEF: curl_easy_init (easy.c:370) ==109529== by 0x109091: UnknownInlinedFun (lib653.c:39) ==109529== by 0x109091: UnknownInlinedFun (lib653.c:31) ==109529== by 0x109091: main (first.c:220) ==109529== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==109529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109529== by 0x4A6D258: __tsearch (tsearch.c:337) ==109529== by 0x4A6D258: tsearch (tsearch.c:290) ==109529== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109529== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109529== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109529== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109529== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109529== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109529== by 0x498986B: setlocale (setlocale.c:337) ==109529== by 0x10904B: main (first.c:160) ==109529== ==109529== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==109529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109529== by 0x4A6D258: __tsearch (tsearch.c:337) ==109529== by 0x4A6D258:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind654 ./libtest/lib654 http://127.0.0.1:36813/654 log/4/file654.txt > log/4/stdout654 2> log/4/stderr654 tsearch (tsearch.c:290) ==109529== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109529== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109529== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109529== by 0x498986B: setlocale (setlocale.c:337) ==109529== by 0x10904B: main (first.c:160) ==109529== ==109529== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==109529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109529== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109529== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109529== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109529== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109529== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109529== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109529== by 0x498986B: setlocale (setlocale.c:337) ==109529== by 0x10904B: main (first.c:160) ==109529== ==109529== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==109529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109529== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109529== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109529== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109529== by 0x498986B: setlocale (setlocale.c:337) ==109529== by 0x10904B: main (first.c:160) ==109529== ==109529== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==109529== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==109529== by 0x48EA143: Curl_open (url.c:510) ==109529== by 0x4880EEF: curl_easy_init (easy.c:370) ==109529== by 0x109091: UnknownInlinedFun (lib653.c:39) ==109529== by 0x109091: UnknownInlinedFun (lib653.c:31) ==109529== by 0x109091: main (first.c:220) ==109529== ==109529== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==109529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109529== by 0x4A6D258: __tsearch (tsearch.c:337) ==109529== by 0x4A6D258: tsearch (tsearch.c:290) ==109529== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109529== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109529== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109529== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109529== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109529== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109529== by 0x498986B: setlocale (setlocale.c:337) ==109529== by 0x10904B: main (first.c:160) ==109529== ==109529== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==109529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109529== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109529== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109529== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109529== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109529== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109529== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109529== by 0x498986B: setlocale (setlocale.c:337) ==109529== by 0x10904B: main (first.c:160) ==109529== === End of file valgrind653 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/2/server/ssh_server.pid" --logdir "log/2" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 42815 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42815 test 0654...[HTTP duplicate easy handle with mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind654 ./libtest/lib654 http://127.0.0.1:36813/654 log/4/file654.txt > log/4/stdout654 2> log/4/stderr654 654: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 654 === Start of file file654.txt This is data from a file === End of file file654.txt === Start of file http_server.log 02:02:31.877358 ====> Client connect 02:02:31.877382 accept_connection 3 returned 4 02:02:31.877394 accept_connection 3 returned 0 02:02:31.877405 Read 93 bytes 02:02:31.877413 Process 93 bytes request 02:02:31.877423 Got request: GET /verifiedserver HTTP/1.1 02:02:31.877430 Are-we-friendly question received 02:02:31.877446 Wrote request (93 bytes) input to log/4/server.input 02:02:31.877458 Identifying ourselves as friends 02:02:31.877504 Response sent (56 bytes) and written to log/4/server.response 02:02:31.877512 special request received, no persistency 02:02:31.877519 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 654 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr654 URL: http://127.0.0.1:36813/654 === End of file stderr654 === Start of file valgrind654 ==109590== ==109590== Process terminating with default action of signal 4 (SIGILL) ==109590== Illegal opcode at address 0x48EA16B ==109590== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==109590== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==109590== by 0x48EA16B: Curl_open (url.c:519) ==109590== by 0x4880EEF: curl_easy_init (easy.c:370) ==109590== by 0x1090AD: UnknownInlinedFun (lib654.c:85) ==109590== by 0x1090AD: main (first.c:220) ==109590== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==109590== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109590== by 0x4A6D258: __tsearch (tsearch.c:337) ==109590== by 0x4A6D258: tsearch (tsearch.c:290) ==109590== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109590== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109590== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109590== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109590== by 0x49CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind655 ./libtest/lib655 http://127.0.0.1:43803/655 > log/8/stdout655 2> log/8/stderr655 7DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109590== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109590== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109590== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109590== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109590== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109590== by 0x498986B: setlocale (setlocale.c:337) ==109590== by 0x109058: main (first.c:160) ==109590== ==109590== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==109590== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109590== by 0x4A6D258: __tsearch (tsearch.c:337) ==109590== by 0x4A6D258: tsearch (tsearch.c:290) ==109590== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109590== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109590== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109590== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109590== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109590== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109590== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109590== by 0x498986B: setlocale (setlocale.c:337) ==109590== by 0x109058: main (first.c:160) ==109590== ==109590== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==109590== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109590== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109590== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109590== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109590== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109590== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109590== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109590== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109590== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109590== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109590== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109590== by 0x498986B: setlocale (setlocale.c:337) ==109590== by 0x109058: main (first.c:160) ==109590== ==109590== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==109590== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109590== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109590== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109590== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109590== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109590== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109590== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109590== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109590== by 0x498986B: setlocale (setlocale.c:337) ==109590== by 0x109058: main (first.c:160) ==109590== ==109590== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==109590== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==109590== by 0x48EA143: Curl_open (url.c:510) ==109590== by 0x4880EEF: curl_easy_init (easy.c:370) ==109590== by 0x1090AD: UnknownInlinedFun (lib654.c:85) ==109590== by 0x1090AD: main (first.c:220) ==109590== ==109590== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==109590== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109590== by 0x4A6D258: __tsearch (tsearch.c:337) ==109590== by 0x4A6D258: tsearch (tsearch.c:290) ==109590== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109590== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109590== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109590== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109590== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109590== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109590== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109590== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109590== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109590== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109590== by 0x498986B: setlocale (setlocale.c:337) ==109590== by 0x109058: main (first.c:160) ==109590== ==109590== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==109590== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109590== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109590== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109590== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109590== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109590== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109590== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109590== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109590== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109590== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109590== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109590== by 0x498986B: setlocale (setlocale.c:337) ==109590== by 0x109058: main (first.c:160) ==109590== === End of file valgrind654 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/5/server/ssh_server.pid" --logdir "log/5" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 44731 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44731 test 0655...[resolver start callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind655 ./libtest/lib655 http://127.0.0.1:43803/655 > log/8/stdout655 2> log/8/stderr655 655: data FAILED: --- log/8/check-expected 2024-12-15 02:02:32.532729626 +0000 +++ log/8/check-generated 2024-12-15 02:02:32.532729626 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/8/ dir after test 655 === Start of file check-expected hello[LF] === End of file check-expected === Start of file http_server.log 02:02:31.948145 ====> Client connect 02:02:31.948171 accept_connection 3 returned 4 02:02:31.948183 accept_connection 3 returned 0 02:02:31.948193 Read 93 bytes 02:02:31.948201 Process 93 bytes request 02:02:31.948213 Got request: GET /verifiedserver HTTP/1.1 02:02:31.948220 Are-we-friendly question received 02:02:31.948237 Wrote request (93 bytes) input to log/8/server.input 02:02:31.948249 Identifying ourselves as friends 02:02:31.948296 Response sent (56 bytes) and written to log/8/server.response 02:02:31.948304 special request received, no persistency 02:02:31.948311 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 655 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr655 URL: http://127.0.0.1:43803/655 === End of file stderr655 === Start of file valgrind655 ==109655== ==109655== Process terminating with default action of signal 4 (SIGILL) ==109655== Illegal opcode at address 0x48EA16B ==109655== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==109655== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==109655== by 0x48EA16B: Curl_open (url.c:519) ==109655== by 0x4880EEF: curl_easy_init (easy.c:370) ==109655== by 0x10908A: UnknownInlinedFun (lib655.c:70) ==109655== by 0x10908A: main (first.c:220) ==109655== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==109655== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109655== by 0x4A6D258: __tsearch (tsearch.c:337) ==109655== by 0x4A6D258: tsearch (tsearch.c:290) ==109655== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109655== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109655== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109655== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109655== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109655== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109655== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109655== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109655== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109655== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109655== by 0x498986B: setlocale (setlocale.c:337) ==109655== by 0x109047: main (first.c:160) ==109655== ==109655== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==109655== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109655== by 0x4A6D258: __tsearch (tsearch.c:337) ==109655== by 0x4A6D258: tsearch (tsearch.c:290) ==109655== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109655== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109655== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109655== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109655== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109655== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109655== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109655== by 0x498986B: setlocale (setlocale.c:337) ==109655== by 0x109047: main (first.c:160) ==109655== ==109655== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==109655== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109655== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109655== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109655== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109655== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109655== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109655== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109655== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109655== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109655== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109655== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109655== by 0x498986B: setlocale (setlocale.c:337) ==109655== by 0x109047: main (first.c:160) ==109655== ==109655== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==109655== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109655== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109655== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109655== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109655== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109655== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109655== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109655== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109655== by 0x498986B: setlocale (setlocale.c:337) ==109655== by 0x109047: main (first.c:160) ==109655== ==109655== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==109655== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==109655== by 0x48EA143: Curl_open (url.c:510) ==109655== by 0x4880EEF: curl_easy_init (easy.c:370) ==109655== by 0x10908A: UnknownInlinedFun (lib655.c:70) ==109655== by 0x10908A: main (first.c:220) ==109655== ==109655== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==109655== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109655== by 0x4A6D258: __tsearch (tsearch.c:337) ==109655== by 0x4A6D258: tsearch (tsearch.c:290) ==109655== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109655== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109655== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109655== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109655== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109655== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109655== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109655== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109655== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109655== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109655== by 0x498986B: setlocale (setlocale.c:337) ==109655== by 0x109047: main (first.c:160) ==109655== ==109655== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==109655== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109655== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109655== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109655== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109655== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109655== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109655== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109655== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind658 ./libtest/lib658 http://127.0.0.1:43753/658 > log/7/stdout658 2> log/7/stderr658 =109655== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109655== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109655== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109655== by 0x498986B: setlocale (setlocale.c:337) ==109655== by 0x109047: main (first.c:160) ==109655== === End of file valgrind655 test 0658...[Pass URL to libcurl with CURLOPT_CURLU] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind658 ./libtest/lib658 http://127.0.0.1:43753/658 > log/7/stdout658 2> log/7/stderr658 658: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 658 === Start of file http_server.log 02:02:32.023108 ====> Client connect 02:02:32.023140 accept_connection 3 returned 4 02:02:32.023153 accept_connection 3 returned 0 02:02:32.023164 Read 93 bytes 02:02:32.023172 Process 93 bytes request 02:02:32.023184 Got request: GET /verifiedserver HTTP/1.1 02:02:32.023191 Are-we-friendly question received 02:02:32.023209 Wrote request (93 bytes) input to log/7/server.input 02:02:32.023224 Identifying ourselves as friends 02:02:32.023276 Response sent (56 bytes) and written to log/7/server.response 02:02:32.023285 special request received, no persistency 02:02:32.023292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 658 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr658 URL: http://127.0.0.1:43753/658 === End of file stderr658 === Start of file valgrind658 ==109717== ==109717== Process terminating with default action of signal 4 (SIGILL) ==109717== Illegal opcode at address 0x48EA16B ==109717== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==109717== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==109717== by 0x48EA16B: Curl_open (url.c:519) ==109717== by 0x4880EEF: curl_easy_init (easy.c:370) ==109717== by 0x109091: UnknownInlinedFun (lib658.c:42) ==109717== by 0x109091: UnknownInlinedFun (lib658.c:34) ==109717== by 0x109091: main (first.c:220) ==109717== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==109717== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109717== by 0x4A6D258: __tsearch (tsearch.c:337) ==109717== by 0x4A6D258: tsearch (tsearch.c:290) ==109717== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109717== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109717== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109717== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109717== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109717== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109717== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109717== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109717== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109717== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109717== by 0x498986B: setlocale (setlocale.c:337) ==109717== by 0x10904B: main (first.c:160) ==109717== ==109717== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==109717== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109717== by 0x4A6D258: __tsearch (tsearch.c:337) ==109717== by 0x4A6D258: tsearch (tsearch.c:290) ==109717== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109717== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109717== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109717== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109717== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109717== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109717== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109717== by 0x498986B: setlocale (setlocale.c:337) ==109717== by 0x10904B: main (first.c:160) ==109717== ==109717== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==109717== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109717== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109717== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109717== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109717== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109717== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109717== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109717== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109717== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109717== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109717== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109717== by 0x498986B: setlocale (setlocale.c:337) ==109717== by 0x10904B: main (first.c:160) ==109717== ==109717== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==109717== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109717== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109717== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109717== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109717== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109717== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109717== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109717== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109717== by 0x498986B: setlocale (setlocale.c:337) ==109717== by 0x10904B: main (first.c:160) ==109717== ==109717== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==109717== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==109717== by 0x48EA143: Curl_open (url.c:510) ==109717== by 0x4880EEF: curl_easy_init (easy.c:370) ==109717== by 0x109091: UnknownInlinedFun (lib658.c:42) ==109717== by 0x109091: UnknownInlinedFun (lib658.c:34) ==109717== by 0x109091: main (first.c:220) ==109717== ==109717== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==109717== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109717== by 0x4A6D258: __tsearch (tsearch.c:337) ==109717== by 0x4A6D258: tsearch (tsearch.c:290) ==109717== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109717== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109717== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109717== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109717== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109717== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109717== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109717== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109717== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109717== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109717== by 0x498986B: setlocale (setlocale.c:337) ==109717== by 0x10904B: main (first.c:160) ==109717== ==109717== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==109717== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109717== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109717== by 0x497DBB2: add_aliasCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind659 ./libtest/lib659 http://127.0.0.1:42929 > log/10/stdout659 2> log/10/stderr659 2 (gconv_conf.c:176) ==109717== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109717== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109717== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109717== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109717== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109717== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109717== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109717== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109717== by 0x498986B: setlocale (setlocale.c:337) ==109717== by 0x10904B: main (first.c:160) ==109717== === End of file valgrind658 test 0659...[CURLOPT_CURLU without the path set - over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind659 ./libtest/lib659 http://127.0.0.1:42929 > log/10/stdout659 2> log/10/stderr659 659: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 659 === Start of file http_server.log 02:02:32.104272 ====> Client connect 02:02:32.104305 accept_connection 3 returned 4 02:02:32.104322 accept_connection 3 returned 0 02:02:32.104336 Read 93 bytes 02:02:32.104347 Process 93 bytes request 02:02:32.104362 Got request: GET /verifiedserver HTTP/1.1 02:02:32.104372 Are-we-friendly question received 02:02:32.104395 Wrote request (93 bytes) input to log/10/server.input 02:02:32.104413 Identifying ourselves as friends 02:02:32.104480 Response sent (56 bytes) and written to log/10/server.response 02:02:32.104493 special request received, no persistency 02:02:32.104503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 659 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr659 URL: http://127.0.0.1:42929 === End of file stderr659 === Start of file valgrind659 ==109780== ==109780== Process terminating with default action of signal 4 (SIGILL) ==109780== Illegal opcode at address 0x48EA16B ==109780== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==109780== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==109780== by 0x48EA16B: Curl_open (url.c:519) ==109780== by 0x4880EEF: curl_easy_init (easy.c:370) ==109780== by 0x109091: UnknownInlinedFun (lib659.c:41) ==109780== by 0x109091: UnknownInlinedFun (lib659.c:34) ==109780== by 0x109091: main (first.c:220) ==109780== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==109780== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109780== by 0x4A6D258: __tsearch (tsearch.c:337) ==109780== by 0x4A6D258: tsearch (tsearch.c:290) ==109780== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109780== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109780== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109780== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109780== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109780== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109780== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109780== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109780== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109780== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109780== by 0x498986B: setlocale (setlocale.c:337) ==109780== by 0x10904B: main (first.c:160) ==109780== ==109780== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==109780== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109780== by 0x4A6D258: __tsearch (tsearch.c:337) ==109780== by 0x4A6D258: tsearch (tsearch.c:290) ==109780== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109780== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109780== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109780== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109780== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109780== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109780== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109780== by 0x498986B: setlocale (setlocale.c:337) ==109780== by 0x10904B: main (first.c:160) ==109780== ==109780== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==109780== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109780== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109780== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109780== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109780== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109780== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109780== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109780== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109780== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109780== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109780== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109780== by 0x498986B: setlocale (setlocale.c:337) ==109780== by 0x10904B: main (first.c:160) ==109780== ==109780== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==109780== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109780== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109780== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109780== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109780== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109780== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109780== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109780== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109780== by 0x498986B: setlocale (setlocale.c:337) ==109780== by 0x10904B: main (first.c:160) ==109780== ==109780== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==109780== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==109780== by 0x48EA143: Curl_open (url.c:510) ==109780== by 0x4880EEF: curl_easy_init (easy.c:370) ==109780== by 0x109091: UnknownInlinedFun (lib659.c:41) ==109780== by 0x109091: UnknownInlinedFun (lib659.c:34) ==109780== by 0x109091: main (first.c:220) ==109780== ==109780== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==109780== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109780== by 0x4A6D258: __tsearch (tsearch.c:337) ==109780== by 0x4A6D258: tsearch (tsearch.c:290) ==109780== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109780== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109780== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109780== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109780== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109780== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109780== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109780== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109780== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109780== by 0x4986E9D: _nl_find_locale CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind662 ../src/curl -q --output log/6/curl662.out --include --trace-ascii log/6/trace662 --trace-config all --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:39457 > log/6/stdout662 2> log/6/stderr662 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind663 ../src/curl -q --output log/11/curl663.out --include --trace-ascii log/11/trace663 --trace-config all --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:44137 > log/11/stdout663 2> log/11/stderr663 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind649 ../src/curl -q --output log/3/curl649.out --include --trace-ascii log/3/trace649 --trace-config all --trace-time smtp://127.0.0.1:33609/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/3/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/3/stdout649 2> log/3/stderr649 (findlocale.c:298) ==109780== by 0x498986B: setlocale (setlocale.c:337) ==109780== by 0x10904B: main (first.c:160) ==109780== ==109780== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==109780== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109780== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109780== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109780== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109780== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109780== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109780== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109780== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109780== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109780== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109780== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109780== by 0x498986B: setlocale (setlocale.c:337) ==109780== by 0x10904B: main (first.c:160) ==109780== === End of file valgrind659 test 0662...[HTTP redirect with whitespace in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind662 ../src/curl -q --output log/6/curl662.out --include --trace-ascii log/6/trace662 --trace-config all --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:39457 > log/6/stdout662 2> log/6/stderr662 662: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 662 === Start of file http_server.log 02:02:32.404320 ====> Client connect 02:02:32.404353 accept_connection 3 returned 4 02:02:32.404369 accept_connection 3 returned 0 02:02:32.404381 Read 93 bytes 02:02:32.404391 Process 93 bytes request 02:02:32.404404 Got request: GET /verifiedserver HTTP/1.1 02:02:32.404413 Are-we-friendly question received 02:02:32.404437 Wrote request (93 bytes) input to log/6/server.input 02:02:32.404453 Identifying ourselves as friends 02:02:32.404519 Response sent (56 bytes) and written to log/6/server.response 02:02:32.404529 special request received, no persistency 02:02:32.404538 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 662 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind662 ==109869== ==109869== Process terminating with default action of signal 4 (SIGILL) ==109869== Illegal opcode at address 0x10B08D ==109869== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==109869== by 0x10B08D: main (tool_main.c:232) === End of file valgrind662 test 0663...[HTTP redirect with dotdots and whitespaces in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind663 ../src/curl -q --output log/11/curl663.out --include --trace-ascii log/11/trace663 --trace-config all --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:44137 > log/11/stdout663 2> log/11/stderr663 663: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 663 === Start of file http_server.log 02:02:32.538646 ====> Client connect 02:02:32.538680 accept_connection 3 returned 4 02:02:32.538696 accept_connection 3 returned 0 02:02:32.538709 Read 93 bytes 02:02:32.538720 Process 93 bytes request 02:02:32.538734 Got request: GET /verifiedserver HTTP/1.1 02:02:32.538743 Are-we-friendly question received 02:02:32.538766 Wrote request (93 bytes) input to log/11/server.input 02:02:32.538782 Identifying ourselves as friends 02:02:32.538849 Response sent (56 bytes) and written to log/11/server.response 02:02:32.538859 special request received, no persistency 02:02:32.538872 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 663 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind663 ==109983== ==109983== Process terminating with default action of signal 4 (SIGILL) ==109983== Illegal opcode at address 0x10B08D ==109983== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==109983== by 0x10B08D: main (tool_main.c:232) === End of file valgrind663 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/smtp_server.pid" --logfile "log/3/smtp_server.log" --logdir "log/3" --portfile "log/3/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33609 (log/3/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:33609/verifiedserver" 2>log/3/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 109380 port 33609 * pid smtp => 109380 109380 test 0649...[SMTP multipart with 7bit encoder error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind649 ../src/curl -q --output log/3/curl649.out --include --trace-ascii log/3/trace649 --trace-config all --trace-time smtp://127.0.0.1:33609/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/3/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/3/stdout649 2> log/3/stderr649 649: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 649 === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 02:02:31.383425 SMTP server listens on port IPv4/33609 02:02:31.383474 logged pid 109380 in log/3/server/smtp_server.pid 02:02:31.383491 Awaiting input 02:02:32.378120 ====> Client connect 02:02:32.378257 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:32.378525 < "EHLO verifiedserver" 02:02:32.378562 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:32.378708 < "HELP" 02:02:32.378738 > "214 WE ROOLZ: 109380[CR][LF]" 02:02:32.378750 return proof we are we 02:02:32.378941 < "QUIT" 02:02:32.378962 > "221 curl ESMTP server signing off[CR][LF]" 02:02:32.379525 MAIN sockfilt said DISC 02:02:32.379552 ====> Client disconnected 02:02:32.379606 Awaiting input CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind661 ./libtest/lib661 ftp://127.0.0.1:35301/ > log/9/stdout661 2> log/9/stderr661 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind669 ../src/curl -q --output log/8/curl669.out --include --trace-ascii log/8/trace669 --trace-config all --trace-time http://127.0.0.1:43803/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/8/stdout669 2> log/8/stderr669 === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:31.583366 Running IPv4 version 02:02:31.583436 Listening on port 33609 02:02:31.583464 Wrote pid 109381 to log/3/server/smtp_sockfilt.pid 02:02:31.583487 Wrote port 33609 to log/3/server/smtp_server.port 02:02:31.583500 Received PING (on stdin) 02:02:32.578182 ====> Client connect 02:02:32.578401 Received DATA (on stdin) 02:02:32.578414 > 160 bytes data, server => client 02:02:32.578425 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:32.578437 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:32.578446 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:32.578527 < 21 bytes data, client => server 02:02:32.578539 'EHLO verifiedserver\r\n' 02:02:32.578701 Received DATA (on stdin) 02:02:32.578712 > 53 bytes data, server => client 02:02:32.578722 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:32.578772 < 6 bytes data, client => server 02:02:32.578781 'HELP\r\n' 02:02:32.578885 Received DATA (on stdin) 02:02:32.578895 > 22 bytes data, server => client 02:02:32.578905 '214 WE ROOLZ: 109380\r\n' 02:02:32.579002 < 6 bytes data, client => server 02:02:32.579015 'QUIT\r\n' 02:02:32.579097 Received DATA (on stdin) 02:02:32.579105 > 35 bytes data, server => client 02:02:32.579114 '221 curl ESMTP server signing off\r\n' 02:02:32.579613 ====> Client disconnect 02:02:32.579746 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-649 From: different To: another body === End of file stdin-for-649 === Start of file test649.txt This is an attached file (in french: pièce jointe). It contains at least an 8-bit byte value. === End of file test649.txt === Start of file valgrind649 ==110064== ==110064== Process terminating with default action of signal 4 (SIGILL) ==110064== Illegal opcode at address 0x10B08D ==110064== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==110064== by 0x10B08D: main (tool_main.c:232) === End of file valgrind649 test 0661...[Avoid redundant CWDs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind661 ./libtest/lib661 ftp://127.0.0.1:35301/ > log/9/stdout661 2> log/9/stderr661 661: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 661 === Start of file ftp_server.log 02:02:32.194024 ====> Client connect 02:02:32.194155 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:32.194402 < "USER anonymous" 02:02:32.194431 > "331 We are happy you popped in![CR][LF]" 02:02:32.194581 < "PASS ftp@example.com" 02:02:32.194604 > "230 Welcome you silly person[CR][LF]" 02:02:32.194744 < "PWD" 02:02:32.194774 > "257 "/" is current directory[CR][LF]" 02:02:32.194919 < "EPSV" 02:02:32.194940 ====> Passive DATA channel requested by client 02:02:32.194952 DATA sockfilt for passive data channel starting... 02:02:32.196040 DATA sockfilt for passive data channel started (pid 109859) 02:02:32.196114 DATA sockfilt for passive data channel listens on port 41491 02:02:32.196141 > "229 Entering Passive Mode (|||41491|)[LF]" 02:02:32.196155 Client has been notified that DATA conn will be accepted on port 41491 02:02:32.196326 Client connects to port 41491 02:02:32.196346 ====> Client established passive DATA connection on port 41491 02:02:32.196390 < "TYPE I" 02:02:32.196409 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:32.196519 < "SIZE verifiedserver" 02:02:32.196543 > "213 17[CR][LF]" 02:02:32.196647 < "RETR verifiedserver" 02:02:32.196675 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:32.196735 =====> Closing passive DATA connection... 02:02:32.196749 Server disconnects passive DATA connection 02:02:32.196838 Server disconnected passive DATA connection 02:02:32.196860 DATA sockfilt for passive data channel quits (pid 109859) 02:02:32.197022 DATA sockfilt for passive data channel quit (pid 109859) 02:02:32.197045 =====> Closed passive DATA connection 02:02:32.197070 > "226 File transfer complete[CR][LF]" 02:02:32.238790 < "QUIT" 02:02:32.238843 > "221 bye bye baby[CR][LF]" 02:02:32.239491 MAIN sockfilt said DISC 02:02:32.239520 ====> Client disconnected 02:02:32.239590 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:32.394070 ====> Client connect 02:02:32.394301 Received DATA (on stdin) 02:02:32.394315 > 160 bytes data, server => client 02:02:32.394327 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:32.394338 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:32.394349 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:32.394419 < 16 bytes data, client => server 02:02:32.394431 'USER anonymous\r\n' 02:02:32.394570 Received DATA (on stdin) 02:02:32.394583 > 33 bytes data, server => client 02:02:32.394596 '331 We are happy you popped in!\r\n' 02:02:32.394643 < 22 bytes data, client => server 02:02:32.394655 'PASS ftp@example.com\r\n' 02:02:32.394741 Received DATA (on stdin) 02:02:32.394752 > 30 bytes data, server => client 02:02:32.394762 '230 Welcome you silly person\r\n' 02:02:32.394809 < 5 bytes data, client => server 02:02:32.394819 'PWD\r\n' 02:02:32.394911 Received DATA (on stdin) 02:02:32.394921 > 30 bytes data, server => client 02:02:32.394932 '257 "/" is current directory\r\n' 02:02:32.394986 < 6 bytes data, client => server 02:02:32.394997 'EPSV\r\n' 02:02:32.396293 Received DATA (on stdin) 02:02:32.396303 > 38 bytes data, server => client 02:02:32.396312 '229 Entering Passive Mode (|||41491|)\n' 02:02:32.396402 < 8 bytes data, client => server 02:02:32.396413 'TYPE I\r\n' 02:02:32.396542 Received DATA (on stdin) 02:02:32.396551 > 33 bytes data, server => client 02:02:32.396559 '200 I modify TYPE as you wanted\r\n' 02:02:32.396596 < 21 bytes data, client => server 02:02:32.396605 'SIZE verifiedserver\r\n' 02:02:32.396677 Received DATA (on stdin) 02:02:32.396685 > 8 bytes data, server => client 02:02:32.396692 '213 17\r\n' 02:02:32.396726 < 21 bytes data, client => server 02:02:32.396734 'RETR verifiedserver\r\n' 02:02:32.396802 Received DATA (on stdin) 02:02:32.396822 > 29 bytes data, server => client 02:02:32.396834 '150 Binary junk (17 bytes).\r\n' 02:02:32.397209 Received DATA (on stdin) 02:02:32.397221 > 28 bytes data, server => client 02:02:32.397232 '226 File transfer complete\r\n' 02:02:32.438758 < 6 bytes data, client => server 02:02:32.438788 'QUIT\r\n' 02:02:32.438971 Received DATA (on stdin) 02:02:32.438988 > 18 bytes data, server => client 02:02:32.438999 '221 bye bye baby\r\n' 02:02:32.439583 ====> Client disconnect 02:02:32.439731 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:32.396046 Running IPv4 version 02:02:32.396087 Listening on port 41491 02:02:32.396116 Wrote pid 109859 to log/9/server/ftp_sockdata.pid 02:02:32.396129 Received PING (on stdin) 02:02:32.396189 Received PORT (on stdin) 02:02:32.396427 ====> Client connect 02:02:32.396888 Received DATA (on stdin) 02:02:32.396902 > 17 bytes data, server => client 02:02:32.396912 'WE ROOLZ: 80452\r\n' 02:02:32.396939 Received DISC (on stdin) 02:02:32.396949 ====> Client forcibly disconnected 02:02:32.397006 Received QUIT (on stdin) 02:02:32.397018 quits 02:02:32.397061 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 661 === End of file server.cmd === Start of file stderr661 URL: ftp://127.0.0.1:35301/ === End of file stderr661 === Start of file valgrind661 ==109918== ==109918== Process terminating with default action of signal 4 (SIGILL) ==109918== Illegal opcode at address 0x48EA16B ==109918== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==109918== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==109918== by 0x48EA16B: Curl_open (url.c:519) ==109918== by 0x4880EEF: curl_easy_init (easy.c:370) ==109918== by 0x10908E: UnknownInlinedFun (lib661.c:39) ==109918== by 0x10908E: main (first.c:220) ==109918== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==109918== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109918== by 0x4A6D258: __tsearch (tsearch.c:337) ==109918== by 0x4A6D258: tsearch (tsearch.c:290) ==109918== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109918== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109918== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109918== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109918== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109918== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109918== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109918== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109918== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109918== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109918== by 0x498986B: setlocale (setlocale.c:337) ==109918== by 0x10904B: main (first.c:160) ==109918== ==109918== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==109918== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109918== by 0x4A6D258: __tsearch (tsearch.c:337) ==109918== by 0x4A6D258: tsearch (tsearch.c:290) ==109918== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109918== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109918== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109918== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109918== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109918== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109918== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109918== by 0x498986B: setlocale (setlocale.c:337) ==109918== by 0x10904B: main (first.c:160) ==109918== ==109918== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==109918== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109918== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109918== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109918== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109918== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109918== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==109918== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==109918== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109918== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109918== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109918== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109918== by 0x498986B: setlocale (setlocale.c:337) ==109918== by 0x10904B: main (first.c:160) ==109918== ==109918== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==109918== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109918== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109918== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==109918== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==109918== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109918== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109918== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109918== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109918== by 0x498986B: setlocale (setlocale.c:337) ==109918== by 0x10904B: main (first.c:160) ==109918== ==109918== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==109918== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==109918== by 0x48EA143: Curl_open (url.c:510) ==109918== by 0x4880EEF: curl_easy_init (easy.c:370) ==109918== by 0x10908E: UnknownInlinedFun (lib661.c:39) ==109918== by 0x10908E: main (first.c:220) ==109918== ==109918== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==109918== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109918== by 0x4A6D258: __tsearch (tsearch.c:337) ==109918== by 0x4A6D258: tsearch (tsearch.c:290) ==109918== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==109918== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109918== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109918== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109918== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109918== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109918== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109918== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109918== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109918== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109918== by 0x498986B: setlocale (setlocale.c:337) ==109918== by 0x10904B: main (first.c:160) ==109918== ==109918== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==109918== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==109918== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==109918== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==109918== by 0x497DBB2: add_alias (gconv_conf.c:178) ==109918== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==109918== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==109918== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==109918== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==109918== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==109918== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==109918== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==109918== by 0x498986B: setlocale (setlocale.c:337) ==109918== by 0x10904B: main (first.c:160) ==109918== === End of file valgrind661 test 0669...[HTTP custom Content-Type with parameter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind669 ../src/curl -q --output log/8/curl669.out --include --trace-ascii log/8/trace669 --trace-config all --trace-time http://127.0.0.1:43803/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/8/stdout669 2> log/8/stderr669 669: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 669 === Start of file http_server.log 02:02:32.762405 ====> Client connect 02:02:32.762467 accept_connection 3 returned 4 02:02:32.762485 accept_connection 3 returned 0 02:02:32.762501 Read 93 bytes 02:02:32.762512 Process 93 bytes request 02:02:32.762527 Got request: GET /verifiedserver HTTP/1.1 02:02:32.762538 Are-we-friendly question received 02:02:32.762563 Wrote request (93 bytes) input to log/8/server.input 02:02:32.762582 Identifying ourselves as friends 02:02:32.762654 Response sent (56 bytes) and written to log/8/server.response 02:02:32.762667 special request received, no persistency 02:02:32.762677 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 669 === End of file server.cmd === Start of fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind666 ./libtest/lib666 http://127.0.0.1:38781/666 > log/2/stdout666 2> log/2/stderr666 ile server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind669 ==110323== ==110323== Process terminating with default action of signal 4 (SIGILL) ==110323== Illegal opcode at address 0x10B08D ==110323== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==110323== by 0x10B08D: main (tool_main.c:232) === End of file valgrind669 test 0666...[HTTP mime post with binary-encoded huge data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind666 ./libtest/lib666 http://127.0.0.1:38781/666 > log/2/stdout666 2> log/2/stderr666 666: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 666 === Start of file http_server.log 02:02:32.573221 ====> Client connect 02:02:32.573253 accept_connection 3 returned 4 02:02:32.573270 accept_connection 3 returned 0 02:02:32.573284 Read 93 bytes 02:02:32.573295 Process 93 bytes request 02:02:32.573310 Got request: GET /verifiedserver HTTP/1.1 02:02:32.573319 Are-we-friendly question received 02:02:32.573366 Wrote request (93 bytes) input to log/2/server.input 02:02:32.573384 Identifying ourselves as friends 02:02:32.573450 Response sent (56 bytes) and written to log/2/server.response 02:02:32.573461 special request received, no persistency 02:02:32.573470 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 666 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr666 URL: http://127.0.0.1:38781/666 === End of file stderr666 === Start of file valgrind666 ==110086== ==110086== Process terminating with default action of signal 4 (SIGILL) ==110086== Illegal opcode at address 0x48EA16B ==110086== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110086== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110086== by 0x48EA16B: Curl_open (url.c:519) ==110086== by 0x4880EEF: curl_easy_init (easy.c:370) ==110086== by 0x10915B: UnknownInlinedFun (lib666.c:52) ==110086== by 0x10915B: main (first.c:220) ==110086== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110086== by 0x4A6D258: __tsearch (tsearch.c:337) ==110086== by 0x4A6D258: tsearch (tsearch.c:290) ==110086== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110086== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110086== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110086== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110086== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110086== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110086== by 0x498986B: setlocale (setlocale.c:337) ==110086== by 0x10906C: main (first.c:160) ==110086== ==110086== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110086== by 0x4A6D258: __tsearch (tsearch.c:337) ==110086== by 0x4A6D258: tsearch (tsearch.c:290) ==110086== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110086== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110086== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110086== by 0x498986B: setlocale (setlocale.c:337) ==110086== by 0x10906C: main (first.c:160) ==110086== ==110086== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110086== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110086== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110086== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110086== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110086== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110086== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110086== by 0x498986B: setlocale (setlocale.c:337) ==110086== by 0x10906C: main (first.c:160) ==110086== ==110086== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110086== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110086== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110086== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110086== by 0x498986B: setlocale (setlocale.c:337) ==110086== by 0x10906C: main (first.c:160) ==110086== ==110086== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110086== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110086== by 0x48EA143: Curl_open (url.c:510) ==110086== by 0x4880EEF: curl_easy_init (easy.c:370) ==110086== by 0x10915B: UnknownInlinedFun (lib666.c:52) ==110086== by 0x10915B: main (first.c:220) ==110086== ==110086== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110086== by 0x4A6D258: __tsearch (tsearch.c:337) ==110086== by 0x4A6D258: tsearch (tsearch.c:290) ==110086== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110086== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110086== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110086== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110086== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110086== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110086== by 0x498986B: setlocale (setlocale.c:337) ==110086== by 0x10906C: main (first.c:160) ==110086== ==110086== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110086== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110086== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110086== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind667 ./libtest/lib667 http://127.0.0.1:36813/667 > log/4/stdout667 2> log/4/stderr667 by 0x497DBB2: add_alias (gconv_conf.c:178) ==110086== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110086== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110086== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110086== by 0x498986B: setlocale (setlocale.c:337) ==110086== by 0x10906C: main (first.c:160) ==110086== === End of file valgrind666 test 0667...[HTTP chunked mimepost using single-byte read callback with encoder] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind667 ./libtest/lib667 http://127.0.0.1:36813/667 > log/4/stdout667 2> log/4/stderr667 667: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 667 === Start of file http_server.log 02:02:32.650929 ====> Client connect 02:02:32.650955 accept_connection 3 returned 4 02:02:32.650968 accept_connection 3 returned 0 02:02:32.650980 Read 93 bytes 02:02:32.650989 Process 93 bytes request 02:02:32.650999 Got request: GET /verifiedserver HTTP/1.1 02:02:32.651007 Are-we-friendly question received 02:02:32.651025 Wrote request (93 bytes) input to log/4/server.input 02:02:32.651038 Identifying ourselves as friends 02:02:32.651093 Response sent (56 bytes) and written to log/4/server.response 02:02:32.651102 special request received, no persistency 02:02:32.651110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 667 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr667 URL: http://127.0.0.1:36813/667 === End of file stderr667 === Start of file valgrind667 ==110179== ==110179== Process terminating with default action of signal 4 (SIGILL) ==110179== Illegal opcode at address 0x48EA16B ==110179== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110179== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110179== by 0x48EA16B: Curl_open (url.c:519) ==110179== by 0x4880EEF: curl_easy_init (easy.c:370) ==110179== by 0x10909A: UnknownInlinedFun (lib667.c:75) ==110179== by 0x10909A: main (first.c:220) ==110179== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110179== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110179== by 0x4A6D258: __tsearch (tsearch.c:337) ==110179== by 0x4A6D258: tsearch (tsearch.c:290) ==110179== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110179== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110179== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110179== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110179== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110179== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110179== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110179== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110179== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110179== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110179== by 0x498986B: setlocale (setlocale.c:337) ==110179== by 0x109056: main (first.c:160) ==110179== ==110179== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110179== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110179== by 0x4A6D258: __tsearch (tsearch.c:337) ==110179== by 0x4A6D258: tsearch (tsearch.c:290) ==110179== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110179== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110179== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110179== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110179== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110179== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110179== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110179== by 0x498986B: setlocale (setlocale.c:337) ==110179== by 0x109056: main (first.c:160) ==110179== ==110179== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110179== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110179== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110179== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110179== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110179== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110179== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110179== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110179== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110179== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110179== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110179== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110179== by 0x498986B: setlocale (setlocale.c:337) ==110179== by 0x109056: main (first.c:160) ==110179== ==110179== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110179== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110179== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110179== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110179== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110179== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110179== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110179== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110179== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110179== by 0x498986B: setlocale (setlocale.c:337) ==110179== by 0x109056: main (first.c:160) ==110179== ==110179== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110179== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110179== by 0x48EA143: Curl_open (url.c:510) ==110179== by 0x4880EEF: curl_easy_init (easy.c:370) ==110179== by 0x10909A: UnknownInlinedFun (lib667.c:75) ==110179== by 0x10909A: main (first.c:220) ==110179== ==110179== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110179== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110179== by 0x4A6D258: __tsearch (tsearch.c:337) ==110179== by 0x4A6D258: tsearch (tsearch.c:290) ==110179== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110179== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110179== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110179== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110179== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110179== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110179== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110179== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110179== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110179== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110179== by 0x498986B: setlocale (setlocale.c:337) ==110179== by 0x109056: main (first.c:160) ==110179== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind668 ./libtest/lib668 http://127.0.0.1:33361/668 log/5/file668.txt > log/5/stdout668 2> log/5/stderr668 ==110179== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110179== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110179== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110179== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110179== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110179== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110179== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110179== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110179== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110179== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110179== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110179== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110179== by 0x498986B: setlocale (setlocale.c:337) ==110179== by 0x109056: main (first.c:160) ==110179== === End of file valgrind667 test 0668...[HTTP mimepost early end of data detection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind668 ./libtest/lib668 http://127.0.0.1:33361/668 log/5/file668.txt > log/5/stdout668 2> log/5/stderr668 668: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 668 === Start of file file668.txt This is data from a file === End of file file668.txt === Start of file http_server.log 02:02:32.712751 ====> Client connect 02:02:32.712794 accept_connection 3 returned 4 02:02:32.712811 accept_connection 3 returned 0 02:02:32.712826 Read 93 bytes 02:02:32.712837 Process 93 bytes request 02:02:32.712853 Got request: GET /verifiedserver HTTP/1.1 02:02:32.712862 Are-we-friendly question received 02:02:32.712886 Wrote request (93 bytes) input to log/5/server.input 02:02:32.712903 Identifying ourselves as friends 02:02:32.712967 Response sent (56 bytes) and written to log/5/server.response 02:02:32.712979 special request received, no persistency 02:02:32.712988 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 668 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file stderr668 URL: http://127.0.0.1:33361/668 === End of file stderr668 === Start of file valgrind668 ==110241== ==110241== Process terminating with default action of signal 4 (SIGILL) ==110241== Illegal opcode at address 0x48EA16B ==110241== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110241== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110241== by 0x48EA16B: Curl_open (url.c:519) ==110241== by 0x4880EEF: curl_easy_init (easy.c:370) ==110241== by 0x1090AD: UnknownInlinedFun (lib668.c:68) ==110241== by 0x1090AD: main (first.c:220) ==110241== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110241== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110241== by 0x4A6D258: __tsearch (tsearch.c:337) ==110241== by 0x4A6D258: tsearch (tsearch.c:290) ==110241== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110241== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110241== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110241== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110241== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110241== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110241== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110241== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110241== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110241== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110241== by 0x498986B: setlocale (setlocale.c:337) ==110241== by 0x109058: main (first.c:160) ==110241== ==110241== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110241== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110241== by 0x4A6D258: __tsearch (tsearch.c:337) ==110241== by 0x4A6D258: tsearch (tsearch.c:290) ==110241== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110241== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110241== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110241== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110241== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110241== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110241== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110241== by 0x498986B: setlocale (setlocale.c:337) ==110241== by 0x109058: main (first.c:160) ==110241== ==110241== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110241== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110241== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110241== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110241== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110241== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110241== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110241== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110241== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110241== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110241== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110241== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110241== by 0x498986B: setlocale (setlocale.c:337) ==110241== by 0x109058: main (first.c:160) ==110241== ==110241== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110241== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110241== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110241== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110241== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110241== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110241== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110241== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110241== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110241== by 0x498986B: setlocale (setlocale.c:337) ==110241== by 0x109058: main (first.c:160) ==110241== ==110241== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110241== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110241== by 0x48EA143: Curl_open (url.c:510) ==110241== by 0x4880EEF: curl_easy_init (easy.c:370) ==110241== by 0x1090AD: UnknownInlinedFun (lib668.c:68) ==110241== by 0x1090AD: main (first.c:220) ==110241== ==110241== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110241== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110241== by 0x4A6D258: __tsearch (tsearch.c:337) ==110241== by 0x4A6D258: tsearch (tsearch.c:290) ==110241== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110241== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110241== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110241== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110241== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110241== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110241== by 0x49EE8FA: __pthread_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind652 ./libtest/lib652 smtp://127.0.0.1:34955/652 > log/12/stdout652 2> log/12/stderr652 once_slow.isra.0 (pthread_once.c:116) ==110241== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110241== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110241== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110241== by 0x498986B: setlocale (setlocale.c:337) ==110241== by 0x109058: main (first.c:160) ==110241== ==110241== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110241== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110241== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110241== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110241== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110241== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110241== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110241== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110241== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110241== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110241== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110241== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110241== by 0x498986B: setlocale (setlocale.c:337) ==110241== by 0x109058: main (first.c:160) ==110241== === End of file valgrind668 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/smtp_server.pid" --logfile "log/12/smtp_server.log" --logdir "log/12" --portfile "log/12/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34955 (log/12/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:34955/verifiedserver" 2>log/12/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 109452 port 34955 * pid smtp => 109452 109452 test 0652...[SMTP with encoded huge mime data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind652 ./libtest/lib652 smtp://127.0.0.1:34955/652 > log/12/stdout652 2> log/12/stderr652 652: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 652 === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 02:02:31.552352 SMTP server listens on port IPv4/34955 02:02:31.552407 logged pid 109452 in log/12/server/smtp_server.pid 02:02:31.552423 Awaiting input 02:02:32.549150 ====> Client connect 02:02:32.549300 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:32.549586 < "EHLO verifiedserver" 02:02:32.549629 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:32.549794 < "HELP" 02:02:32.549828 > "214 WE ROOLZ: 109452[CR][LF]" 02:02:32.549844 return proof we are we 02:02:32.550048 < "QUIT" 02:02:32.550075 > "221 curl ESMTP server signing off[CR][LF]" 02:02:32.550576 MAIN sockfilt said DISC 02:02:32.550601 ====> Client disconnected 02:02:32.550655 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:31.752314 Running IPv4 version 02:02:31.752358 Listening on port 34955 02:02:31.752393 Wrote pid 109467 to log/12/server/smtp_sockfilt.pid 02:02:31.752414 Wrote port 34955 to log/12/server/smtp_server.port 02:02:31.752426 Received PING (on stdin) 02:02:32.749212 ====> Client connect 02:02:32.749431 Received DATA (on stdin) 02:02:32.749453 > 160 bytes data, server => client 02:02:32.749466 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:32.749478 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:32.749489 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:32.749569 < 21 bytes data, client => server 02:02:32.749584 'EHLO verifiedserver\r\n' 02:02:32.749772 Received DATA (on stdin) 02:02:32.749784 > 53 bytes data, server => client 02:02:32.749796 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:32.749851 < 6 bytes data, client => server 02:02:32.749862 'HELP\r\n' 02:02:32.749981 Received DATA (on stdin) 02:02:32.749993 > 22 bytes data, server => client 02:02:32.750003 '214 WE ROOLZ: 109452\r\n' 02:02:32.750101 < 6 bytes data, client => server 02:02:32.750115 'QUIT\r\n' 02:02:32.750214 Received DATA (on stdin) 02:02:32.750225 > 35 bytes data, server => client 02:02:32.750234 '221 curl ESMTP server signing off\r\n' 02:02:32.750666 ====> Client disconnect 02:02:32.750794 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr652 URL: smtp://127.0.0.1:34955/652 === End of file stderr652 === Start of file valgrind652 ==110343== ==110343== Process terminating with default action of signal 4 (SIGILL) ==110343== Illegal opcode at address 0x48EA16B ==110343== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110343== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110343== by 0x48EA16B: Curl_open (url.c:519) ==110343== by 0x4880EEF: curl_easy_init (easy.c:370) ==110343== by 0x10910D: UnknownInlinedFun (lib652.c:50) ==110343== by 0x10910D: main (first.c:220) ==110343== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110343== by 0x4A6D258: __tsearch (tsearch.c:337) ==110343== by 0x4A6D258: tsearch (tsearch.c:290) ==110343== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110343== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110343== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110343== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110343== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110343== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110343== by 0x498986B: setlocale (setlocale.c:337) ==110343== by 0x10906C: main (first.c:160) ==110343== ==110343== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110343== by 0x4A6D258: __tsearch (tsearch.c:337) ==110343== by 0x4A6D258: tsearch (tsearch.c:290) ==110343== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110343== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110343== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110343== by 0x498986B: setlocale (setlocale.c:337) ==110343== by 0x10906C: main (first.c:160) ==110343== ==110343== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110343== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110343== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110343== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110343== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110343== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110343== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:69CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind670 ./libtest/lib670 http://127.0.0.1:43753/670 > log/7/stdout670 2> log/7/stderr670 2) ==110343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110343== by 0x498986B: setlocale (setlocale.c:337) ==110343== by 0x10906C: main (first.c:160) ==110343== ==110343== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110343== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110343== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110343== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110343== by 0x498986B: setlocale (setlocale.c:337) ==110343== by 0x10906C: main (first.c:160) ==110343== ==110343== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110343== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110343== by 0x48EA143: Curl_open (url.c:510) ==110343== by 0x4880EEF: curl_easy_init (easy.c:370) ==110343== by 0x10910D: UnknownInlinedFun (lib652.c:50) ==110343== by 0x10910D: main (first.c:220) ==110343== ==110343== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110343== by 0x4A6D258: __tsearch (tsearch.c:337) ==110343== by 0x4A6D258: tsearch (tsearch.c:290) ==110343== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110343== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110343== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110343== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110343== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110343== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110343== by 0x498986B: setlocale (setlocale.c:337) ==110343== by 0x10906C: main (first.c:160) ==110343== ==110343== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110343== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110343== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110343== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110343== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110343== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110343== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110343== by 0x498986B: setlocale (setlocale.c:337) ==110343== by 0x10906C: main (first.c:160) ==110343== === End of file valgrind652 test 0670...[Request pause from mime read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind670 ./libtest/lib670 http://127.0.0.1:43753/670 > log/7/stdout670 2> log/7/stderr670 670: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 670 === Start of file http_server.log 02:02:32.852226 ====> Client connect 02:02:32.852261 accept_connection 3 returned 4 02:02:32.852277 accept_connection 3 returned 0 02:02:32.852292 Read 93 bytes 02:02:32.852303 Process 93 bytes request 02:02:32.852319 Got request: GET /verifiedserver HTTP/1.1 02:02:32.852328 Are-we-friendly question received 02:02:32.852353 Wrote request (93 bytes) input to log/7/server.input 02:02:32.852371 Identifying ourselves as friends 02:02:32.853197 Response sent (56 bytes) and written to log/7/server.response 02:02:32.853214 special request received, no persistency 02:02:32.853224 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 670 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr670 URL: http://127.0.0.1:43753/670 === End of file stderr670 === Start of file valgrind670 ==110436== ==110436== Process terminating with default action of signal 4 (SIGILL) ==110436== Illegal opcode at address 0x48EA16B ==110436== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110436== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110436== by 0x48EA16B: Curl_open (url.c:519) ==110436== by 0x4880EEF: curl_easy_init (easy.c:370) ==110436== by 0x1092E0: test (lib670.c:127) ==110436== by 0x109076: main (first.c:220) ==110436== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110436== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110436== by 0x4A6D258: __tsearch (tsearch.c:337) ==110436== by 0x4A6D258: tsearch (tsearch.c:290) ==110436== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110436== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110436== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110436== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110436== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110436== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110436== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110436== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110436== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110436== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110436== by 0x498986B: setlocale (setlocale.c:337) ==110436== by 0x109047: main (first.c:160) ==110436== ==110436== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110436== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110436== by 0x4A6D258: __tsearch (tsearch.c:337) ==110436== by 0x4A6D258: tsearch (tsearch.c:290) ==110436== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110436== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110436== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110436== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110436== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110436== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110436== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110436== by 0x498986B: setlocale (setlocale.c:337) ==110436== by 0x109047: main (first.c:160) ==110436== ==110436== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110436== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110436== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110436== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110436== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110436== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110436== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110436== by 0x497DD1F: __gCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind671 ./libtest/lib671 http://127.0.0.1:42929/671 > log/10/stdout671 2> log/10/stderr671 conv_read_conf (gconv_conf.c:480) ==110436== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110436== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110436== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110436== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110436== by 0x498986B: setlocale (setlocale.c:337) ==110436== by 0x109047: main (first.c:160) ==110436== ==110436== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110436== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110436== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110436== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110436== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110436== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110436== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110436== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110436== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110436== by 0x498986B: setlocale (setlocale.c:337) ==110436== by 0x109047: main (first.c:160) ==110436== ==110436== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110436== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110436== by 0x48EA143: Curl_open (url.c:510) ==110436== by 0x4880EEF: curl_easy_init (easy.c:370) ==110436== by 0x1092E0: test (lib670.c:127) ==110436== by 0x109076: main (first.c:220) ==110436== ==110436== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110436== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110436== by 0x4A6D258: __tsearch (tsearch.c:337) ==110436== by 0x4A6D258: tsearch (tsearch.c:290) ==110436== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110436== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110436== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110436== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110436== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110436== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110436== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110436== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110436== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110436== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110436== by 0x498986B: setlocale (setlocale.c:337) ==110436== by 0x109047: main (first.c:160) ==110436== ==110436== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110436== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110436== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110436== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110436== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110436== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110436== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110436== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110436== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110436== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110436== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110436== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110436== by 0x498986B: setlocale (setlocale.c:337) ==110436== by 0x109047: main (first.c:160) ==110436== === End of file valgrind670 test 0671...[Request pause from mime read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind671 ./libtest/lib671 http://127.0.0.1:42929/671 > log/10/stdout671 2> log/10/stderr671 671: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 671 === Start of file http_server.log 02:02:32.970943 ====> Client connect 02:02:32.970976 accept_connection 3 returned 4 02:02:32.970994 accept_connection 3 returned 0 02:02:32.971009 Read 93 bytes 02:02:32.971020 Process 93 bytes request 02:02:32.971034 Got request: GET /verifiedserver HTTP/1.1 02:02:32.971044 Are-we-friendly question received 02:02:32.971068 Wrote request (93 bytes) input to log/10/server.input 02:02:32.971086 Identifying ourselves as friends 02:02:32.971156 Response sent (56 bytes) and written to log/10/server.response 02:02:32.971169 special request received, no persistency 02:02:32.971179 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 671 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr671 URL: http://127.0.0.1:42929/671 === End of file stderr671 === Start of file valgrind671 ==110516== ==110516== Process terminating with default action of signal 4 (SIGILL) ==110516== Illegal opcode at address 0x48EA16B ==110516== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110516== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110516== by 0x48EA16B: Curl_open (url.c:519) ==110516== by 0x4880EEF: curl_easy_init (easy.c:370) ==110516== by 0x1090A9: UnknownInlinedFun (lib670.c:127) ==110516== by 0x1090A9: main (first.c:220) ==110516== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110516== by 0x4A6D258: __tsearch (tsearch.c:337) ==110516== by 0x4A6D258: tsearch (tsearch.c:290) ==110516== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110516== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110516== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110516== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110516== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110516== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110516== by 0x498986B: setlocale (setlocale.c:337) ==110516== by 0x109058: main (first.c:160) ==110516== ==110516== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110516== by 0x4A6D258: __tsearch (tsearch.c:337) ==110516== by 0x4A6D258: tsearch (tsearch.c:290) ==110516== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110516== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110516== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110516== by 0x498986B: setlocale (setlocale.c:337) ==110516== by 0x109058: main (first.c:160) ==110516== ==110516== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110516== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110516== by 0x497DBB2: add_alias2 (gcoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind672 ./libtest/lib672 http://127.0.0.1:39457/672 > log/6/stdout672 2> log/6/stderr672 nv_conf.c:176) ==110516== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110516== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110516== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110516== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110516== by 0x498986B: setlocale (setlocale.c:337) ==110516== by 0x109058: main (first.c:160) ==110516== ==110516== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110516== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110516== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110516== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110516== by 0x498986B: setlocale (setlocale.c:337) ==110516== by 0x109058: main (first.c:160) ==110516== ==110516== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110516== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110516== by 0x48EA143: Curl_open (url.c:510) ==110516== by 0x4880EEF: curl_easy_init (easy.c:370) ==110516== by 0x1090A9: UnknownInlinedFun (lib670.c:127) ==110516== by 0x1090A9: main (first.c:220) ==110516== ==110516== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110516== by 0x4A6D258: __tsearch (tsearch.c:337) ==110516== by 0x4A6D258: tsearch (tsearch.c:290) ==110516== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110516== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110516== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110516== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110516== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110516== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110516== by 0x498986B: setlocale (setlocale.c:337) ==110516== by 0x109058: main (first.c:160) ==110516== ==110516== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110516== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110516== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110516== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110516== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110516== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110516== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110516== by 0x498986B: setlocale (setlocale.c:337) ==110516== by 0x109058: main (first.c:160) ==110516== === End of file valgrind671 test 0672...[Request pause from form read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind672 ./libtest/lib672 http://127.0.0.1:39457/672 > log/6/stdout672 2> log/6/stderr672 672: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 672 === Start of file http_server.log 02:02:32.975070 ====> Client connect 02:02:32.975101 accept_connection 3 returned 4 02:02:32.975116 accept_connection 3 returned 0 02:02:32.975128 Read 93 bytes 02:02:32.975139 Process 93 bytes request 02:02:32.975161 Got request: GET /verifiedserver HTTP/1.1 02:02:32.975170 Are-we-friendly question received 02:02:32.975195 Wrote request (93 bytes) input to log/6/server.input 02:02:32.975212 Identifying ourselves as friends 02:02:32.975274 Response sent (56 bytes) and written to log/6/server.response 02:02:32.975285 special request received, no persistency 02:02:32.975294 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 672 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file stderr672 URL: http://127.0.0.1:39457/672 === End of file stderr672 === Start of file valgrind672 ==110518== ==110518== Process terminating with default action of signal 4 (SIGILL) ==110518== Illegal opcode at address 0x48EA16B ==110518== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110518== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110518== by 0x48EA16B: Curl_open (url.c:519) ==110518== by 0x4880EEF: curl_easy_init (easy.c:370) ==110518== by 0x109300: test (lib670.c:127) ==110518== by 0x109076: main (first.c:220) ==110518== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110518== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110518== by 0x4A6D258: __tsearch (tsearch.c:337) ==110518== by 0x4A6D258: tsearch (tsearch.c:290) ==110518== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110518== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110518== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110518== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110518== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110518== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110518== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110518== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110518== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110518== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110518== by 0x498986B: setlocale (setlocale.c:337) ==110518== by 0x109047: main (first.c:160) ==110518== ==110518== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110518== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110518== by 0x4A6D258: __tsearch (tsearch.c:337) ==110518== by 0x4A6D258: tsearch (tsearch.c:290) ==110518== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110518== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110518== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110518== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110518== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110518== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110518== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110518== by 0x498986B: setlocale (setlocale.c:337) ==110518== by 0x109047: main (first.c:160) ==110518== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind675 ../src/curl -q --output log/9/curl675.out --include --trace-ascii log/9/trace675 --trace-config all --trace-time http://user1:foo1@127.0.0.1:38509/user1/675 http://user2:foo2@127.0.0.1:38509/user2/675 > log/9/stdout675 2> log/9/stderr675 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind673 ./libtest/lib673 http://127.0.0.1:44137/673 > log/11/stdout673 2> log/11/stderr673 ==110518== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110518== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110518== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110518== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110518== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110518== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110518== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110518== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110518== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110518== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110518== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110518== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110518== by 0x498986B: setlocale (setlocale.c:337) ==110518== by 0x109047: main (first.c:160) ==110518== ==110518== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110518== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110518== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110518== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110518== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110518== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110518== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110518== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110518== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110518== by 0x498986B: setlocale (setlocale.c:337) ==110518== by 0x109047: main (first.c:160) ==110518== ==110518== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110518== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110518== by 0x48EA143: Curl_open (url.c:510) ==110518== by 0x4880EEF: curl_easy_init (easy.c:370) ==110518== by 0x109300: test (lib670.c:127) ==110518== by 0x109076: main (first.c:220) ==110518== ==110518== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110518== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110518== by 0x4A6D258: __tsearch (tsearch.c:337) ==110518== by 0x4A6D258: tsearch (tsearch.c:290) ==110518== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110518== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110518== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110518== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110518== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110518== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110518== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110518== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110518== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110518== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110518== by 0x498986B: setlocale (setlocale.c:337) ==110518== by 0x109047: main (first.c:160) ==110518== ==110518== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110518== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110518== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110518== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110518== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110518== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110518== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110518== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110518== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110518== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110518== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110518== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110518== by 0x498986B: setlocale (setlocale.c:337) ==110518== by 0x109047: main (first.c:160) ==110518== === End of file valgrind672 test 0675...[HTTP connection reuse and different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind675 ../src/curl -q --output log/9/curl675.out --include --trace-ascii log/9/trace675 --trace-config all --trace-time http://user1:foo1@127.0.0.1:38509/user1/675 http://user2:foo2@127.0.0.1:38509/user2/675 > log/9/stdout675 2> log/9/stderr675 675: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 675 === Start of file http_server.log 02:02:33.420229 ====> Client connect 02:02:33.420262 accept_connection 3 returned 4 02:02:33.420278 accept_connection 3 returned 0 02:02:33.420293 Read 93 bytes 02:02:33.420303 Process 93 bytes request 02:02:33.420319 Got request: GET /verifiedserver HTTP/1.1 02:02:33.420329 Are-we-friendly question received 02:02:33.420352 Wrote request (93 bytes) input to log/9/server.input 02:02:33.420370 Identifying ourselves as friends 02:02:33.420436 Response sent (56 bytes) and written to log/9/server.response 02:02:33.420447 special request received, no persistency 02:02:33.420457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 675 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind675 ==110805== ==110805== Process terminating with default action of signal 4 (SIGILL) ==110805== Illegal opcode at address 0x10B08D ==110805== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==110805== by 0x10B08D: main (tool_main.c:232) === End of file valgrind675 test 0673...[Request pause from form read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind673 ./libtest/lib673 http://127.0.0.1:44137/673 > log/11/stdout673 2> log/11/stderr673 673: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 673 === Start of file http_server.log 02:02:33.120485 ====> Client connect 02:02:33.120519 accept_connection 3 returned 4 02:02:33.120537 accept_connection 3 returned 0 02:02:33.120551 Read 93 bytes 02:02:33.120563 Process 93 bytes request 02:02:33.120577 Got request: GET /verifiedserver HTTP/1.1 02:02:33.120587 Are-we-friendly question received 02:02:33.120613 Wrote request (93 bytes) input to log/11/server.input 02:02:33.120630 Identifying ourselves as friends 02:02:33.120700 Response sent (56 bytes) and written to log/11/server.response 02:02:33.120713 special request received, no persistency 02:02:33.120723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 673 === End of file server.cmd ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind674 ./libtest/lib674 http://127.0.0.1:34527/674 > log/3/stdout674 2> log/3/stderr674 Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr673 URL: http://127.0.0.1:44137/673 === End of file stderr673 === Start of file valgrind673 ==110624== ==110624== Process terminating with default action of signal 4 (SIGILL) ==110624== Illegal opcode at address 0x48EA16B ==110624== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110624== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110624== by 0x48EA16B: Curl_open (url.c:519) ==110624== by 0x4880EEF: curl_easy_init (easy.c:370) ==110624== by 0x1090B2: UnknownInlinedFun (lib670.c:127) ==110624== by 0x1090B2: main (first.c:220) ==110624== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110624== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110624== by 0x4A6D258: __tsearch (tsearch.c:337) ==110624== by 0x4A6D258: tsearch (tsearch.c:290) ==110624== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110624== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110624== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110624== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110624== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110624== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110624== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110624== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110624== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110624== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110624== by 0x498986B: setlocale (setlocale.c:337) ==110624== by 0x109054: main (first.c:160) ==110624== ==110624== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110624== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110624== by 0x4A6D258: __tsearch (tsearch.c:337) ==110624== by 0x4A6D258: tsearch (tsearch.c:290) ==110624== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110624== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110624== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110624== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110624== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110624== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110624== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110624== by 0x498986B: setlocale (setlocale.c:337) ==110624== by 0x109054: main (first.c:160) ==110624== ==110624== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110624== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110624== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110624== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110624== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110624== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110624== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110624== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110624== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110624== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110624== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110624== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110624== by 0x498986B: setlocale (setlocale.c:337) ==110624== by 0x109054: main (first.c:160) ==110624== ==110624== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110624== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110624== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110624== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110624== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110624== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110624== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110624== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110624== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110624== by 0x498986B: setlocale (setlocale.c:337) ==110624== by 0x109054: main (first.c:160) ==110624== ==110624== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110624== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110624== by 0x48EA143: Curl_open (url.c:510) ==110624== by 0x4880EEF: curl_easy_init (easy.c:370) ==110624== by 0x1090B2: UnknownInlinedFun (lib670.c:127) ==110624== by 0x1090B2: main (first.c:220) ==110624== ==110624== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110624== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110624== by 0x4A6D258: __tsearch (tsearch.c:337) ==110624== by 0x4A6D258: tsearch (tsearch.c:290) ==110624== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110624== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110624== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110624== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110624== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110624== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110624== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110624== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110624== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110624== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110624== by 0x498986B: setlocale (setlocale.c:337) ==110624== by 0x109054: main (first.c:160) ==110624== ==110624== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110624== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110624== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110624== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110624== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110624== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110624== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110624== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110624== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110624== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110624== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110624== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110624== by 0x498986B: setlocale (setlocale.c:337) ==110624== by 0x109054: main (first.c:160) ==110624== === End of file valgrind673 test 0674...[Set CURLOPT_CURLU and dupe the handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind674 ./libtest/lib674 http://127.0.0.1:34527/674 > log/3/stdout674 2> log/3/stderr674 674: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 674 === Start of file http_server.log 02:02:33.155460 ====> Client connect 02:02:33.155488 accept_connection 3 returned 4 02:02:33.155501 accept_connection 3 returned 0 02:02:33.155513 Read 93 bytes 02:02:33.155522 Process 93 bytes request 02:02:33.155533 Got request: GET /verifiedserver HTTP/1.1 02:02:33.155541 Are-we-friendly question received 02:02:33.155559 Wrote request (93 bytes) input to log/3/server.input 02:02:33.155573 Identifying ourselves as friends 02:02:33.155624 Response sent (56 bytes) and written to log/3/server.response 02:02:33.155633 special request received, no persistency 02:02:33.155640 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind679 ../src/curl -q --output log/4/curl679.out --include --trace-ascii log/4/trace679 --trace-config all --trace-time --netrc-optional --netrc-file log/4/netrc679 http://127.0.0.1:36813/ > log/4/stdout679 2> log/4/stderr679 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 674 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr674 URL: http://127.0.0.1:34527/674 === End of file stderr674 === Start of file valgrind674 ==110674== ==110674== Process terminating with default action of signal 4 (SIGILL) ==110674== Illegal opcode at address 0x48EA16B ==110674== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110674== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110674== by 0x48EA16B: Curl_open (url.c:519) ==110674== by 0x4880EEF: curl_easy_init (easy.c:370) ==110674== by 0x109091: UnknownInlinedFun (lib674.c:43) ==110674== by 0x109091: UnknownInlinedFun (lib674.c:34) ==110674== by 0x109091: main (first.c:220) ==110674== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110674== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110674== by 0x4A6D258: __tsearch (tsearch.c:337) ==110674== by 0x4A6D258: tsearch (tsearch.c:290) ==110674== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110674== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110674== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110674== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110674== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110674== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110674== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110674== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110674== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110674== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110674== by 0x498986B: setlocale (setlocale.c:337) ==110674== by 0x10904B: main (first.c:160) ==110674== ==110674== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110674== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110674== by 0x4A6D258: __tsearch (tsearch.c:337) ==110674== by 0x4A6D258: tsearch (tsearch.c:290) ==110674== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110674== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110674== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110674== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110674== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110674== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110674== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110674== by 0x498986B: setlocale (setlocale.c:337) ==110674== by 0x10904B: main (first.c:160) ==110674== ==110674== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110674== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110674== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110674== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110674== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110674== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110674== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110674== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110674== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110674== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110674== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110674== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110674== by 0x498986B: setlocale (setlocale.c:337) ==110674== by 0x10904B: main (first.c:160) ==110674== ==110674== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110674== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110674== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110674== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110674== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110674== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110674== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110674== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110674== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110674== by 0x498986B: setlocale (setlocale.c:337) ==110674== by 0x10904B: main (first.c:160) ==110674== ==110674== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110674== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110674== by 0x48EA143: Curl_open (url.c:510) ==110674== by 0x4880EEF: curl_easy_init (easy.c:370) ==110674== by 0x109091: UnknownInlinedFun (lib674.c:43) ==110674== by 0x109091: UnknownInlinedFun (lib674.c:34) ==110674== by 0x109091: main (first.c:220) ==110674== ==110674== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110674== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110674== by 0x4A6D258: __tsearch (tsearch.c:337) ==110674== by 0x4A6D258: tsearch (tsearch.c:290) ==110674== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110674== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110674== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110674== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110674== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110674== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110674== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110674== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110674== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110674== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110674== by 0x498986B: setlocale (setlocale.c:337) ==110674== by 0x10904B: main (first.c:160) ==110674== ==110674== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110674== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110674== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110674== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110674== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110674== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110674== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110674== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110674== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110674== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110674== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110674== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110674== by 0x498986B: setlocale (setlocale.c:337) ==110674== by 0x10904B: main (first.c:160) ==110674== === End of file valgrind674 test 0679...[netrc with quoted password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind679 ../src/curl -q --output log/4/curl679.out --include --trace-ascii log/4/trace679 --trace-config all --trace-time --netrc-optional --netrc-file log/4/netrc679 http://127.0.0.1:36813/ > log/4/stdout679 2> log/4/stderr679 679: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 679 === Start of file http_server.log 02:02:33.655293 ====> Client connect 02:02:33.655330 accept_connection 3 returned 4 02:02:33.655347 accept_connection 3 returned 0 02:02:33.655585 Read 93 bytes 02:02:33.655601 Process 93 bytes request 02:02:33.655617 Got request: GET /verifiedserver HTTP/1.1 02:02:33.655627 Are-we-friendly question received 02:02:33.655654 Wrote request (93 bytes) input to log/4/server.input 02:02:33.655673 Identifying ourselves as friends 02:02:33.6558CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind680 ../src/curl -q --output log/5/curl680.out --include --trace-ascii log/5/trace680 --trace-config all --trace-time --netrc --netrc-file log/5/netrc680 http://user1@http.example/ > log/5/stdout680 2> log/5/stderr680 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind681 ../src/curl -q --trace-ascii log/12/trace681 --trace-config all --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:40653/681 > log/12/stdout681 2> log/12/stderr681 12 Response sent (56 bytes) and written to log/4/server.response 02:02:33.655824 special request received, no persistency 02:02:33.655834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file netrc679 machine 127.0.0.1 login user1 password "with spaces and \"\n\r\t\a" === End of file netrc679 === Start of file server.cmd Testnum 679 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind679 ==110960== ==110960== Process terminating with default action of signal 4 (SIGILL) ==110960== Illegal opcode at address 0x10B08D ==110960== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==110960== by 0x10B08D: main (tool_main.c:232) === End of file valgrind679 * starts no server test 0680...[netrc with quoted password but missing end quote] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind680 ../src/curl -q --output log/5/curl680.out --include --trace-ascii log/5/trace680 --trace-config all --trace-time --netrc --netrc-file log/5/netrc680 http://user1@http.example/ > log/5/stdout680 2> log/5/stderr680 curl returned 132, when expecting 26 680: exit FAILED == Contents of files in the log/5/ dir after test 680 === Start of file netrc680 machine 127.0.0.1 login user1 password "with spaces and \"\n\r\t\a === End of file netrc680 === Start of file server.cmd Testnum 680 === End of file server.cmd === Start of file valgrind680 ==111016== ==111016== Process terminating with default action of signal 4 (SIGILL) ==111016== Illegal opcode at address 0x10B08D ==111016== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111016== by 0x10B08D: main (tool_main.c:232) === End of file valgrind680 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind676 ./libtest/lib676 http://127.0.0.1:43803/we/want/676 log/8/cookies676 > log/8/stdout676 2> log/8/stderr676 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind660 ./libtest/lib597 imap://127.0.0.1:39155/660 > log/1/stdout660 2> log/1/stderr660 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind682 ../src/curl -q --output log/7/curl682.out --include --trace-ascii log/7/trace682 --trace-config all --trace-time --netrc-optional --netrc-file log/7/netrc682 http://user1@127.0.0.1:43753/ > log/7/stdout682 2> log/7/stderr682 test 0681...[--remote-name-all with --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind681 ../src/curl -q --trace-ascii log/12/trace681 --trace-config all --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:40653/681 > log/12/stdout681 2> log/12/stderr681 681: stdout FAILED: --- log/12/check-expected 2024-12-15 02:02:34.136091637 +0000 +++ log/12/check-generated 2024-12-15 02:02:34.136091637 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/12/ dir after test 681 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file http_server.log 02:02:33.787019 ====> Client connect 02:02:33.787051 accept_connection 3 returned 4 02:02:33.787067 accept_connection 3 returned 0 02:02:33.787081 Read 93 bytes 02:02:33.787091 Process 93 bytes request 02:02:33.787105 Got request: GET /verifiedserver HTTP/1.1 02:02:33.787114 Are-we-friendly question received 02:02:33.787135 Wrote request (93 bytes) input to log/12/server.input 02:02:33.787151 Identifying ourselves as friends 02:02:33.787212 Response sent (56 bytes) and written to log/12/server.response 02:02:33.787222 special request received, no persistency 02:02:33.787231 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 681 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind681 ==111059== ==111059== Process terminating with default action of signal 4 (SIGILL) ==111059== Illegal opcode at address 0x10B08D ==111059== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111059== by 0x10B08D: main (tool_main.c:232) === End of file valgrind681 test 0676...[verify setting CURLOPT_COOKIEFILE to NULL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind676 ./libtest/lib676 http://127.0.0.1:43803/we/want/676 log/8/cookies676 > log/8/stdout676 2> log/8/stderr676 676: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 676 === Start of file cookies676 127.0.0.1 TRUE /we/want/ FALSE 22118138987 proven yes === End of file cookies676 === Start of file http_server.log 02:02:33.406656 ====> Client connect 02:02:33.406689 accept_connection 3 returned 4 02:02:33.406706 accept_connection 3 returned 0 02:02:33.406723 Read 93 bytes 02:02:33.406733 Process 93 bytes request 02:02:33.406748 Got request: GET /verifiedserver HTTP/1.1 02:02:33.406758 Are-we-friendly question received 02:02:33.406783 Wrote request (93 bytes) input to log/8/server.input 02:02:33.406802 Identifying ourselves as friends 02:02:33.406872 Response sent (56 bytes) and written to log/8/server.response 02:02:33.406884 special request received, no persistency 02:02:33.406893 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 676 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr676 URL: http://127.0.0.1:43803/we/want/676 === End of file stderr676 === Start of file valgrind676 ==110797== ==110797== Process terminating with default action of signal 4 (SIGILL) ==110797== Illegal opcode at address 0x48EA16B ==110797== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110797== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110797== by 0x48EA16B: Curl_open (url.c:519) ==110797== by 0x4880EEF: curl_easy_init (easy.c:370) ==110797== by 0x10909A: UnknownInlinedFun (lib676.c:38) ==110797== by 0x10909A: main (first.c:220) ==110797== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110797== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110797== by 0x4A6D258: __tsearch (tsearch.c:337) ==110797== by 0x4A6D258: tsearch (tsearch.c:290) ==110797== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110797== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110797== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110797== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110797== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110797== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110797== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110797== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110797== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110797== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110797== by 0x498986B: setlocale (setlocale.c:337) ==110797== by 0x109047: main (first.c:160) ==110797== ==110797== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110797== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110797== by 0x4A6D258: __tsearch (tsearch.c:337) ==110797== by 0x4A6D258: tsearch (tsearch.c:290) ==110797== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110797== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110797== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110797== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110797== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110797== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110797== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110797== by 0x498986B: setlocale (setlocale.c:337) ==110797== by 0x109047: main (first.c:160) ==110797== ==110797== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110797== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110797== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110797== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110797== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110797== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110797== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110797== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110797== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110797== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110797== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110797== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110797== by 0x498986B: setlocale (setlocale.c:337) ==110797== by 0x109047: main (first.c:160) ==110797== ==110797== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110797== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110797== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110797== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110797== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110797== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110797== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110797== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110797== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110797== by 0x498986B: setlocale (setlocale.c:337) ==110797== by 0x109047: main (first.c:160) ==110797== ==110797== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110797== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110797== by 0x48EA143: Curl_open (url.c:510) ==110797== by 0x4880EEF: curl_easy_init (easy.c:370) ==110797== by 0x10909A: UnknownInlinedFun (lib676.c:38) ==110797== by 0x10909A: main (first.c:220) ==110797== ==110797== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110797== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110797== by 0x4A6D258: __tsearch (tsearch.c:337) ==110797== by 0x4A6D258: tsearch (tsearch.c:290) ==110797== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110797== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110797== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110797== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110797== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110797== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110797== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110797== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110797== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110797== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110797== by 0x498986B: setlocale (setlocale.c:337) ==110797== by 0x109047: main (first.c:160) ==110797== ==110797== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110797== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110797== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110797== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110797== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110797== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110797== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110797== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110797== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110797== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110797== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110797== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110797== by 0x498986B: setlocale (setlocale.c:337) ==110797== by 0x109047: main (first.c:160) ==110797== === End of file valgrind676 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/imap_server.pid" --logfile "log/1/imap_server.log" --logdir "log/1" --portfile "log/1/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39155 (log/1/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:39155/verifiedserver" 2>log/1/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 109828 port 39155 * pid imap => 109828 109828 test 0660...[IMAP CONNECT_ONLY option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind660 ./libtest/lib597 imap://127.0.0.1:39155/660 > log/1/stdout660 2> log/1/stderr660 660: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 660 === Start of file imap_server.log 02:02:32.045972 IMAP server listens on port IPv4/39155 02:02:32.046039 logged pid 109828 in log/1/server/imap_server.pid 02:02:32.046058 Awaiting input 02:02:33.058441 ====> Client connect 02:02:33.058607 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:33.058907 < "A001 CAPABILITY" 02:02:33.058942 > "A001 BAD Command[CR][LF]" 02:02:33.059102 < "A002 LIST "verifiedserver" *" 02:02:33.059134 LIST_imap got "verifiedserver" * 02:02:33.059158 > "* LIST () "/" "WE ROOLZ: 109828"[CR][LF]" 02:02:33.059174 > "A002 OK LIST Completed[CR][LF]" 02:02:33.059187 return proof we are we 02:02:33.102048 < "A003 LOGOUT" 02:02:33.102097 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:33.102114 > "A003 OK LOGOUT completed[CR][LF]" 02:02:33.151718 MAIN sockfilt said DISC 02:02:33.151775 ====> Client disconnected 02:02:33.151846 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:32.245863 Running IPv4 version 02:02:32.245942 Listening on port 39155 02:02:32.245982 Wrote pid 109829 to log/1/server/imap_sockfilt.pid 02:02:32.246012 Wrote port 39155 to log/1/server/imap_server.port 02:02:32.246030 Received PING (on stdin) 02:02:33.258500 ====> Client connect 02:02:33.258752 Received DATA (on stdin) 02:02:33.258765 > 178 bytes data, server => client 02:02:33.258778 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:33.258790 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:33.258801 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:33.258810 'rve\r\n' 02:02:33.258895 < 17 bytes data, client => server 02:02:33.258907 'A001 CAPABILITY\r\n' 02:02:33.259082 Received DATA (on stdin) 02:02:33.259094 > 18 bytes data, server => client 02:02:33.259104 'A001 BAD Command\r\n' 02:02:33.259159 < 30 bytes data, client => server 02:02:33.259170 'A002 LIST "verifiedserver" *\r\n' 02:02:33.259324 Received DATA (on stdin) 02:02:33.259336 > 34 bytes data, server => client 02:02:33.259348 '* LIST () "/" "WE ROOLZ: 109828"\r\n' 02:02:33.259370 Received DATA (on stdin) 02:02:33.259380 > 24 bytes data, server => client 02:02:33.259391 'A002 OK LIST Completed\r\n' 02:02:33.302013 < 13 bytes data, client => server 02:02:33.302039 'A003 LOGOUT\r\n' 02:02:33.302251 Received DATA (on stdin) 02:02:33.302262 > 36 bytes data, server => client 02:02:33.302272 '* BYE curl IMAP server signing off\r\n' 02:02:33.302296 Received DATA (on stdin) 02:02:33.302305 > 26 bytes data, server => client 02:02:33.302316 'A003 OK LOGOUT completed\r\n' 02:02:33.348133 ====> Client disconnect 02:02:33.351988 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 660 === End of file server.cmd === Start of file stderr660 URL: imap://127.0.0.1:39155/660 === End of file stderr660 === Start of file valgrind660 ==110788== ==110788== Process terminating with default action of signal 4 (SIGILL) ==110788== Illegal opcode at address 0x48EA16B ==110788== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==110788== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==110788== by 0x48EA16B: Curl_open (url.c:519) ==110788== by 0x4880EEF: curl_easy_init (easy.c:370) ==110788== by 0x1092F1: test.part.0 (lib597.c:56) ==110788== by 0x10909E: UnknownInlinedFun (lib597.c:54) ==110788== by 0x10909E: main (first.c:220) ==110788== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==110788== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110788== by 0x4A6D258: __tsearch (tsearch.c:337) ==110788== by 0x4A6D258: tsearch (tsearch.c:290) ==110788== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110788== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110788== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110788== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110788== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110788== by 0x497DD1F: __gconv_read_conCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind683 ../src/curl -q --output log/10/curl683.out --include --trace-ascii log/10/trace683 --trace-config all --trace-time --netrc-optional --netrc-file log/10/netrc683 http://user2@127.0.0.1:42929/ > log/10/stdout683 2> log/10/stderr683 f (gconv_conf.c:480) ==110788== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110788== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110788== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110788== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110788== by 0x498986B: setlocale (setlocale.c:337) ==110788== by 0x109047: main (first.c:160) ==110788== ==110788== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==110788== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110788== by 0x4A6D258: __tsearch (tsearch.c:337) ==110788== by 0x4A6D258: tsearch (tsearch.c:290) ==110788== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110788== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110788== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110788== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110788== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110788== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110788== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110788== by 0x498986B: setlocale (setlocale.c:337) ==110788== by 0x109047: main (first.c:160) ==110788== ==110788== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==110788== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110788== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110788== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110788== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110788== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110788== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==110788== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==110788== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110788== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110788== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110788== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110788== by 0x498986B: setlocale (setlocale.c:337) ==110788== by 0x109047: main (first.c:160) ==110788== ==110788== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==110788== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110788== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110788== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==110788== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==110788== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110788== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110788== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110788== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110788== by 0x498986B: setlocale (setlocale.c:337) ==110788== by 0x109047: main (first.c:160) ==110788== ==110788== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==110788== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==110788== by 0x48EA143: Curl_open (url.c:510) ==110788== by 0x4880EEF: curl_easy_init (easy.c:370) ==110788== by 0x1092F1: test.part.0 (lib597.c:56) ==110788== by 0x10909E: UnknownInlinedFun (lib597.c:54) ==110788== by 0x10909E: main (first.c:220) ==110788== ==110788== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==110788== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110788== by 0x4A6D258: __tsearch (tsearch.c:337) ==110788== by 0x4A6D258: tsearch (tsearch.c:290) ==110788== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==110788== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110788== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110788== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110788== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110788== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110788== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110788== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110788== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110788== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110788== by 0x498986B: setlocale (setlocale.c:337) ==110788== by 0x109047: main (first.c:160) ==110788== ==110788== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==110788== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==110788== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==110788== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==110788== by 0x497DBB2: add_alias (gconv_conf.c:178) ==110788== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==110788== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==110788== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==110788== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==110788== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==110788== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==110788== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==110788== by 0x498986B: setlocale (setlocale.c:337) ==110788== by 0x109047: main (first.c:160) ==110788== === End of file valgrind660 test 0682...[netrc with multiple logins - pick first] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind682 ../src/curl -q --output log/7/curl682.out --include --trace-ascii log/7/trace682 --trace-config all --trace-time --netrc-optional --netrc-file log/7/netrc682 http://user1@127.0.0.1:43753/ > log/7/stdout682 2> log/7/stderr682 682: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 682 === Start of file http_server.log 02:02:33.903621 ====> Client connect 02:02:33.903656 accept_connection 3 returned 4 02:02:33.903673 accept_connection 3 returned 0 02:02:33.903688 Read 93 bytes 02:02:33.903699 Process 93 bytes request 02:02:33.903714 Got request: GET /verifiedserver HTTP/1.1 02:02:33.903724 Are-we-friendly question received 02:02:33.903750 Wrote request (93 bytes) input to log/7/server.input 02:02:33.903768 Identifying ourselves as friends 02:02:33.903839 Response sent (56 bytes) and written to log/7/server.response 02:02:33.903852 special request received, no persistency 02:02:33.903862 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file netrc682 machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc682 === Start of file server.cmd Testnum 682 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind682 ==111149== ==111149== Process terminating with default action of signal 4 (SIGILL) ==111149== Illegal opcode at address 0x10B08D ==111149== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111149== by 0x10B08D: main (tool_main.c:232) === End of file valgrind682 test 0683...[netrc with multiple logins - pick second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind683 ../src/curl -q --output log/10/curl683.out --include --trace-ascii logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind684 ../src/curl -q --output log/6/curl684.out --include --trace-ascii log/6/trace684 --trace-config all --trace-time --netrc-optional --netrc-file log/6/netrc684 http://127.0.0.1:39457/ > log/6/stdout684 2> log/6/stderr684 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind686 ../src/curl -q --output log/11/curl686.out --include --trace-ascii log/11/trace686 --trace-config all --trace-time htdhdhdtp://localhost --next > log/11/stdout686 2> log/11/stderr686 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind685 ../src/curl -q --output log/9/curl685.out --include --trace-ascii log/9/trace685 --trace-config all --trace-time --netrc-optional --netrc-file log/9/netrc685 http://user@127.0.0.1:38509/ > log/9/stdout685 2> log/9/stderr685 /10/trace683 --trace-config all --trace-time --netrc-optional --netrc-file log/10/netrc683 http://user2@127.0.0.1:42929/ > log/10/stdout683 2> log/10/stderr683 683: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 683 === Start of file http_server.log 02:02:33.978395 ====> Client connect 02:02:33.978437 accept_connection 3 returned 4 02:02:33.978795 accept_connection 3 returned 0 02:02:33.978821 Read 93 bytes 02:02:33.978833 Process 93 bytes request 02:02:33.978849 Got request: GET /verifiedserver HTTP/1.1 02:02:33.978859 Are-we-friendly question received 02:02:33.978886 Wrote request (93 bytes) input to log/10/server.input 02:02:33.978907 Identifying ourselves as friends 02:02:33.978983 Response sent (56 bytes) and written to log/10/server.response 02:02:33.978997 special request received, no persistency 02:02:33.979007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file netrc683 machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc683 === Start of file server.cmd Testnum 683 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind683 ==111226== ==111226== Process terminating with default action of signal 4 (SIGILL) ==111226== Illegal opcode at address 0x10B08D ==111226== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111226== by 0x10B08D: main (tool_main.c:232) === End of file valgrind683 test 0684...[netrc with no login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind684 ../src/curl -q --output log/6/curl684.out --include --trace-ascii log/6/trace684 --trace-config all --trace-time --netrc-optional --netrc-file log/6/netrc684 http://127.0.0.1:39457/ > log/6/stdout684 2> log/6/stderr684 684: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 684 === Start of file http_server.log 02:02:34.004261 ====> Client connect 02:02:34.004304 accept_connection 3 returned 4 02:02:34.004322 accept_connection 3 returned 0 02:02:34.004337 Read 93 bytes 02:02:34.004349 Process 93 bytes request 02:02:34.004364 Got request: GET /verifiedserver HTTP/1.1 02:02:34.004374 Are-we-friendly question received 02:02:34.004402 Wrote request (93 bytes) input to log/6/server.input 02:02:34.004421 Identifying ourselves as friends 02:02:34.004502 Response sent (56 bytes) and written to log/6/server.response 02:02:34.004516 special request received, no persistency 02:02:34.004526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file netrc684 machine 127.0.0.1 password 5up3r53cr37 === End of file netrc684 === Start of file server.cmd Testnum 684 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind684 ==111261== ==111261== Process terminating with default action of signal 4 (SIGILL) ==111261== Illegal opcode at address 0x10B08D ==111261== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111261== by 0x10B08D: main (tool_main.c:232) === End of file valgrind684 * starts no server test 0686...[verify return code for missing URL after --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind686 ../src/curl -q --output log/11/curl686.out --include --trace-ascii log/11/trace686 --trace-config all --trace-time htdhdhdtp://localhost --next > log/11/stdout686 2> log/11/stderr686 curl returned 132, when expecting 2 686: exit FAILED == Contents of files in the log/11/ dir after test 686 === Start of file server.cmd Testnum 686 === End of file server.cmd === Start of file valgrind686 ==111413== ==111413== Process terminating with default action of signal 4 (SIGILL) ==111413== Illegal opcode at address 0x10B08D ==111413== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111413== by 0x10B08D: main (tool_main.c:232) === End of file valgrind686 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind692 ../src/curl -q --trace-ascii log/12/trace692 --trace-config all --trace-time http://127.0.0.1:40653/ -JO --output-dir log/12 > log/12/stdout692 2> log/12/stderr692 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind691 ../src/curl -q --include --trace-ascii log/5/trace691 --trace-config all --trace-time http://127.0.0.1:33361/path/to/here/ -O --output-dir log/5 > log/5/stdout691 2> log/5/stderr691 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind690 ../src/curl -q --include --trace-ascii log/4/trace690 --trace-config all --trace-time http://127.0.0.1:36813/ -O --output-dir log/4 > log/4/stdout690 2> log/4/stderr690 test 0685...[netrc with no login - provided user] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind685 ../src/curl -q --output log/9/curl685.out --include --trace-ascii log/9/trace685 --trace-config all --trace-time --netrc-optional --netrc-file log/9/netrc685 http://user@127.0.0.1:38509/ > log/9/stdout685 2> log/9/stderr685 685: data FAILED: --- log/9/check-expected 2024-12-15 02:02:34.522765219 +0000 +++ log/9/check-generated 2024-12-15 02:02:34.522765219 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Fri, 05 Aug 2022 10:09:00 GMT[LF] -Server: test-server/fake[LF] -Content-Type: text/plain[LF] -Content-Length: 6[LF] -Connection: close[LF] -[LF] --foo-[LF] == Contents of files in the log/9/ dir after test 685 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Fri, 05 Aug 2022 10:09:00 GMT[LF] Server: test-server/fake[LF] Content-Type: text/plain[LF] Content-Length: 6[LF] Connection: close[LF] [LF] -foo-[LF] === End of file check-expected === Start of file http_server.log 02:02:34.083122 ====> Client connect 02:02:34.083155 accept_connection 3 returned 4 02:02:34.083172 accept_connection 3 returned 0 02:02:34.083186 Read 93 bytes 02:02:34.083196 Process 93 bytes request 02:02:34.083211 Got request: GET /verifiedserver HTTP/1.1 02:02:34.083221 Are-we-friendly question received 02:02:34.083242 Wrote request (93 bytes) input to log/9/server.input 02:02:34.083260 Identifying ourselves as friends 02:02:34.083324 Response sent (56 bytes) and written to log/9/server.response 02:02:34.083336 special request received, no persistency 02:02:34.083345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file netrc685 machine 127.0.0.1 password 5up3r53cr37 === End of file netrc685 === Start of file server.cmd Testnum 685 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind685 ==111358== ==111358== Process terminating with default action of signal 4 (SIGILL) ==111358== Illegal opcode at address 0x10B08D ==111358== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111358== by 0x10B08D: main (tool_main.c:232) === End of file valgrind685 test 0692...[-JO with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind692 ../src/curl -q --trace-ascii log/12/trace692 --trace-config all --trace-time http://127.0.0.1:40653/ -JO --output-dir log/12 > log/12/stdout692 2> log/12/stderr692 692: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 692 === Start of file http_server.log 02:02:34.364440 ====> Client connect 02:02:34.364472 accept_connection 3 returned 4 02:02:34.364488 accept_connection 3 returned 0 02:02:34.364501 Read 93 bytes 02:02:34.364512 Process 93 bytes request 02:02:34.364526 Got request: GET /verifiedserver HTTP/1.1 02:02:34.364535 Are-we-friendly question received 02:02:34.364558 Wrote request (93 bytes) input to log/12/server.input 02:02:34.364575 Identifying ourselves as friends 02:02:34.364639 Response sent (56 bytes) and written to log/12/server.response 02:02:34.364649 special request received, no persistency 02:02:34.364658 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 692 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind692 ==111581== ==111581== Process terminating with default action of signal 4 (SIGILL) ==111581== Illegal opcode at address 0x10B08D ==111581== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111581== by 0x10B08D: main (tool_main.c:232) === End of file valgrind692 test 0691...[-O with URL with path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind691 ../src/curl -q --include --trace-ascii log/5/trace691 --trace-config all --trace-time http://127.0.0.1:33361/path/to/here/ -O --output-dir log/5 > log/5/stdout691 2> log/5/stderr691 691: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 691 === Start of file http_server.log 02:02:34.341268 ====> Client connect 02:02:34.341295 accept_connection 3 returned 4 02:02:34.341312 accept_connection 3 returned 0 02:02:34.341326 Read 93 bytes 02:02:34.341336 Process 93 bytes request 02:02:34.341348 Got request: GET /verifiedserver HTTP/1.1 02:02:34.341362 Are-we-friendly question received 02:02:34.341384 Wrote request (93 bytes) input to log/5/server.input 02:02:34.341400 Identifying ourselves as friends 02:02:34.341462 Response sent (56 bytes) and written to log/5/server.response 02:02:34.341473 special request received, no persistency 02:02:34.341483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 691 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind691 ==111507== ==111507== Process terminating with default action of signal 4 (SIGILL) ==111507== Illegal opcode at address 0x10B08D ==111507== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111507== by 0x10B08D: main (tool_main.c:232) === End of file valgrind691 test 0690...[-O with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind690 ../src/curl -q --include --trace-ascii log/4/trace690 --trace-config all --trace-time http://127.0.0.1:36813/ -O --output-dir log/4 > log/4/stdout690 2> log/4/stderr690 690: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 690 === Start of file http_server.log 02:02:34.339269 ====> Client connect 02:02:34.339302 accept_connection 3 returned 4 02:02:34.339318 accepCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind704 ../src/curl -q --output log/6/curl704.out --include --trace-ascii log/6/trace704 --trace-config all --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:39457/704 > log/6/stdout704 2> log/6/stderr704 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind705 ../src/curl -q --output log/11/curl705.out --include --trace-ascii log/11/trace705 --trace-config all --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:44137/705 > log/11/stdout705 2> log/11/stderr705 CMD (0): ../src/curl --max-time 13 --output log/3/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:43265/verifiedserver" 2>log/3/rtsp_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind677 ./libtest/lib677 imap://127.0.0.1:41219/677 > log/2/stdout677 2> log/2/stderr677 t_connection 3 returned 0 02:02:34.339333 Read 93 bytes 02:02:34.339346 Process 93 bytes request 02:02:34.339359 Got request: GET /verifiedserver HTTP/1.1 02:02:34.339369 Are-we-friendly question received 02:02:34.339391 Wrote request (93 bytes) input to log/4/server.input 02:02:34.339408 Identifying ourselves as friends 02:02:34.339470 Response sent (56 bytes) and written to log/4/server.response 02:02:34.339480 special request received, no persistency 02:02:34.339489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 690 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind690 ==111502== ==111502== Process terminating with default action of signal 4 (SIGILL) ==111502== Illegal opcode at address 0x10B08D ==111502== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111502== by 0x10B08D: main (tool_main.c:232) === End of file valgrind690 test 0704...[Attempt connect to non-listening SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind704 ../src/curl -q --output log/6/curl704.out --include --trace-ascii log/6/trace704 --trace-config all --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:39457/704 > log/6/stdout704 2> log/6/stderr704 curl returned 132, when expecting 7 704: exit FAILED == Contents of files in the log/6/ dir after test 704 === Start of file http_server.log 02:02:34.556412 ====> Client connect 02:02:34.556448 accept_connection 3 returned 4 02:02:34.556464 accept_connection 3 returned 0 02:02:34.556477 Read 93 bytes 02:02:34.556487 Process 93 bytes request 02:02:34.556501 Got request: GET /verifiedserver HTTP/1.1 02:02:34.556510 Are-we-friendly question received 02:02:34.556534 Wrote request (93 bytes) input to log/6/server.input 02:02:34.556549 Identifying ourselves as friends 02:02:34.556614 Response sent (56 bytes) and written to log/6/server.response 02:02:34.556624 special request received, no persistency 02:02:34.556633 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 704 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind704 ==111710== ==111710== Process terminating with default action of signal 4 (SIGILL) ==111710== Illegal opcode at address 0x10B08D ==111710== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111710== by 0x10B08D: main (tool_main.c:232) === End of file valgrind704 test 0705...[Attempt connect to non-listening SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind705 ../src/curl -q --output log/11/curl705.out --include --trace-ascii log/11/trace705 --trace-config all --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:44137/705 > log/11/stdout705 2> log/11/stderr705 curl returned 132, when expecting 7 705: exit FAILED == Contents of files in the log/11/ dir after test 705 === Start of file http_server.log 02:02:34.746673 ====> Client connect 02:02:34.746700 accept_connection 3 returned 4 02:02:34.746715 accept_connection 3 returned 0 02:02:34.746727 Read 93 bytes 02:02:34.746736 Process 93 bytes request 02:02:34.746748 Got request: GET /verifiedserver HTTP/1.1 02:02:34.746756 Are-we-friendly question received 02:02:34.746774 Wrote request (93 bytes) input to log/11/server.input 02:02:34.746788 Identifying ourselves as friends 02:02:34.746839 Response sent (56 bytes) and written to log/11/server.response 02:02:34.746847 special request received, no persistency 02:02:34.746855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 705 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind705 ==111850== ==111850== Process terminating with default action of signal 4 (SIGILL) ==111850== Illegal opcode at address 0x10B08D ==111850== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==111850== by 0x10B08D: main (tool_main.c:232) === End of file valgrind705 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/imap_server.pid" --logfile "log/2/imap_server.log" --logdir "log/2" --portfile "log/2/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41219 (log/2/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:41219/verifiedserver" 2>log/2/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 110936 port 41219 * pid imap => 110936 110936 test 0677...[IMAP with CONNECT_ONLY, custom command then exit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind677 ./libtest/lib677 imap://127.0.0.1:41219/677 > log/2/stdout677 2> log/2/stderr677 677: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 677 === Start of file imap_server.log 02:02:33.399815 IMAP server listens on port IPv4/41219 02:02:33.399902 logged pid 110936 in log/2/server/imap_server.pid 02:02:33.399930 Awaiting input 02:02:34.379130 ====> Client connect 02:02:34.379285 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:34.379574 < "A001 CAPABILITY" 02:02:34.379609 > "A001 BAD Command[CR][LF]" 02:02:34.379775 < "A002 LIST "verifiedserver" *" 02:02:34.379804 LIST_imap got "verifiedserver" * 02:02:34.379827 > "* LIST () "/" "WE ROOLZ: 110936"[CR][LF]" 02:02:34.379844 > "A002 OK LIST Completed[CR][LF]" 02:02:34.379856 return proof we are we 02:02:34.425390 < "A003 LOGOUT" 02:02:34.425446 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:34.425464 > "A003 OK LOGOUT completed[CR][LF]" 02:02:34.469025 MAIN sockfilt said DISC 02:02:34.469074 ====> Client disconnected 02:02:34.469134 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:33.599554 Running IPv4 version 02:02:33.599650 Listening on port 41219 02:02:33.599692 Wrote pid 110938 to log/2/server/imap_sockfilt.pid 02:02:33.599724 Wrote port 41219 to log/2/server/imap_server.port 02:02:33.599862 Received PING (on stdin) 02:02:34.579192 ====> Client connect 02:02:34.579432 Received DATA (on stdin) 02:02:34.579444 > 178 bytes data, server => client 02:02:34.579457 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:34.579468 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:34.579479 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:34.579489 'rve\r\n' 02:02:34.579560 < 17 bytes data, client => server 02:02:34.579572 'A001 CAPABILITY\r\n' 02:02:34.579749 Received DATA (on stdin) 02:02:34.579761 > 18 bytes data, server => client 02:02:34.579771 'A001 BAD Command\r\n' 02:02:34.579830 < 30 bytes data, client => server 02:02:34.579841 'A002 LIST "verifiedserver" *\r\n' 02:02:34.579993 Received DATA (on stdin) 02:02:34.580005 > 34 bytes data, server => client 02:02:34.580015 '* LIST () "/" "WE ROOLZ: 110936"\r\n' 02:02:34.580039 Received DATA (on stdin) 02:02:34.580048 > 24 bytes data, server => client 02:02:34.580059 'A002 OK LIST Completed\r\n' 02:02:34.625371 < 13 bytes data, client => server 02:02:34.625399 'A003 LOGOUT\r\n' 02:02:34.625603 Received DATA (on stdin) 02:02:34.625625 > 36 bytes data, server => client 02:02:34.625637 '* BYE curl IMAP server signing off\r\n' 02:02:34.625667 Received DATA (on stdin) 02:02:34.625678 > 26 bytes data, server => client 02:02:34.625689 'A003 OK LOGOUT completed\r\n' 02:02:34.669086 ====> Client disconnect 02:02:34.669270 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 677 === End of file server.cmd === Start of file stderr677 URL: imap://127.0.0.1:41219/677 === End of file stderr677 === Start of file valgrind677 ==111772== ==111772== Process terminating with default action of signal 4 (SIGILL) ==111772== Illegal opcode at address 0x48EA16B ==111772== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==111772== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==111772== by 0x48EA16B: Curl_open (url.c:519) ==111772== by 0x4880EEF: curl_easy_init (easy.c:370) ==111772== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==111772== by 0x48BF363: Curl_multi_handle (multi.c:416) ==111772== by 0x1090B0: UnknownInlinedFun (lib677.c:45) ==111772== by 0x1090B0: main (first.c:220) ==111772== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==111772== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==111772== by 0x4A6D258: __tsearch (tsearch.c:337) ==111772== by 0x4A6D258: tsearch (tsearch.c:290) ==111772== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==111772== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==111772== by 0x497DBB2: add_alias (gconv_conf.c:178) ==111772== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==111772== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==111772== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==111772== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==111772== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==111772== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==111772== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==111772== by 0x498986B: setlocale (setlocale.c:337) ==111772== by 0x109058: main (first.c:160) ==111772== ==111772== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==111772== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==111772== by 0x4A6D258: __tsearch (tsearch.c:337) ==111772== by 0x4A6D258: tsearch (tsearch.c:290) ==111772== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==111772== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==111772== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==111772== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==111772== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==111772== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==111772== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==111772== by 0x498986B: setlocale (setlocale.c:337) ==111772== by 0x109058: main (first.c:160) ==111772== ==111772== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==111772== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==111772== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==111772== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==111772== by 0x497DBB2: add_alias (gconv_conf.c:178) ==111772== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==111772== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==111772== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==111772== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==111772== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==111772== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==111772== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==111772== by 0x498986B: setlocale (setlocale.c:337) ==111772== by 0x109058: main (first.c:160) ==111772== ==111772== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==111772== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==111772== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==111772== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==111772== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==111772== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==111772== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==111772== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==111772== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==111772== by 0x498986B: setlocale (setlocale.c:337) ==111772== by 0x109058: main (first.c:160) ==111772== ==111772== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==111772== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==111772== by 0x48EA143: Curl_open (url.c:510) ==111772== by 0x4880EEF: curl_easy_init (easy.c:370) ==111772== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==111772== by 0x48BF363: Curl_multi_handle (multi.c:416) ==111772== by 0x1090B0: UnknownInlinedFun (lib677.c:45) ==111772== by 0x1090B0: main (first.c:220) ==111772== ==111772== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==111772== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==111772== by 0x4A6D258: __tsearch (tsearch.c:337) ==111772== by 0x4A6D258: tsearch (tsearch.c:290) ==111772== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==111772== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==111772== by 0x497DBB2: add_alias (gconv_conf.c:178) ==111772== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==111772== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==111772== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==111772== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==111772== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==111772== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==111772== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==111772== by 0x498986B: setlocale (setlocale.c:337) ==111772== by 0x109058: main (first.c:160) ==111772== ==111772== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==111772== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==111772== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==111772== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==111772== by 0x497DBB2: add_alias (gconv_conf.c:178) ==111772== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==111772== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind700 ../src/curl -q --output log/8/curl700.out --include --trace-ascii log/8/trace700 --trace-config all --trace-time --socks4 127.0.0.1:36873 http://127.0.0.1:43803/700 > log/8/stdout700 2> log/8/stderr700 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind703 ../src/curl -q --output log/10/curl703.out --include --trace-ascii log/10/trace703 --trace-config all --trace-time --socks5 127.0.0.1:40449 http://127.0.0.1:47 > log/10/stdout703 2> log/10/stderr703 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind689 ./libtest/lib567 rtsp://127.0.0.1:43265/689 > log/3/stdout689 2> log/3/stderr689 by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==111772== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==111772== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==111772== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==111772== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==111772== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==111772== by 0x498986B: setlocale (setlocale.c:337) ==111772== by 0x109058: main (first.c:160) ==111772== === End of file valgrind677 startnew: server/socksd --port 0 --pidfile log/8/server/socks_server.pid --portfile log/8/server/socks_server.port --reqfile log/8/socksd-request.log --logfile log/8/socks_server.log --backend 127.0.0.1 --config log/8/server.cmd RUN: SOCKS server is now running PID 111688 * pid socks => 111688 111688 test 0700...[HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind700 ../src/curl -q --output log/8/curl700.out --include --trace-ascii log/8/trace700 --trace-config all --trace-time --socks4 127.0.0.1:36873 http://127.0.0.1:43803/700 > log/8/stdout700 2> log/8/stderr700 700: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 700 === Start of file http_server.log 02:02:34.518236 ====> Client connect 02:02:34.518270 accept_connection 3 returned 4 02:02:34.518287 accept_connection 3 returned 0 02:02:34.518300 Read 93 bytes 02:02:34.518311 Process 93 bytes request 02:02:34.518325 Got request: GET /verifiedserver HTTP/1.1 02:02:34.518334 Are-we-friendly question received 02:02:34.518356 Wrote request (93 bytes) input to log/8/server.input 02:02:34.518374 Identifying ourselves as friends 02:02:34.518443 Response sent (56 bytes) and written to log/8/server.response 02:02:34.518454 special request received, no persistency 02:02:34.518463 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 700 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file socks_server.log 02:02:34.522993 Running IPv4 version 02:02:34.523046 Listening on port 36873 02:02:34.523083 Wrote pid 111688 to log/8/server/socks_server.pid 02:02:34.523116 Wrote port 36873 to log/8/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 ==112118== ==112118== Process terminating with default action of signal 4 (SIGILL) ==112118== Illegal opcode at address 0x10B08D ==112118== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112118== by 0x10B08D: main (tool_main.c:232) === End of file valgrind700 startnew: server/socksd --port 0 --pidfile log/10/server/socks_server.pid --portfile log/10/server/socks_server.port --reqfile log/10/socksd-request.log --logfile log/10/socks_server.log --backend 127.0.0.1 --config log/10/server.cmd RUN: SOCKS server is now running PID 111691 * pid socks => 111691 111691 test 0703...[Attempt connect to non-listening HTTP server via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind703 ../src/curl -q --output log/10/curl703.out --include --trace-ascii log/10/trace703 --trace-config all --trace-time --socks5 127.0.0.1:40449 http://127.0.0.1:47 > log/10/stdout703 2> log/10/stderr703 curl returned 132, when expecting 97 703: exit FAILED == Contents of files in the log/10/ dir after test 703 === Start of file server.cmd response 1 Testnum 703 === End of file server.cmd === Start of file socks_server.log 02:02:34.528058 Running IPv4 version 02:02:34.528108 Listening on port 40449 02:02:34.528141 Wrote pid 111691 to log/10/server/socks_server.pid 02:02:34.528169 Wrote port 40449 to log/10/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 ==112087== ==112087== Process terminating with default action of signal 4 (SIGILL) ==112087== Illegal opcode at address 0x10B08D ==112087== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112087== by 0x10B08D: main (tool_main.c:232) === End of file valgrind703 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/3/server/rtsp_server.pid" --portfile "log/3/server/rtsp_server.port" --logfile "log/3/rtsp_server.log" --logdir "log/3" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/3/rtsp_verify.out --silent --verbose --globoff "http://127.0.0.1:43265/verifiedserver" 2>log/3/rtsp_verify.log RUN: RTSP server PID 111425 port 43265 * pid rtsp => 111425 111425 test 0689...[fuzzing crash issue #12701] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind689 ./libtest/lib567 rtsp://127.0.0.1:43265/689 > log/3/stdout689 2> log/3/stderr689 689: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 689 === Start of file rtsp_server.log 02:02:34.209142 Running IPv4 version on port 43265 02:02:34.209232 Wrote pid 111425 to log/3/server/rtsp_server.pid 02:02:34.209268 Wrote port 43265 to log/3/server/rtsp_server.port 02:02:35.215729 ====> Client connect 02:02:35.215757 Read 93 bytes 02:02:35.215770 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:43265 User-Agent: curl/8.11.1 Accept: */* ] 02:02:35.215793 Got request: GET /verifiedserver HTTP/1.1 02:02:35.215803 Are-we-friendly question received 02:02:35.215840 Wrote request (93 bytes) input to log/3/server.input 02:02:35.215863 Send response number -2 part 0 02:02:35.215875 Identifying ourselves as friends 02:02:35.215922 Sent off 69 bytes 02:02:35.215944 Response sent (69 bytes) and written to log/3/server.response 02:02:35.215955 special request received, no persistency 02:02:35.215965 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:43265... * Connected to 127.0.0.1 (127.0.0.1) port 43265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43265 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 111425 === End of file rtsp_verify.out === Start of file server.cmd Testnum 689 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 111425 === End of file server.response === Start of file stderr689 URL: rtsp://127.0.0.1:43265/689 === End of file stderr689 === Start of file valgrind689 ==112002== ==112002== Process terminating with default action of signal 4 (SIGILL) ==112002== Illegal opcode at address 0x48EA16B ==112002== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==112002== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==112002== by 0x48EA16B: Curl_open (url.c:519) ==112002== by 0x4880EEF: curl_easy_init (easy.c:370) ==112002== by 0x10908E: UCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind701 ../src/curl -q --output log/7/curl701.out --include --trace-ascii log/7/trace701 --trace-config all --trace-time --socks5 127.0.0.1:35607 http://127.0.0.1:43753/701 > log/7/stdout701 2> log/7/stderr701 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind702 ../src/curl -q --output log/1/curl702.out --include --trace-ascii log/1/trace702 --trace-config all --trace-time --socks4 127.0.0.1:33393 http://127.0.0.1:47 > log/1/stdout702 2> log/1/stderr702 nknownInlinedFun (lib567.c:42) ==112002== by 0x10908E: main (first.c:220) ==112002== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==112002== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==112002== by 0x4A6D258: __tsearch (tsearch.c:337) ==112002== by 0x4A6D258: tsearch (tsearch.c:290) ==112002== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==112002== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==112002== by 0x497DBB2: add_alias (gconv_conf.c:178) ==112002== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==112002== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==112002== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==112002== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==112002== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==112002== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==112002== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==112002== by 0x498986B: setlocale (setlocale.c:337) ==112002== by 0x10904B: main (first.c:160) ==112002== ==112002== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==112002== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==112002== by 0x4A6D258: __tsearch (tsearch.c:337) ==112002== by 0x4A6D258: tsearch (tsearch.c:290) ==112002== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==112002== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==112002== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==112002== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==112002== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==112002== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==112002== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==112002== by 0x498986B: setlocale (setlocale.c:337) ==112002== by 0x10904B: main (first.c:160) ==112002== ==112002== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==112002== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==112002== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==112002== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==112002== by 0x497DBB2: add_alias (gconv_conf.c:178) ==112002== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==112002== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==112002== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==112002== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==112002== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==112002== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==112002== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==112002== by 0x498986B: setlocale (setlocale.c:337) ==112002== by 0x10904B: main (first.c:160) ==112002== ==112002== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==112002== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==112002== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==112002== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==112002== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==112002== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==112002== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==112002== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==112002== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==112002== by 0x498986B: setlocale (setlocale.c:337) ==112002== by 0x10904B: main (first.c:160) ==112002== ==112002== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==112002== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==112002== by 0x48EA143: Curl_open (url.c:510) ==112002== by 0x4880EEF: curl_easy_init (easy.c:370) ==112002== by 0x10908E: UnknownInlinedFun (lib567.c:42) ==112002== by 0x10908E: main (first.c:220) ==112002== ==112002== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==112002== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==112002== by 0x4A6D258: __tsearch (tsearch.c:337) ==112002== by 0x4A6D258: tsearch (tsearch.c:290) ==112002== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==112002== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==112002== by 0x497DBB2: add_alias (gconv_conf.c:178) ==112002== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==112002== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==112002== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==112002== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==112002== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==112002== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==112002== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==112002== by 0x498986B: setlocale (setlocale.c:337) ==112002== by 0x10904B: main (first.c:160) ==112002== ==112002== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==112002== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==112002== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==112002== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==112002== by 0x497DBB2: add_alias (gconv_conf.c:178) ==112002== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==112002== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==112002== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==112002== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==112002== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==112002== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==112002== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==112002== by 0x498986B: setlocale (setlocale.c:337) ==112002== by 0x10904B: main (first.c:160) ==112002== === End of file valgrind689 startnew: server/socksd --port 0 --pidfile log/1/server/socks_server.pid --portfile log/1/server/socks_server.port --reqfile log/1/socksd-request.log --logfile log/1/socks_server.log --backend 127.0.0.1 --config log/1/server.cmd RUN: SOCKS server is now running PID 111657 * pid socks => 111657 111657 test 0702...[Attempt connect to non-listening HTTP server via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind702 ../src/curl -q --output log/1/curl702.out --include --trace-ascii log/1/trace702 --trace-config all --trace-time --socks4 127.0.0.1:33393 http://127.0.0.1:47 > log/1/stdout702 2> log/1/stderr702 curl returned 132, when expecting 97 702: exit FAILED == Contents of files in the log/1/ dir after test 702 === Start of file server.cmd response 91 Testnum 702 === End of file server.cmd === Start of file socks_server.log 02:02:34.503822 Running IPv4 version 02:02:34.503882 Listening on port 33393 02:02:34.503917 Wrote pid 111657 to log/1/server/socks_server.pid 02:02:34.503950 Wrote port 33393 to log/1/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 ==112066== ==112066== Process terminating with default action of signal 4 (SIGILL) ==112066== Illegal opcode at address 0x10B08D ==112066== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112066== by 0x10B08D: main (tool_main.c:232) === End of file valgrind702 startnew: server/socksd --port 0 --pidfile log/7/server/socks_server.pid --portfile log/7/server/socks_server.port --reqfile log/7/socksd-request.log --logfile log/7/socks_server.log --backend 127.0.0.1 --config log/7/server.cmd RUN: SOCKS server is now running PID 111690 * pid socks => 111690 111690 test 0701...[HTTP GET via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind701 ../src/curl -q --output log/7/curl701.out --include --trace-aCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind706 ../src/curl -q --output log/9/curl706.out --include --trace-ascii log/9/trace706 --trace-config all --trace-time --socks4 127.0.0.1:42689 ftp://127.0.0.1:35301/ > log/9/stdout706 2> log/9/stderr706 scii log/7/trace701 --trace-config all --trace-time --socks5 127.0.0.1:35607 http://127.0.0.1:43753/701 > log/7/stdout701 2> log/7/stderr701 701: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 701 === Start of file http_server.log 02:02:34.519956 ====> Client connect 02:02:34.519986 accept_connection 3 returned 4 02:02:34.520002 accept_connection 3 returned 0 02:02:34.520015 Read 93 bytes 02:02:34.520026 Process 93 bytes request 02:02:34.520038 Got request: GET /verifiedserver HTTP/1.1 02:02:34.520049 Are-we-friendly question received 02:02:34.520073 Wrote request (93 bytes) input to log/7/server.input 02:02:34.520091 Identifying ourselves as friends 02:02:34.520156 Response sent (56 bytes) and written to log/7/server.response 02:02:34.520167 special request received, no persistency 02:02:34.520176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 701 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file socks_server.log 02:02:34.525403 Running IPv4 version 02:02:34.525456 Listening on port 35607 02:02:34.525486 Wrote pid 111690 to log/7/server/socks_server.pid 02:02:34.525523 Wrote port 35607 to log/7/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 ==112088== ==112088== Process terminating with default action of signal 4 (SIGILL) ==112088== Illegal opcode at address 0x10B08D ==112088== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112088== by 0x10B08D: main (tool_main.c:232) === End of file valgrind701 startnew: server/socksd --port 0 --pidfile log/9/server/socks_server.pid --portfile log/9/server/socks_server.port --reqfile log/9/socksd-request.log --logfile log/9/socks_server.log --backend 127.0.0.1 --config log/9/server.cmd RUN: SOCKS server is now running PID 111900 * pid socks => 111900 111900 test 0706...[FTP dir list PASV via SOCKS4] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind706 ../src/curl -q --output log/9/curl706.out --include --trace-ascii log/9/trace706 --trace-config all --trace-time --socks4 127.0.0.1:42689 ftp://127.0.0.1:35301/ > log/9/stdout706 2> log/9/stderr706 706: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 706 === Start of file ftp_server.log 02:02:34.552861 ====> Client connect 02:02:34.552993 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:34.553409 < "USER anonymous" 02:02:34.553444 > "331 We are happy you popped in![CR][LF]" 02:02:34.553778 < "PASS ftp@example.com" 02:02:34.553806 > "230 Welcome you silly person[CR][LF]" 02:02:34.554006 < "PWD" 02:02:34.554041 > "257 "/" is current directory[CR][LF]" 02:02:34.554200 < "EPSV" 02:02:34.554222 ====> Passive DATA channel requested by client 02:02:34.554234 DATA sockfilt for passive data channel starting... 02:02:34.555639 DATA sockfilt for passive data channel started (pid 111851) 02:02:34.555743 DATA sockfilt for passive data channel listens on port 44089 02:02:34.555782 > "229 Entering Passive Mode (|||44089|)[LF]" 02:02:34.555801 Client has been notified that DATA conn will be accepted on port 44089 02:02:34.556038 Client connects to port 44089 02:02:34.556068 ====> Client established passive DATA connection on port 44089 02:02:34.556129 < "TYPE I" 02:02:34.556158 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:34.556305 < "SIZE verifiedserver" 02:02:34.556342 > "213 17[CR][LF]" 02:02:34.556504 < "RETR verifiedserver" 02:02:34.556539 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:34.556617 =====> Closing passive DATA connection... 02:02:34.556634 Server disconnects passive DATA connection 02:02:34.556781 Server disconnected passive DATA connection 02:02:34.556812 DATA sockfilt for passive data channel quits (pid 111851) 02:02:34.557008 DATA sockfilt for passive data channel quit (pid 111851) 02:02:34.557033 =====> Closed passive DATA connection 02:02:34.557055 > "226 File transfer complete[CR][LF]" 02:02:34.598632 < "QUIT" 02:02:34.598680 > "221 bye bye baby[CR][LF]" 02:02:34.599320 MAIN sockfilt said DISC 02:02:34.599344 ====> Client disconnected 02:02:34.599402 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:34.752906 ====> Client connect 02:02:34.753131 Received DATA (on stdin) 02:02:34.753155 > 160 bytes data, server => client 02:02:34.753173 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:34.753185 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:34.753196 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:34.753272 < 16 bytes data, client => server 02:02:34.753292 'USER anonymous\r\n' 02:02:34.753710 Received DATA (on stdin) 02:02:34.753726 > 33 bytes data, server => client 02:02:34.753739 '331 We are happy you popped in!\r\n' 02:02:34.753814 < 22 bytes data, client => server 02:02:34.753830 'PASS ftp@example.com\r\n' 02:02:34.753953 Received DATA (on stdin) 02:02:34.753966 > 30 bytes data, server => client 02:02:34.753977 '230 Welcome you silly person\r\n' 02:02:34.754047 < 5 bytes data, client => server 02:02:34.754066 'PWD\r\n' 02:02:34.754183 Received DATA (on stdin) 02:02:34.754195 > 30 bytes data, server => client 02:02:34.754206 '257 "/" is current directory\r\n' 02:02:34.754262 < 6 bytes data, client => server 02:02:34.754273 'EPSV\r\n' 02:02:34.755948 Received DATA (on stdin) 02:02:34.755962 > 38 bytes data, server => client 02:02:34.755973 '229 Entering Passive Mode (|||44089|)\n' 02:02:34.756101 < 8 bytes data, client => server 02:02:34.756118 'TYPE I\r\n' 02:02:34.756281 Received DATA (on stdin) 02:02:34.756295 > 33 bytes data, server => client 02:02:34.756307 '200 I modify TYPE as you wanted\r\n' 02:02:34.756358 < 21 bytes data, client => server 02:02:34.756371 'SIZE verifiedserver\r\n' 02:02:34.756483 Received DATA (on stdin) 02:02:34.756496 > 8 bytes data, server => client 02:02:34.756506 '213 17\r\n' 02:02:34.756558 < 21 bytes data, client => server 02:02:34.756571 'RETR verifiedserver\r\n' 02:02:34.756722 Received DATA (on stdin) 02:02:34.756740 > 29 bytes data, server => client 02:02:34.756751 '150 Binary junk (17 bytes).\r\n' 02:02:34.757191 Received DATA (on stdin) 02:02:34.757202 > 28 bytes data, server => client 02:02:34.757211 '226 File transfer complete\r\n' 02:02:34.798600 < 6 bytes data, client => server 02:02:34.798625 'QUIT\r\n' 02:02:34.798824 Received DATA (on stdin) 02:02:34.798838 > 18 bytes data, server => client 02:02:34.798850 '221 bye bye baby\r\n' 02:02:34.799418 ====> Client disconnect 02:02:34.799535 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:34.755613 Running IPv4 version 02:02:34.755666 Listening on port 44089 02:02:34.755703 Wrote pid 111851 to log/9/server/ftp_sockdata.pid 02:02:34.755721 Received PING (on stdin) 02:02:34.755800 Received PORT (on stdin) 02:02:34.756125 ====> Client connect 02:02:34.756777 Received DATA (on stdin) 02:02:34.756791 > 17 bytes data, server => client 02:02:34.756803 'WE ROOLZ: 80452CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind709 ../src/curl -q --output log/4/curl709.out --include --trace-ascii log/4/trace709 --trace-config all --trace-time http://127.0.0.1:36813/709 > log/4/stdout709 2> log/4/stderr709 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind707 ../src/curl -q --output log/12/curl707.out --include --trace-ascii log/12/trace707 --trace-config all --trace-time --socks5 127.0.0.1:38367 ftp://127.0.0.1:40171/ > log/12/stdout707 2> log/12/stderr707 \r\n' 02:02:34.756837 Received DISC (on stdin) 02:02:34.756852 ====> Client forcibly disconnected 02:02:34.756961 Received QUIT (on stdin) 02:02:34.756974 quits 02:02:34.757028 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 706 === End of file server.cmd === Start of file socks_server.log 02:02:34.802568 Running IPv4 version 02:02:34.802616 Listening on port 42689 02:02:34.802646 Wrote pid 111900 to log/9/server/socks_server.pid 02:02:34.802684 Wrote port 42689 to log/9/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 ==112268== ==112268== Process terminating with default action of signal 4 (SIGILL) ==112268== Illegal opcode at address 0x10B08D ==112268== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112268== by 0x10B08D: main (tool_main.c:232) === End of file valgrind706 startnew: server/socksd --port 0 --pidfile log/4/server/socks_server.pid --portfile log/4/server/socks_server.port --reqfile log/4/socksd-request.log --logfile log/4/socks_server.log --backend 127.0.0.1 --config log/4/server.cmd RUN: SOCKS server is now running PID 111948 * pid socks => 111948 111948 setenv http_proxy = socks5://127.0.0.1:41421 test 0709...[HTTP GET via SOCKS5 set in http_proxy environment variable] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind709 ../src/curl -q --output log/4/curl709.out --include --trace-ascii log/4/trace709 --trace-config all --trace-time http://127.0.0.1:36813/709 > log/4/stdout709 2> log/4/stderr709 709: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 709 === Start of file http_server.log 02:02:34.884477 ====> Client connect 02:02:34.884511 accept_connection 3 returned 4 02:02:34.884526 accept_connection 3 returned 0 02:02:34.884538 Read 93 bytes 02:02:34.884548 Process 93 bytes request 02:02:34.884561 Got request: GET /verifiedserver HTTP/1.1 02:02:34.884570 Are-we-friendly question received 02:02:34.884591 Wrote request (93 bytes) input to log/4/server.input 02:02:34.884644 Identifying ourselves as friends 02:02:34.884809 Response sent (56 bytes) and written to log/4/server.response 02:02:34.884818 special request received, no persistency 02:02:34.884830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 709 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file socks_server.log 02:02:34.888163 Running IPv4 version 02:02:34.888206 Listening on port 41421 02:02:34.888232 Wrote pid 111948 to log/4/server/socks_server.pid 02:02:34.888255 Wrote port 41421 to log/4/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 ==112284== ==112284== Process terminating with default action of signal 4 (SIGILL) ==112284== Illegal opcode at address 0x10B08D ==112284== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112284== by 0x10B08D: main (tool_main.c:232) === End of file valgrind709 startnew: server/socksd --port 0 --pidfile log/12/server/socks_server.pid --portfile log/12/server/socks_server.port --reqfile log/12/socksd-request.log --logfile log/12/socks_server.log --backend 127.0.0.1 --config log/12/server.cmd RUN: SOCKS server is now running PID 111950 * pid socks => 111950 111950 test 0707...[FTP dir list PASV via SOCKS5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind707 ../src/curl -q --output log/12/curl707.out --include --trace-ascii log/12/trace707 --trace-config all --trace-time --socks5 127.0.0.1:38367 ftp://127.0.0.1:40171/ > log/12/stdout707 2> log/12/stderr707 707: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 707 === Start of file ftp_server.log 02:02:34.681397 ====> Client connect 02:02:34.681514 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:34.681734 < "USER anonymous" 02:02:34.681763 > "331 We are happy you popped in![CR][LF]" 02:02:34.681888 < "PASS ftp@example.com" 02:02:34.681906 > "230 Welcome you silly person[CR][LF]" 02:02:34.682016 < "PWD" 02:02:34.682036 > "257 "/" is current directory[CR][LF]" 02:02:34.682146 < "EPSV" 02:02:34.682163 ====> Passive DATA channel requested by client 02:02:34.682172 DATA sockfilt for passive data channel starting... 02:02:34.683203 DATA sockfilt for passive data channel started (pid 111947) 02:02:34.683281 DATA sockfilt for passive data channel listens on port 35377 02:02:34.683307 > "229 Entering Passive Mode (|||35377|)[LF]" 02:02:34.683319 Client has been notified that DATA conn will be accepted on port 35377 02:02:34.683491 Client connects to port 35377 02:02:34.683513 ====> Client established passive DATA connection on port 35377 02:02:34.683560 < "TYPE I" 02:02:34.683580 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:34.683787 < "SIZE verifiedserver" 02:02:34.683824 > "213 17[CR][LF]" 02:02:34.683966 < "RETR verifiedserver" 02:02:34.683994 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:34.684063 =====> Closing passive DATA connection... 02:02:34.684077 Server disconnects passive DATA connection 02:02:34.684452 Server disconnected passive DATA connection 02:02:34.684471 DATA sockfilt for passive data channel quits (pid 111947) 02:02:34.684786 DATA sockfilt for passive data channel quit (pid 111947) 02:02:34.684807 =====> Closed passive DATA connection 02:02:34.684829 > "226 File transfer complete[CR][LF]" 02:02:34.725280 < "QUIT" 02:02:34.725351 > "221 bye bye baby[CR][LF]" 02:02:34.725534 MAIN sockfilt said DISC 02:02:34.725558 ====> Client disconnected 02:02:34.725605 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:34.881453 ====> Client connect 02:02:34.881657 Received DATA (on stdin) 02:02:34.881668 > 160 bytes data, server => client 02:02:34.881677 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:34.881686 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:34.881694 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:34.881749 < 16 bytes data, client => server 02:02:34.881758 'USER anonymous\r\n' 02:02:34.881899 Received DATA (on stdin) 02:02:34.881909 > 33 bytes data, server => client 02:02:34.881917 '331 We are happy you popped in!\r\n' 02:02:34.881957 < 22 bytes data, client => server 02:02:34.881966 'PASS ftp@example.com\r\n' 02:02:34.882040 Received DATA (on stdin) 02:02:34.882049 > 30 bytes data, server => client 02:02:34.882057 '230 Welcome you silly person\r\n' 02:02:34.882093 < 5 bytes data, client => server 02:02:34.882101 'PWD\r\n' 02:02:34.882168 Received DATA (on stdin) 02:02:34.882177 > 30 bytes data, server => client 02:02:34.882184 '257 "/" is current directory\r\n' 02:02:34.882225 < 6 bytes data, client => server 02:02:34.882233 'EPSV\r\n' 02:02:34.883456 Received DATA (on stdin) 02:02:34.883466 > 38 bytes data, server => client 02:02:34.883475 '229 Entering Passive Mode (|||35377|)\n' 02:02:34.883565 log/5/stdout708 2> log/5/stderr708 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind710 ../src/curl -q --output log/6/curl710.out --include --trace-ascii log/6/trace710 --trace-config all --trace-time http://127.0.0.1:39457/710 --proxy socks5://127.0.0.1:35609 > log/6/stdout710 2> log/6/stderr710 8 bytes data, client => server 02:02:34.883577 'TYPE I\r\n' 02:02:34.883756 Received DATA (on stdin) 02:02:34.883774 > 33 bytes data, server => client 02:02:34.883786 '200 I modify TYPE as you wanted\r\n' 02:02:34.883842 < 21 bytes data, client => server 02:02:34.883854 'SIZE verifiedserver\r\n' 02:02:34.883962 Received DATA (on stdin) 02:02:34.883973 > 8 bytes data, server => client 02:02:34.883983 '213 17\r\n' 02:02:34.884030 < 21 bytes data, client => server 02:02:34.884042 'RETR verifiedserver\r\n' 02:02:34.884168 Received DATA (on stdin) 02:02:34.884186 > 29 bytes data, server => client 02:02:34.884197 '150 Binary junk (17 bytes).\r\n' 02:02:34.884963 Received DATA (on stdin) 02:02:34.884980 > 28 bytes data, server => client 02:02:34.884991 '226 File transfer complete\r\n' 02:02:34.925278 < 6 bytes data, client => server 02:02:34.925307 'QUIT\r\n' 02:02:34.925491 Received DATA (on stdin) 02:02:34.925502 > 18 bytes data, server => client 02:02:34.925549 '221 bye bye baby\r\n' 02:02:34.925616 ====> Client disconnect 02:02:34.925739 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:34.883214 Running IPv4 version 02:02:34.883253 Listening on port 35377 02:02:34.883280 Wrote pid 111947 to log/12/server/ftp_sockdata.pid 02:02:34.883294 Received PING (on stdin) 02:02:34.883354 Received PORT (on stdin) 02:02:34.883591 ====> Client connect 02:02:34.884511 Received DATA (on stdin) 02:02:34.884524 > 17 bytes data, server => client 02:02:34.884533 'WE ROOLZ: 80450\r\n' 02:02:34.884554 Received DISC (on stdin) 02:02:34.884563 ====> Client forcibly disconnected 02:02:34.884615 Received QUIT (on stdin) 02:02:34.884627 quits 02:02:34.884813 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 707 === End of file server.cmd === Start of file socks_server.log 02:02:34.929294 Running IPv4 version 02:02:34.929359 Listening on port 38367 02:02:34.929398 Wrote pid 111950 to log/12/server/socks_server.pid 02:02:34.929432 Wrote port 38367 to log/12/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 ==112314== ==112314== Process terminating with default action of signal 4 (SIGILL) ==112314== Illegal opcode at address 0x10B08D ==112314== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112314== by 0x10B08D: main (tool_main.c:232) === End of file valgrind707 startnew: server/socksd --port 0 --pidfile log/5/server/socks_server.pid --portfile log/5/server/socks_server.port --reqfile log/5/socksd-request.log --logfile log/5/socks_server.log --backend 127.0.0.1 --config log/5/server.cmd RUN: SOCKS server is now running PID 111949 * pid socks => 111949 111949 setenv all_proxy = socks4://127.0.0.1:44159 test 0708...[HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind708 ../src/curl -q --output log/5/curl708.out --include --trace-ascii log/5/trace708 --trace-config all --trace-time http://127.0.0.1:33361/708 > log/5/stdout708 2> log/5/stderr708 708: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 708 === Start of file http_server.log 02:02:34.884614 ====> Client connect 02:02:34.884674 accept_connection 3 returned 4 02:02:34.884687 accept_connection 3 returned 0 02:02:34.884698 Read 93 bytes 02:02:34.884705 Process 93 bytes request 02:02:34.884715 Got request: GET /verifiedserver HTTP/1.1 02:02:34.884722 Are-we-friendly question received 02:02:34.884776 Wrote request (93 bytes) input to log/5/server.input 02:02:34.884791 Identifying ourselves as friends 02:02:34.884894 Response sent (56 bytes) and written to log/5/server.response 02:02:34.884903 special request received, no persistency 02:02:34.884910 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 708 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file socks_server.log 02:02:34.888156 Running IPv4 version 02:02:34.888202 Listening on port 44159 02:02:34.888228 Wrote pid 111949 to log/5/server/socks_server.pid 02:02:34.888253 Wrote port 44159 to log/5/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 ==112292== ==112292== Process terminating with default action of signal 4 (SIGILL) ==112292== Illegal opcode at address 0x10B08D ==112292== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112292== by 0x10B08D: main (tool_main.c:232) === End of file valgrind708 startnew: server/socksd --port 0 --pidfile log/6/server/socks_server.pid --portfile log/6/server/socks_server.port --reqfile log/6/socksd-request.log --logfile log/6/socks_server.log --backend 127.0.0.1 --config log/6/server.cmd RUN: SOCKS server is now running PID 111967 * pid socks => 111967 111967 test 0710...[HTTP GET via SOCKS5 set with --proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind710 ../src/curl -q --output log/6/curl710.out --include --trace-ascii log/6/trace710 --trace-config all --trace-time http://127.0.0.1:39457/710 --proxy socks5://127.0.0.1:35609 > log/6/stdout710 2> log/6/stderr710 710: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 710 === Start of file http_server.log 02:02:35.053473 ====> Client connect 02:02:35.053500 accept_connection 3 returned 4 02:02:35.053512 accept_connection 3 returned 0 02:02:35.053524 Read 93 bytes 02:02:35.053532 Process 93 bytes request 02:02:35.053544 Got request: GET /verifiedserver HTTP/1.1 02:02:35.053552 Are-we-friendly question received 02:02:35.053570 Wrote request (93 bytes) input to log/6/server.input 02:02:35.053583 Identifying ourselves as friends 02:02:35.053632 Response sent (56 bytes) and written to log/6/server.response 02:02:35.053641 special request received, no persistency 02:02:35.053648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 710 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file socks_server.log 02:02:34.056935 Running IPv4 version 02:02:34.056979 Listening on port 35609 02:02:34.057003 Wrote pid 111967 to log/6/server/socks_server.pid 02:02:34.057032 Wrote port 35609 to log/6/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 ==112430== ==112430== Process terminating with default action of signal 4 (SIGILL) ==112430== Illegal opcode at address 0x10B08D ==112430== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind711 ../src/curl -q --output log/11/curl711.out --include --trace-ascii log/11/trace711 --trace-config all --trace-time ftp://127.0.0.1:45687/711 > log/11/stdout711 2> log/11/stderr711 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind713 ../src/curl -q --output log/8/curl713.out --include --trace-ascii log/8/trace713 --trace-config all --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:39101 --proxy socks5://127.0.0.1:36873 > log/8/stdout713 2> log/8/stderr713 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind717 ../src/curl -q --output log/1/curl717.out --include --trace-ascii log/1/trace717 --trace-config all --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:33393 > log/1/stdout717 2> log/1/stderr717 ==112430== by 0x10B08D: main (tool_main.c:232) === End of file valgrind710 startnew: server/socksd --port 0 --pidfile log/11/server/socks_server.pid --portfile log/11/server/socks_server.port --reqfile log/11/socksd-request.log --logfile log/11/socks_server.log --backend 127.0.0.1 --config log/11/server.cmd RUN: SOCKS server is now running PID 112003 * pid socks => 112003 112003 setenv all_proxy = socks5://127.0.0.1:36391 test 0711...[FTP fetch with all_proxy set to socks5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind711 ../src/curl -q --output log/11/curl711.out --include --trace-ascii log/11/trace711 --trace-config all --trace-time ftp://127.0.0.1:45687/711 > log/11/stdout711 2> log/11/stderr711 711: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 711 === Start of file ftp_server.log 02:02:34.974110 ====> Client connect 02:02:34.974232 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:34.974447 < "USER anonymous" 02:02:34.974472 > "331 We are happy you popped in![CR][LF]" 02:02:34.974593 < "PASS ftp@example.com" 02:02:34.974611 > "230 Welcome you silly person[CR][LF]" 02:02:34.974719 < "PWD" 02:02:34.974741 > "257 "/" is current directory[CR][LF]" 02:02:34.974857 < "EPSV" 02:02:34.974877 ====> Passive DATA channel requested by client 02:02:34.974886 DATA sockfilt for passive data channel starting... 02:02:34.976033 DATA sockfilt for passive data channel started (pid 111984) 02:02:34.976122 DATA sockfilt for passive data channel listens on port 36601 02:02:34.976151 > "229 Entering Passive Mode (|||36601|)[LF]" 02:02:34.976165 Client has been notified that DATA conn will be accepted on port 36601 02:02:34.977236 Client connects to port 36601 02:02:34.977267 ====> Client established passive DATA connection on port 36601 02:02:34.977333 < "TYPE I" 02:02:34.977364 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:34.977528 < "SIZE verifiedserver" 02:02:34.977564 > "213 17[CR][LF]" 02:02:34.977731 < "RETR verifiedserver" 02:02:34.977770 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:34.977849 =====> Closing passive DATA connection... 02:02:34.977866 Server disconnects passive DATA connection 02:02:34.978103 Server disconnected passive DATA connection 02:02:34.978134 DATA sockfilt for passive data channel quits (pid 111984) 02:02:34.978342 DATA sockfilt for passive data channel quit (pid 111984) 02:02:34.978387 =====> Closed passive DATA connection 02:02:34.978418 > "226 File transfer complete[CR][LF]" 02:02:35.024719 < "QUIT" 02:02:35.024763 > "221 bye bye baby[CR][LF]" 02:02:35.025587 MAIN sockfilt said DISC 02:02:35.025622 ====> Client disconnected 02:02:35.025677 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:35.174147 ====> Client connect 02:02:35.174374 Received DATA (on stdin) 02:02:35.174385 > 160 bytes data, server => client 02:02:35.174395 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:35.174403 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:35.174411 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:35.174471 < 16 bytes data, client => server 02:02:35.174481 'USER anonymous\r\n' 02:02:35.174608 Received DATA (on stdin) 02:02:35.174617 > 33 bytes data, server => client 02:02:35.174626 '331 We are happy you popped in!\r\n' 02:02:35.174666 < 22 bytes data, client => server 02:02:35.174674 'PASS ftp@example.com\r\n' 02:02:35.174743 Received DATA (on stdin) 02:02:35.174753 > 30 bytes data, server => client 02:02:35.174761 '230 Welcome you silly person\r\n' 02:02:35.174797 < 5 bytes data, client => server 02:02:35.174805 'PWD\r\n' 02:02:35.174873 Received DATA (on stdin) 02:02:35.174882 > 30 bytes data, server => client 02:02:35.174890 '257 "/" is current directory\r\n' 02:02:35.174932 < 6 bytes data, client => server 02:02:35.174941 'EPSV\r\n' 02:02:35.176303 Received DATA (on stdin) 02:02:35.176314 > 38 bytes data, server => client 02:02:35.176323 '229 Entering Passive Mode (|||36601|)\n' 02:02:35.177320 < 8 bytes data, client => server 02:02:35.177334 'TYPE I\r\n' 02:02:35.177505 Received DATA (on stdin) 02:02:35.177518 > 33 bytes data, server => client 02:02:35.177530 '200 I modify TYPE as you wanted\r\n' 02:02:35.177583 < 21 bytes data, client => server 02:02:35.177596 'SIZE verifiedserver\r\n' 02:02:35.177705 Received DATA (on stdin) 02:02:35.177718 > 8 bytes data, server => client 02:02:35.177728 '213 17\r\n' 02:02:35.177782 < 21 bytes data, client => server 02:02:35.177797 'RETR verifiedserver\r\n' 02:02:35.178007 Received DATA (on stdin) 02:02:35.178021 > 29 bytes data, server => client 02:02:35.178033 '150 Binary junk (17 bytes).\r\n' 02:02:35.178561 Received DATA (on stdin) 02:02:35.178575 > 28 bytes data, server => client 02:02:35.178586 '226 File transfer complete\r\n' 02:02:35.224697 < 6 bytes data, client => server 02:02:35.224725 'QUIT\r\n' 02:02:35.224887 Received DATA (on stdin) 02:02:35.224913 > 18 bytes data, server => client 02:02:35.224925 '221 bye bye baby\r\n' 02:02:35.225668 ====> Client disconnect 02:02:35.225818 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:34.176034 Running IPv4 version 02:02:34.176082 Listening on port 36601 02:02:34.176109 Wrote pid 111984 to log/11/server/ftp_sockdata.pid 02:02:34.176122 Received PING (on stdin) 02:02:34.176191 Received PORT (on stdin) 02:02:34.177286 ====> Client connect 02:02:34.178063 Received DATA (on stdin) 02:02:34.178077 > 17 bytes data, server => client 02:02:34.178088 'WE ROOLZ: 80480\r\n' 02:02:34.178116 Received DISC (on stdin) 02:02:34.178131 ====> Client forcibly disconnected 02:02:34.178284 Received QUIT (on stdin) 02:02:34.178296 quits 02:02:34.178349 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 711 === End of file server.cmd === Start of file socks_server.log 02:02:35.230489 Running IPv4 version 02:02:35.230554 Listening on port 36391 02:02:35.230588 Wrote pid 112003 to log/11/server/socks_server.pid 02:02:35.230618 Wrote port 36391 to log/11/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 ==112514== ==112514== Process terminating with default action of signal 4 (SIGILL) ==112514== Illegal opcode at address 0x10B08D ==112514== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112514== by 0x10B08D: main (tool_main.c:232) === End of file valgrind711 test 0713...[FTP fetch with --proxy set to socks5:// and with --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind713 ../src/curl -q --output log/8/curl713.out --include --trace-ascii log/8/trace713 --trace-config all --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:39101 --proxy socks5://127.0.0.1:36873 > log/8/stdout713 2> log/8/stderr713 713: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 713 === Start of file ftp_server.log 02:02:36.138843 ====> Client connect 02:02:36.139001 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:36.139728 < "USER anonymous" 02:02:36.139769 > "331 We are happy you popped in![CR][LF]" 02:02:36.140578 < "PASS ftp@example.com" 02:02:36.140611 > "230 Welcome you silly person[CR][LF]" 02:02:36.140772 < "PWD" 02:02:36.140804 > "257 "/" is current directory[CR][LF]" 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind716 ../src/curl -q --output log/7/curl716.out --include --trace-ascii log/7/trace716 --trace-config all --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:35607 > log/7/stdout716 2> log/7/stderr716 2:02:36.140964 < "EPSV" 02:02:36.140988 ====> Passive DATA channel requested by client 02:02:36.141001 DATA sockfilt for passive data channel starting... 02:02:36.145724 DATA sockfilt for passive data channel started (pid 112588) 02:02:36.145843 DATA sockfilt for passive data channel listens on port 46755 02:02:36.145885 > "229 Entering Passive Mode (|||46755|)[LF]" 02:02:36.145902 Client has been notified that DATA conn will be accepted on port 46755 02:02:36.146164 Client connects to port 46755 02:02:36.146193 ====> Client established passive DATA connection on port 46755 02:02:36.146269 < "TYPE I" 02:02:36.146299 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:36.146465 < "SIZE verifiedserver" 02:02:36.146501 > "213 17[CR][LF]" 02:02:36.146647 < "RETR verifiedserver" 02:02:36.146677 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:36.146756 =====> Closing passive DATA connection... 02:02:36.146771 Server disconnects passive DATA connection 02:02:36.147013 Server disconnected passive DATA connection 02:02:36.147039 DATA sockfilt for passive data channel quits (pid 112588) 02:02:36.147232 DATA sockfilt for passive data channel quit (pid 112588) 02:02:36.147252 =====> Closed passive DATA connection 02:02:36.147277 > "226 File transfer complete[CR][LF]" 02:02:36.191504 < "QUIT" 02:02:36.191550 > "221 bye bye baby[CR][LF]" 02:02:36.192378 MAIN sockfilt said DISC 02:02:36.192415 ====> Client disconnected 02:02:36.192475 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:36.338875 ====> Client connect 02:02:36.339155 Received DATA (on stdin) 02:02:36.339171 > 160 bytes data, server => client 02:02:36.339184 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:36.339196 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:36.339208 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:36.339697 < 16 bytes data, client => server 02:02:36.339718 'USER anonymous\r\n' 02:02:36.339912 Received DATA (on stdin) 02:02:36.339925 > 33 bytes data, server => client 02:02:36.339937 '331 We are happy you popped in!\r\n' 02:02:36.340600 < 22 bytes data, client => server 02:02:36.340620 'PASS ftp@example.com\r\n' 02:02:36.340751 Received DATA (on stdin) 02:02:36.340763 > 30 bytes data, server => client 02:02:36.340774 '230 Welcome you silly person\r\n' 02:02:36.340825 < 5 bytes data, client => server 02:02:36.340838 'PWD\r\n' 02:02:36.340942 Received DATA (on stdin) 02:02:36.340953 > 30 bytes data, server => client 02:02:36.340964 '257 "/" is current directory\r\n' 02:02:36.341022 < 6 bytes data, client => server 02:02:36.341034 'EPSV\r\n' 02:02:36.346047 Received DATA (on stdin) 02:02:36.346062 > 38 bytes data, server => client 02:02:36.346074 '229 Entering Passive Mode (|||46755|)\n' 02:02:36.346221 < 8 bytes data, client => server 02:02:36.346237 'TYPE I\r\n' 02:02:36.346440 Received DATA (on stdin) 02:02:36.346453 > 33 bytes data, server => client 02:02:36.346464 '200 I modify TYPE as you wanted\r\n' 02:02:36.346519 < 21 bytes data, client => server 02:02:36.346532 'SIZE verifiedserver\r\n' 02:02:36.346639 Received DATA (on stdin) 02:02:36.346651 > 8 bytes data, server => client 02:02:36.346661 '213 17\r\n' 02:02:36.346709 < 21 bytes data, client => server 02:02:36.346721 'RETR verifiedserver\r\n' 02:02:36.346910 Received DATA (on stdin) 02:02:36.346922 > 29 bytes data, server => client 02:02:36.346933 '150 Binary junk (17 bytes).\r\n' 02:02:36.347417 Received DATA (on stdin) 02:02:36.347430 > 28 bytes data, server => client 02:02:36.347441 '226 File transfer complete\r\n' 02:02:36.391498 < 6 bytes data, client => server 02:02:36.391519 'QUIT\r\n' 02:02:36.391691 Received DATA (on stdin) 02:02:36.391702 > 18 bytes data, server => client 02:02:36.391713 '221 bye bye baby\r\n' 02:02:36.392461 ====> Client disconnect 02:02:36.392613 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:36.342649 Running IPv4 version 02:02:36.342710 Listening on port 46755 02:02:36.342743 Wrote pid 112588 to log/8/server/ftp_sockdata.pid 02:02:36.345797 Received PING (on stdin) 02:02:36.345894 Received PORT (on stdin) 02:02:36.346258 ====> Client connect 02:02:36.346982 Received DATA (on stdin) 02:02:36.346998 > 17 bytes data, server => client 02:02:36.347009 'WE ROOLZ: 80441\r\n' 02:02:36.347038 Received DISC (on stdin) 02:02:36.347050 ====> Client forcibly disconnected 02:02:36.347186 Received QUIT (on stdin) 02:02:36.347198 quits 02:02:36.347247 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 713 === End of file server.cmd === Start of file valgrind713 ==112639== ==112639== Process terminating with default action of signal 4 (SIGILL) ==112639== Illegal opcode at address 0x10B08D ==112639== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112639== by 0x10B08D: main (tool_main.c:232) === End of file valgrind713 test 0717...[SOCKS5 proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind717 ../src/curl -q --output log/1/curl717.out --include --trace-ascii log/1/trace717 --trace-config all --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:33393 > log/1/stdout717 2> log/1/stderr717 717: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 717 === Start of file http_server.log 02:02:36.378552 ====> Client connect 02:02:36.378590 accept_connection 3 returned 4 02:02:36.378610 accept_connection 3 returned 0 02:02:36.378626 Read 93 bytes 02:02:36.378637 Process 93 bytes request 02:02:36.378653 Got request: GET /verifiedserver HTTP/1.1 02:02:36.378664 Are-we-friendly question received 02:02:36.378689 Wrote request (93 bytes) input to log/1/server.input 02:02:36.378709 Identifying ourselves as friends 02:02:36.378792 Response sent (56 bytes) and written to log/1/server.response 02:02:36.378807 special request received, no persistency 02:02:36.378818 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 34215 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind717 ==112636== ==112636== Process terminating with default action of signal 4 (SIGILL) ==112636== Illegal opcode at address 0x10B08D ==112636== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112636== by 0x10B08D: main (tool_main.c:232) === End of file valgrind717 test 0716...[SOCKS5 proxy with too long user name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind716 ../src/curl -q --output log/7/curl716.out --include --trace-ascii log/7/trace716 --trace-config all --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:35607 > log/7/stdout716 2> log/7/stderr716 curl returned 132, when expecting 97 716: exit FAILED == Contents of files in thCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind712 ../src/curl -q --output log/2/curl712.out --include --trace-ascii log/2/trace712 --trace-config all --trace-time ftp://127.0.0.1:36595/712 --proxy socks5://127.0.0.1:32839 > log/2/stdout712 2> log/2/stderr712 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind718 ../src/curl -q --output log/9/curl718.out --include --trace-ascii log/9/trace718 --trace-config all --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:38509 --proxytunnel > log/9/stdout718 2> log/9/stderr718 e log/7/ dir after test 716 === Start of file server.cmd method 2 Testnum 716 === End of file server.cmd === Start of file valgrind716 ==112600== ==112600== Process terminating with default action of signal 4 (SIGILL) ==112600== Illegal opcode at address 0x10B08D ==112600== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112600== by 0x10B08D: main (tool_main.c:232) === End of file valgrind716 startnew: server/socksd --port 0 --pidfile log/2/server/socks_server.pid --portfile log/2/server/socks_server.port --reqfile log/2/socksd-request.log --logfile log/2/socks_server.log --backend 127.0.0.1 --config log/2/server.cmd RUN: SOCKS server is now running PID 112064 * pid socks => 112064 112064 test 0712...[FTP fetch with --proxy set to socks5://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind712 ../src/curl -q --output log/2/curl712.out --include --trace-ascii log/2/trace712 --trace-config all --trace-time ftp://127.0.0.1:36595/712 --proxy socks5://127.0.0.1:32839 > log/2/stdout712 2> log/2/stderr712 712: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 712 === Start of file ftp_server.log 02:02:35.236477 ====> Client connect 02:02:35.236985 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:35.237300 < "USER anonymous" 02:02:35.237331 > "331 We are happy you popped in![CR][LF]" 02:02:35.237574 < "PASS ftp@example.com" 02:02:35.237607 > "230 Welcome you silly person[CR][LF]" 02:02:35.237788 < "PWD" 02:02:35.237825 > "257 "/" is current directory[CR][LF]" 02:02:35.238016 < "EPSV" 02:02:35.238044 ====> Passive DATA channel requested by client 02:02:35.238059 DATA sockfilt for passive data channel starting... 02:02:35.239606 DATA sockfilt for passive data channel started (pid 112063) 02:02:35.239722 DATA sockfilt for passive data channel listens on port 45513 02:02:35.239769 > "229 Entering Passive Mode (|||45513|)[LF]" 02:02:35.239794 Client has been notified that DATA conn will be accepted on port 45513 02:02:35.240053 Client connects to port 45513 02:02:35.240082 ====> Client established passive DATA connection on port 45513 02:02:35.240150 < "TYPE I" 02:02:35.240178 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:35.240342 < "SIZE verifiedserver" 02:02:35.240383 > "213 17[CR][LF]" 02:02:35.240565 < "RETR verifiedserver" 02:02:35.240599 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:35.240676 =====> Closing passive DATA connection... 02:02:35.240695 Server disconnects passive DATA connection 02:02:35.240770 Server disconnected passive DATA connection 02:02:35.240800 DATA sockfilt for passive data channel quits (pid 112063) 02:02:35.241003 DATA sockfilt for passive data channel quit (pid 112063) 02:02:35.241031 =====> Closed passive DATA connection 02:02:35.241060 > "226 File transfer complete[CR][LF]" 02:02:35.283008 < "QUIT" 02:02:35.283069 > "221 bye bye baby[CR][LF]" 02:02:35.283999 MAIN sockfilt said DISC 02:02:35.284035 ====> Client disconnected 02:02:35.284115 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:35.436488 ====> Client connect 02:02:35.437150 Received DATA (on stdin) 02:02:35.437171 > 160 bytes data, server => client 02:02:35.437184 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:35.437196 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:35.437206 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:35.437297 < 16 bytes data, client => server 02:02:35.437317 'USER anonymous\r\n' 02:02:35.437470 Received DATA (on stdin) 02:02:35.437480 > 33 bytes data, server => client 02:02:35.437493 '331 We are happy you popped in!\r\n' 02:02:35.437594 < 22 bytes data, client => server 02:02:35.437617 'PASS ftp@example.com\r\n' 02:02:35.437751 Received DATA (on stdin) 02:02:35.437766 > 30 bytes data, server => client 02:02:35.437778 '230 Welcome you silly person\r\n' 02:02:35.437838 < 5 bytes data, client => server 02:02:35.437851 'PWD\r\n' 02:02:35.437968 Received DATA (on stdin) 02:02:35.437982 > 30 bytes data, server => client 02:02:35.437994 '257 "/" is current directory\r\n' 02:02:35.438059 < 6 bytes data, client => server 02:02:35.438076 'EPSV\r\n' 02:02:35.439945 Received DATA (on stdin) 02:02:35.439961 > 38 bytes data, server => client 02:02:35.439974 '229 Entering Passive Mode (|||45513|)\n' 02:02:35.440138 < 8 bytes data, client => server 02:02:35.440152 'TYPE I\r\n' 02:02:35.440316 Received DATA (on stdin) 02:02:35.440328 > 33 bytes data, server => client 02:02:35.440340 '200 I modify TYPE as you wanted\r\n' 02:02:35.440394 < 21 bytes data, client => server 02:02:35.440408 'SIZE verifiedserver\r\n' 02:02:35.440512 Received DATA (on stdin) 02:02:35.440536 > 8 bytes data, server => client 02:02:35.440548 '213 17\r\n' 02:02:35.440613 < 21 bytes data, client => server 02:02:35.440628 'RETR verifiedserver\r\n' 02:02:35.440840 Received DATA (on stdin) 02:02:35.440854 > 29 bytes data, server => client 02:02:35.440866 '150 Binary junk (17 bytes).\r\n' 02:02:35.441201 Received DATA (on stdin) 02:02:35.441216 > 28 bytes data, server => client 02:02:35.441227 '226 File transfer complete\r\n' 02:02:35.482926 < 6 bytes data, client => server 02:02:35.482976 'QUIT\r\n' 02:02:35.483222 Received DATA (on stdin) 02:02:35.483238 > 18 bytes data, server => client 02:02:35.483250 '221 bye bye baby\r\n' 02:02:35.484083 ====> Client disconnect 02:02:35.484263 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:35.439563 Running IPv4 version 02:02:35.439623 Listening on port 45513 02:02:35.439666 Wrote pid 112063 to log/2/server/ftp_sockdata.pid 02:02:35.439685 Received PING (on stdin) 02:02:35.439772 Received PORT (on stdin) 02:02:35.440107 ====> Client connect 02:02:35.440752 Received DATA (on stdin) 02:02:35.440773 > 17 bytes data, server => client 02:02:35.440786 'WE ROOLZ: 80457\r\n' 02:02:35.440839 Received DISC (on stdin) 02:02:35.440856 ====> Client forcibly disconnected 02:02:35.440949 Received QUIT (on stdin) 02:02:35.440964 quits 02:02:35.441013 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 712 === End of file server.cmd === Start of file socks_server.log 02:02:35.488640 Running IPv4 version 02:02:35.488717 Listening on port 32839 02:02:35.488756 Wrote pid 112064 to log/2/server/socks_server.pid 02:02:35.488788 Wrote port 32839 to log/2/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 ==112738== ==112738== Process terminating with default action of signal 4 (SIGILL) ==112738== Illegal opcode at address 0x10B08D ==112738== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112738== by 0x10B08D: main (tool_main.c:232) === End of file valgrind712 test 0718...[HTTP proxy CONNECT (no auth) with proxy returning 407 and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind718 ../src/curl -q --output log/9/curl718.out --include --trace-ascii log/9/trace718 --trace-config all --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:38509 --proxytunnel > log/9/stdout718 2> log/9/stderr718 718: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 718 === Start of file http_server.log 02:02:36.702472 ====> Client connect 02:02:36.702514 accept_connection 3 returned 4 02:02:36.702533 accept_connection 3 returned 0 02:02:36.702547 Read 93 bytes 02:02:36.702558 Process 93 bytes requestCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind719 ../src/curl -q --output log/4/curl719.out --include --trace-ascii log/4/trace719 --trace-config all --trace-time http://[2200::33]:36813/719 --proxy socks5h://127.0.0.1:41421 > log/4/stdout719 2> log/4/stderr719 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind720 ../src/curl -q --output log/12/curl720.out --include --trace-ascii log/12/trace720 --trace-config all --trace-time http://12.34.56.78:40653/720 --proxy socks5h://127.0.0.1:38367 > log/12/stdout720 2> log/12/stderr720 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind722 ../src/curl -q --output log/6/curl722.out --include --trace-ascii log/6/trace722 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:39457 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout722 2> log/6/stderr722 02:02:36.702572 Got request: GET /verifiedserver HTTP/1.1 02:02:36.702582 Are-we-friendly question received 02:02:36.702605 Wrote request (93 bytes) input to log/9/server.input 02:02:36.702624 Identifying ourselves as friends 02:02:36.702691 Response sent (56 bytes) and written to log/9/server.response 02:02:36.702703 special request received, no persistency 02:02:36.702712 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 718 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind718 ==112852== ==112852== Process terminating with default action of signal 4 (SIGILL) ==112852== Illegal opcode at address 0x10B08D ==112852== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112852== by 0x10B08D: main (tool_main.c:232) === End of file valgrind718 test 0719...[HTTP GET with IPv6 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind719 ../src/curl -q --output log/4/curl719.out --include --trace-ascii log/4/trace719 --trace-config all --trace-time http://[2200::33]:36813/719 --proxy socks5h://127.0.0.1:41421 > log/4/stdout719 2> log/4/stderr719 719: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 719 === Start of file http_server.log 02:02:36.748152 ====> Client connect 02:02:36.748190 accept_connection 3 returned 4 02:02:36.748209 accept_connection 3 returned 0 02:02:36.748223 Read 93 bytes 02:02:36.748234 Process 93 bytes request 02:02:36.748249 Got request: GET /verifiedserver HTTP/1.1 02:02:36.748258 Are-we-friendly question received 02:02:36.748280 Wrote request (93 bytes) input to log/4/server.input 02:02:36.748296 Identifying ourselves as friends 02:02:36.748369 Response sent (56 bytes) and written to log/4/server.response 02:02:36.748380 special request received, no persistency 02:02:36.748389 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 719 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind719 ==112896== ==112896== Process terminating with default action of signal 4 (SIGILL) ==112896== Illegal opcode at address 0x10B08D ==112896== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==112896== by 0x10B08D: main (tool_main.c:232) === End of file valgrind719 test 0720...[HTTP GET with IPv4 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind720 ../src/curl -q --output log/12/curl720.out --include --trace-ascii log/12/trace720 --trace-config all --trace-time http://12.34.56.78:40653/720 --proxy socks5h://127.0.0.1:38367 > log/12/stdout720 2> log/12/stderr720 720: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 720 === Start of file http_server.log 02:02:36.819069 ====> Client connect 02:02:36.819102 accept_connection 3 returned 4 02:02:36.819118 accept_connection 3 returned 0 02:02:36.819131 Read 93 bytes 02:02:36.819144 Process 93 bytes request 02:02:36.819161 Got request: GET /verifiedserver HTTP/1.1 02:02:36.819171 Are-we-friendly question received 02:02:36.819195 Wrote request (93 bytes) input to log/12/server.input 02:02:36.819213 Identifying ourselves as friends 02:02:36.819282 Response sent (56 bytes) and written to log/12/server.response 02:02:36.819293 special request received, no persistency 02:02:36.819303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 720 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind720 ==113001== ==113001== Process terminating with default action of signal 4 (SIGILL) ==113001== Illegal opcode at address 0x10B08D ==113001== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113001== by 0x10B08D: main (tool_main.c:232) === End of file valgrind720 test 0722...[IPFS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind722 ../src/curl -q --output log/6/curl722.out --include --trace-ascii log/6/trace722 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:39457 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout722 2> log/6/stderr722 722: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 722 === Start of file http_server.log 02:02:36.841537 ====> Client connect 02:02:36.841573 accept_connection 3 returned 4 02:02:36.841590 accept_connection 3 returned 0 02:02:36.841603 Read 93 bytes 02:02:36.841615 Process 93 bytes request 02:02:36.841629 Got request: GET /verifiedserver HTTP/1.1 02:02:36.841638 Are-we-friendly question received 02:02:36.841664 Wrote request (93 bytes) input to log/6/server.input 02:02:36.841681 Identifying ourselves as friends 02:02:36.841750 Response sent (56 bytes) and written to log/6/server.response 02:02:36.841761 special request received, no persistency 02:02:36.841771 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 722 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind722 ==113047== ==113047== Process terminating with default actionCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind721 ../src/curl -q --output log/5/curl721.out --include --trace-ascii log/5/trace721 --trace-config all --trace-time http://this.is.a.host.name:33361/721 --proxy socks5h://127.0.0.1:44159 > log/5/stdout721 2> log/5/stderr721 CMD (0): ../src/curl --max-time 13 --output log/10/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:45701/verifiedserver" 2>log/10/http2_verify.log CMD (0): ../src/curl --max-time 13 --output log/3/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:35495/verifiedserver" 2>log/3/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind723 ../src/curl -q --output log/11/curl723.out --include --trace-ascii log/11/trace723 --trace-config all --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout723 2> log/11/stderr723 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind726 ../src/curl -q --output log/1/curl726.out --include --trace-ascii log/1/trace726 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout726 2> log/1/stderr726 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind727 ../src/curl -q --output log/2/curl727.out --include --trace-ascii log/2/trace727 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:38781 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout727 2> log/2/stderr727 of signal 4 (SIGILL) ==113047== Illegal opcode at address 0x10B08D ==113047== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113047== by 0x10B08D: main (tool_main.c:232) === End of file valgrind722 test 0721...[HTTP GET with host name using SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind721 ../src/curl -q --output log/5/curl721.out --include --trace-ascii log/5/trace721 --trace-config all --trace-time http://this.is.a.host.name:33361/721 --proxy socks5h://127.0.0.1:44159 > log/5/stdout721 2> log/5/stderr721 721: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 721 === Start of file http_server.log 02:02:36.821316 ====> Client connect 02:02:36.821347 accept_connection 3 returned 4 02:02:36.821367 accept_connection 3 returned 0 02:02:36.821381 Read 93 bytes 02:02:36.821393 Process 93 bytes request 02:02:36.821406 Got request: GET /verifiedserver HTTP/1.1 02:02:36.821416 Are-we-friendly question received 02:02:36.821439 Wrote request (93 bytes) input to log/5/server.input 02:02:36.821458 Identifying ourselves as friends 02:02:36.821528 Response sent (56 bytes) and written to log/5/server.response 02:02:36.821540 special request received, no persistency 02:02:36.821550 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 721 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind721 ==113003== ==113003== Process terminating with default action of signal 4 (SIGILL) ==113003== Illegal opcode at address 0x10B08D ==113003== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113003== by 0x10B08D: main (tool_main.c:232) === End of file valgrind721 test 0723...[IPFS with malformed gateway URL (bad function argument error)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind723 ../src/curl -q --output log/11/curl723.out --include --trace-ascii log/11/trace723 --trace-config all --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout723 2> log/11/stderr723 curl returned 132, when expecting 43 723: exit FAILED == Contents of files in the log/11/ dir after test 723 === Start of file http_server.log 02:02:37.049663 ====> Client connect 02:02:37.049698 accept_connection 3 returned 4 02:02:37.049716 accept_connection 3 returned 0 02:02:37.049731 Read 93 bytes 02:02:37.049742 Process 93 bytes request 02:02:37.049757 Got request: GET /verifiedserver HTTP/1.1 02:02:37.049767 Are-we-friendly question received 02:02:37.049789 Wrote request (93 bytes) input to log/11/server.input 02:02:37.049807 Identifying ourselves as friends 02:02:37.049880 Response sent (56 bytes) and written to log/11/server.response 02:02:37.049892 special request received, no persistency 02:02:37.049901 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 723 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind723 ==113172== ==113172== Process terminating with default action of signal 4 (SIGILL) ==113172== Illegal opcode at address 0x10B08D ==113172== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113172== by 0x10B08D: main (tool_main.c:232) === End of file valgrind723 setenv HOME = /startdir/src/build-curl/tests test 0726...[IPFS with no gateway URL (no environment or home file either)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind726 ../src/curl -q --output log/1/curl726.out --include --trace-ascii log/1/trace726 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout726 2> log/1/stderr726 curl returned 132, when expecting 37 726: exit FAILED == Contents of files in the log/1/ dir after test 726 === Start of file http_server.log 02:02:37.174409 ====> Client connect 02:02:37.174440 accept_connection 3 returned 4 02:02:37.174457 accept_connection 3 returned 0 02:02:37.174470 Read 93 bytes 02:02:37.174482 Process 93 bytes request 02:02:37.174494 Got request: GET /verifiedserver HTTP/1.1 02:02:37.174504 Are-we-friendly question received 02:02:37.174527 Wrote request (93 bytes) input to log/1/server.input 02:02:37.174545 Identifying ourselves as friends 02:02:37.174616 Response sent (56 bytes) and written to log/1/server.response 02:02:37.174628 special request received, no persistency 02:02:37.174638 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 726 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind726 ==113267== ==113267== Process terminating with default action of signal 4 (SIGILL) ==113267== Illegal opcode at address 0x10B08D ==113267== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113267== by 0x10B08D: main (tool_main.c:232) === End of file valgrind726 test 0727...[IPNS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind727 ../src/curl -q --output log/2/curl727.out --include --trace-ascii log/2/trace727 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:38781 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout727 2> log/2/stderr727 727: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 727 === Start of file http_server.log 02:02:37.242709 ====> Client connect 02:02:37.242758 accept_connection 3 returned 4 02:02:37.242779 accept_connection 3 returned 0 02:02:37.242798 Read 93 bytes 02:02:37.242813 Process 93 bytes request 02:02:37.242834 Got request: GET /verifiedserver HTTP/1.1 02:02:37.242846 Are-we-friendly question received 02:02:37.242882 WCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind728 ../src/curl -q --output log/9/curl728.out --include --trace-ascii log/9/trace728 --trace-config all --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:42689 http://127.0.0.1:38509/728 > log/9/stdout728 2> log/9/stderr728 rote request (93 bytes) input to log/2/server.input 02:02:37.242905 Identifying ourselves as friends 02:02:37.243006 Response sent (56 bytes) and written to log/2/server.response 02:02:37.243020 special request received, no persistency 02:02:37.243034 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 727 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind727 ==113427== ==113427== Process terminating with default action of signal 4 (SIGILL) ==113427== Illegal opcode at address 0x10B08D ==113427== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113427== by 0x10B08D: main (tool_main.c:232) === End of file valgrind727 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind732 ../src/curl -q --output log/5/curl732.out --include --trace-ascii log/5/trace732 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:33361 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/5/stdout732 2> log/5/stderr732 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind714 ../src/curl -q --output log/10/curl714.out --include --trace-ascii log/10/trace714 --trace-config all --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:42661 --proxytunnel --proxy http://127.0.0.1:45701 > log/10/stdout714 2> log/10/stderr714 test 0728...[SOCKS5h with HTTP redirect to hostname too long] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind728 ../src/curl -q --output log/9/curl728.out --include --trace-ascii log/9/trace728 --trace-config all --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:42689 http://127.0.0.1:38509/728 > log/9/stdout728 2> log/9/stderr728 728: stderr FAILED: --- log/9/check-expected 2024-12-15 02:02:37.746156180 +0000 +++ log/9/check-generated 2024-12-15 02:02:37.746156180 +0000 @@ -1 +0,0 @@ -curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.[CR][LF] == Contents of files in the log/9/ dir after test 728 === Start of file check-expected curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.[CR][LF] === End of file check-expected === Start of file http_server.log 02:02:37.378464 ====> Client connect 02:02:37.378498 accept_connection 3 returned 4 02:02:37.378513 accept_connection 3 returned 0 02:02:37.378527 Read 93 bytes 02:02:37.378539 Process 93 bytes request 02:02:37.378553 Got request: GET /verifiedserver HTTP/1.1 02:02:37.378563 Are-we-friendly question received 02:02:37.378585 Wrote request (93 bytes) input to log/9/server.input 02:02:37.378602 Identifying ourselves as friends 02:02:37.378665 Response sent (56 bytes) and written to log/9/server.response 02:02:37.378676 special request received, no persistency 02:02:37.378685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 728 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind728 ==113524== ==113524== Process terminating with default action of signal 4 (SIGILL) ==113524== Illegal opcode at address 0x10B08D ==113524== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113524== by 0x10B08D: main (tool_main.c:232) === End of file valgrind728 test 0732...[IPFS with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind732 ../src/curl -q --output log/5/curl732.out --include --trace-ascii log/5/trace732 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:33361 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/5/stdout732 2> log/5/stderr732 732: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 732 === Start of file http_server.log 02:02:37.410166 ====> Client connect 02:02:37.410191 accept_connection 3 returned 4 02:02:37.410204 accept_connection 3 returned 0 02:02:37.410215 Read 93 bytes 02:02:37.410225 Process 93 bytes request 02:02:37.410238 Got request: GET /verifiedserver HTTP/1.1 02:02:37.410247 Are-we-friendly question received 02:02:37.410267 Wrote request (93 bytes) input to log/5/server.input 02:02:37.410282 Identifying ourselves as friends 02:02:37.410348 Response sent (56 bytes) and written to log/5/server.response 02:02:37.410359 special request received, no persistency 02:02:37.410369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 732 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind732 ==113647== ==113647== Process terminating with default action of signal 4 (SIGILL) ==113647== Illegal opcode at address 0x10B08D ==113647== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113647== by 0x10B08D: main (tool_main.c:232) === End of file valgrind732 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/10/server/http2_server.pid" --logfile "log/10/http2_server.log" --logdir "log/10" --portfile log/10/server/http2_server.port --config log/10/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/10/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:45701/verifiedserver" 2>log/10/http2_verify.log RUN: HTTP2 server is on PID 112630 port 45701 * pid http-proxy => 112630 112630 test 0714...[FTP fetch with --proxy set to http:// and with --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind714 ../src/curl -q --output log/10/curl714.out --include --trace-ascii log/10/trace714 --trace-config all --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:42661 --proxytunnel --proxy http://127.0.0.1:45701 > log/10/stdout714 2> log/10/stderr714 714: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 714 === Start of file ftp_server.log 02:02:36.141801 ====> Client connect 02:02:36.141934 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:36.142195 < "USER anonymous" 02:02:36.142226 > "331 We are happy you popped in![CR][LF]" 02:02:36.142704 < "PASS ftp@example.com" 02:02:36.142730 > "230 Welcome you silly person[CR][LF]" 02:02:36.142866 < "PWD" 02:02:36.142894 > "257 "/" is current directory[CR][LF]" 02:02:36.143033 < "EPSV" 02:02:36.143056 ====> Passive DATA channel requested by client 02:02:36.143069 DATA sockfilt for passive data channel starting... 02:02:36.147669 DATA sockfilt for passive data channel started (pid 112590) 02:02:36.147781 DATA sockfilt for passive data channel listens on port 38329 02:02:36.147821 > "229 Entering Passive Mode (|||38329|)[LF]" 02:02:36.147838 Client has been notified that DATA conn will be accepted on port 38329 02:02:36.148250 Client connects to port 38329 02:02:36.148280 ====> Client established passive DATA connection on port 38329 02:02:36.148354 < "TYPE I" 02:02:36.148395 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:36.151925 < "SIZE verifiedserver" 02:02:36.151972 > "213 17[CR][LF]" 02:02:36.152145 < "RETR verifiedserver" 02:02:36.152178 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:36.152264 =====> Closing passive DATA connection... 02:02:36.152282 Server disconnects passive DATA connection 02:02:36.152541 Server disconnected passive DATA connection 02:02:36.152572 DATA sockfilt for passive data channel quits (pid 112590) 02:02:36.152784 DATA sockfilt for passive data channel quit (pid 112590) 02:02:36.152813 =====> Closed passive DATA connection 02:02:36.152843 > "226 File transfer complete[CR][LF]" 02:02:36.195420 < "QCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind729 ../src/curl -q --output log/4/curl729.out --include --trace-ascii log/4/trace729 --trace-config all --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:41421 > log/4/stdout729 2> log/4/stderr729 UIT" 02:02:36.195471 > "221 bye bye baby[CR][LF]" 02:02:36.196276 MAIN sockfilt said DISC 02:02:36.196312 ====> Client disconnected 02:02:36.196372 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:36.341833 ====> Client connect 02:02:36.342081 Received DATA (on stdin) 02:02:36.342096 > 160 bytes data, server => client 02:02:36.342108 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:36.342120 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:36.342131 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:36.342208 < 16 bytes data, client => server 02:02:36.342220 'USER anonymous\r\n' 02:02:36.342366 Received DATA (on stdin) 02:02:36.342377 > 33 bytes data, server => client 02:02:36.342388 '331 We are happy you popped in!\r\n' 02:02:36.342746 < 22 bytes data, client => server 02:02:36.342764 'PASS ftp@example.com\r\n' 02:02:36.342867 Received DATA (on stdin) 02:02:36.342878 > 30 bytes data, server => client 02:02:36.342889 '230 Welcome you silly person\r\n' 02:02:36.342934 < 5 bytes data, client => server 02:02:36.342944 'PWD\r\n' 02:02:36.343030 Received DATA (on stdin) 02:02:36.343040 > 30 bytes data, server => client 02:02:36.343051 '257 "/" is current directory\r\n' 02:02:36.343100 < 6 bytes data, client => server 02:02:36.343110 'EPSV\r\n' 02:02:36.347985 Received DATA (on stdin) 02:02:36.348000 > 38 bytes data, server => client 02:02:36.348011 '229 Entering Passive Mode (|||38329|)\n' 02:02:36.348304 < 8 bytes data, client => server 02:02:36.348322 'TYPE I\r\n' 02:02:36.351837 Received DATA (on stdin) 02:02:36.351861 > 33 bytes data, server => client 02:02:36.351875 '200 I modify TYPE as you wanted\r\n' 02:02:36.351954 < 21 bytes data, client => server 02:02:36.351968 'SIZE verifiedserver\r\n' 02:02:36.352114 Received DATA (on stdin) 02:02:36.352127 > 8 bytes data, server => client 02:02:36.352138 '213 17\r\n' 02:02:36.352196 < 21 bytes data, client => server 02:02:36.352208 'RETR verifiedserver\r\n' 02:02:36.352531 Received DATA (on stdin) 02:02:36.352545 > 29 bytes data, server => client 02:02:36.352557 '150 Binary junk (17 bytes).\r\n' 02:02:36.352985 Received DATA (on stdin) 02:02:36.352999 > 28 bytes data, server => client 02:02:36.353011 '226 File transfer complete\r\n' 02:02:36.395389 < 6 bytes data, client => server 02:02:36.395413 'QUIT\r\n' 02:02:36.395620 Received DATA (on stdin) 02:02:36.395635 > 18 bytes data, server => client 02:02:36.395647 '221 bye bye baby\r\n' 02:02:36.396362 ====> Client disconnect 02:02:36.396511 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:36.345665 Running IPv4 version 02:02:36.345730 Listening on port 38329 02:02:36.345769 Wrote pid 112590 to log/10/server/ftp_sockdata.pid 02:02:36.347741 Received PING (on stdin) 02:02:36.347834 Received PORT (on stdin) 02:02:36.348343 ====> Client connect 02:02:36.352424 Received DATA (on stdin) 02:02:36.352440 > 17 bytes data, server => client 02:02:36.352452 'WE ROOLZ: 80449\r\n' 02:02:36.352486 Received DISC (on stdin) 02:02:36.352501 ====> Client forcibly disconnected 02:02:36.352723 Received QUIT (on stdin) 02:02:36.352737 quits 02:02:36.352792 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 02:02:36.419028 Run as proxy, CONNECT to host 127.0.0.1 02:02:36.419140 Running HTTP IPv4 version on port 45701 02:02:36.419285 Wrote pid 112630 to log/10/server/http2_server.pid 02:02:36.419317 Wrote port 45701 to log/10/server/http2_server.port 02:02:37.416292 ====> Client connect 02:02:37.416309 accept_connection 3 returned 4 02:02:37.416327 accept_connection 3 returned 0 02:02:37.416341 Read 93 bytes 02:02:37.416353 Process 93 bytes request 02:02:37.416370 Got request: GET /verifiedserver HTTP/1.1 02:02:37.416381 Are-we-friendly question received 02:02:37.416405 Wrote request (93 bytes) input to log/10/proxy.input 02:02:37.416425 Identifying ourselves as friends 02:02:37.416493 Response sent (57 bytes) and written to log/10/proxy.response 02:02:37.416504 special request received, no persistency 02:02:37.416513 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45701... * Connected to 127.0.0.1 (127.0.0.1) port 45701 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45701 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 112630 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112630 === End of file proxy.response === Start of file server.cmd Testnum 714 === End of file server.cmd === Start of file valgrind714 ==113698== ==113698== Process terminating with default action of signal 4 (SIGILL) ==113698== Illegal opcode at address 0x10B08D ==113698== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113698== by 0x10B08D: main (tool_main.c:232) === End of file valgrind714 test 0729...[SOCKS4 with very long proxy user name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind729 ../src/curl -q --output log/4/curl729.out --include --trace-ascii log/4/trace729 --trace-config all --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:41421 > log/4/stdout729 2> log/4/stderr729 curl returned 132, when expecting 97 729: exit FAILED == Contents of files in the log/4/ dir after test 729 === Start of file http_server.log 02:02:37.392097 ====> Client connect 02:02:37.392128 accept_connection 3 returned 4 02:02:37.392143 accept_connection 3 returned 0 02:02:37.392156 Read 93 bytes 02:02:37.392165 Process 93 bytes request 02:02:37.392180 Got request: GET /verifiedserver HTTP/1.1 02:02:37.392189 Are-we-friendly question received 02:02:37.392211 Wrote request (93 bytes) input to log/4/server.input 02:02:37.392227 Identifying ourselves as friends 02:02:37.392292 Response sent (56 bytes) and written to log/4/server.response 02:02:37.392303 special request received, no persistency 02:02:37.392312 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 729 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === SCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind730 ../src/curl -q --output log/12/curl730.out --include --trace-ascii log/12/trace730 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:40653/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout730 2> log/12/stderr730 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind733 ../src/curl -q --output log/11/curl733.out --include --trace-ascii log/11/trace733 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:44137 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/11/stdout733 2> log/11/stderr733 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind734 ../src/curl -q --output log/1/curl734.out --include --trace-ascii log/1/trace734 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:34215/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/1/stdout734 2> log/1/stderr734 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind735 ../src/curl -q --output log/2/curl735.out --include --trace-ascii log/2/trace735 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:38781/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/2/stdout735 2> log/2/stderr735 tart of file valgrind729 ==113565== ==113565== Process terminating with default action of signal 4 (SIGILL) ==113565== Illegal opcode at address 0x10B08D ==113565== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113565== by 0x10B08D: main (tool_main.c:232) === End of file valgrind729 test 0730...[IPFS arg gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind730 ../src/curl -q --output log/12/curl730.out --include --trace-ascii log/12/trace730 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:40653/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout730 2> log/12/stderr730 730: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 730 === Start of file http_server.log 02:02:37.396196 ====> Client connect 02:02:37.396224 accept_connection 3 returned 4 02:02:37.396241 accept_connection 3 returned 0 02:02:37.396254 Read 93 bytes 02:02:37.396268 Process 93 bytes request 02:02:37.396280 Got request: GET /verifiedserver HTTP/1.1 02:02:37.396290 Are-we-friendly question received 02:02:37.396312 Wrote request (93 bytes) input to log/12/server.input 02:02:37.396328 Identifying ourselves as friends 02:02:37.396389 Response sent (56 bytes) and written to log/12/server.response 02:02:37.396400 special request received, no persistency 02:02:37.396409 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 730 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind730 ==113590== ==113590== Process terminating with default action of signal 4 (SIGILL) ==113590== Illegal opcode at address 0x10B08D ==113590== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113590== by 0x10B08D: main (tool_main.c:232) === End of file valgrind730 test 0733...[IPFS with path and query args] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind733 ../src/curl -q --output log/11/curl733.out --include --trace-ascii log/11/trace733 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:44137 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/11/stdout733 2> log/11/stderr733 733: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 733 === Start of file http_server.log 02:02:37.621659 ====> Client connect 02:02:37.621693 accept_connection 3 returned 4 02:02:37.621714 accept_connection 3 returned 0 02:02:37.621728 Read 93 bytes 02:02:37.621739 Process 93 bytes request 02:02:37.621754 Got request: GET /verifiedserver HTTP/1.1 02:02:37.621764 Are-we-friendly question received 02:02:37.621789 Wrote request (93 bytes) input to log/11/server.input 02:02:37.621807 Identifying ourselves as friends 02:02:37.621931 Response sent (56 bytes) and written to log/11/server.response 02:02:37.621942 special request received, no persistency 02:02:37.621952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 733 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind733 ==113905== ==113905== Process terminating with default action of signal 4 (SIGILL) ==113905== Illegal opcode at address 0x10B08D ==113905== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113905== by 0x10B08D: main (tool_main.c:232) === End of file valgrind733 test 0734...[IPFS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind734 ../src/curl -q --output log/1/curl734.out --include --trace-ascii log/1/trace734 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:34215/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/1/stdout734 2> log/1/stderr734 734: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 734 === Start of file http_server.log 02:02:37.738549 ====> Client connect 02:02:37.738580 accept_connection 3 returned 4 02:02:37.738597 accept_connection 3 returned 0 02:02:37.738610 Read 93 bytes 02:02:37.738620 Process 93 bytes request 02:02:37.738634 Got request: GET /verifiedserver HTTP/1.1 02:02:37.738644 Are-we-friendly question received 02:02:37.738664 Wrote request (93 bytes) input to log/1/server.input 02:02:37.738681 Identifying ourselves as friends 02:02:37.738749 Response sent (56 bytes) and written to log/1/server.response 02:02:37.738760 special request received, no persistency 02:02:37.738769 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 734 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind734 ==113970== ==113970== Process terminating with default action of signal 4 (SIGILL) ==113970== Illegal opcode at address 0x10B08D ==113970== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113970== by 0x10B08D: main (tool_main.c:232) === End of file valgrind734 test 0735...[IPNS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind735 ../src/curl -q --output log/2/curl735.out --include --trace-ascii log/2/trace735 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:38781/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/2/stdout735 2> log/2/stderr735 735: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 735 === Start of file http_server.log 02:02:37.769006 ====> CliCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind725 ../src/curl -q --output log/7/curl725.out --include --trace-ascii log/7/trace725 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout725 2> log/7/stderr725 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind737 ../src/curl -q --output log/5/curl737.out --include --trace-ascii log/5/trace737 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/5/stdout737 2> log/5/stderr737 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind738 ../src/curl -q --output log/10/curl738.out --include --trace-ascii log/10/trace738 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout738 2> log/10/stderr738 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind736 ../src/curl -q --output log/9/curl736.out --include --trace-ascii log/9/trace736 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout736 2> log/9/stderr736 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind724 ../src/curl -q --output log/8/curl724.out --include --trace-ascii log/8/trace724 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout724 2> log/8/stderr724 ent connect 02:02:37.769040 accept_connection 3 returned 4 02:02:37.769056 accept_connection 3 returned 0 02:02:37.769069 Read 93 bytes 02:02:37.769079 Process 93 bytes request 02:02:37.769093 Got request: GET /verifiedserver HTTP/1.1 02:02:37.769103 Are-we-friendly question received 02:02:37.769127 Wrote request (93 bytes) input to log/2/server.input 02:02:37.769143 Identifying ourselves as friends 02:02:37.769213 Response sent (56 bytes) and written to log/2/server.response 02:02:37.769227 special request received, no persistency 02:02:37.769236 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 735 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind735 ==114026== ==114026== Process terminating with default action of signal 4 (SIGILL) ==114026== Illegal opcode at address 0x10B08D ==114026== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114026== by 0x10B08D: main (tool_main.c:232) === End of file valgrind735 setenv HOME = /startdir/src/build-curl/tests/log/7 test 0725...[IPFS with malformed gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind725 ../src/curl -q --output log/7/curl725.out --include --trace-ascii log/7/trace725 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout725 2> log/7/stderr725 curl returned 132, when expecting 3 725: exit FAILED == Contents of files in the log/7/ dir after test 725 === Start of file http_server.log 02:02:37.177234 ====> Client connect 02:02:37.177266 accept_connection 3 returned 4 02:02:37.177283 accept_connection 3 returned 0 02:02:37.177298 Read 93 bytes 02:02:37.177310 Process 93 bytes request 02:02:37.177323 Got request: GET /verifiedserver HTTP/1.1 02:02:37.177334 Are-we-friendly question received 02:02:37.177360 Wrote request (93 bytes) input to log/7/server.input 02:02:37.177379 Identifying ourselves as friends 02:02:37.177446 Response sent (56 bytes) and written to log/7/server.response 02:02:37.177458 special request received, no persistency 02:02:37.177468 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 725 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind725 ==113270== ==113270== Process terminating with default action of signal 4 (SIGILL) ==113270== Illegal opcode at address 0x10B08D ==113270== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113270== by 0x10B08D: main (tool_main.c:232) === End of file valgrind725 setenv IPFS_PATH = log/5/.ipfs/ test 0737...[IPFS with IPFS_PATH set, with trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind737 ../src/curl -q --output log/5/curl737.out --include --trace-ascii log/5/trace737 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/5/stdout737 2> log/5/stderr737 737: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 737 === Start of file http_server.log 02:02:37.978440 ====> Client connect 02:02:37.978466 accept_connection 3 returned 4 02:02:37.978486 accept_connection 3 returned 0 02:02:37.978499 Read 93 bytes 02:02:37.978509 Process 93 bytes request 02:02:37.978520 Got request: GET /verifiedserver HTTP/1.1 02:02:37.978529 Are-we-friendly question received 02:02:37.978551 Wrote request (93 bytes) input to log/5/server.input 02:02:37.978567 Identifying ourselves as friends 02:02:37.978624 Response sent (56 bytes) and written to log/5/server.response 02:02:37.978634 special request received, no persistency 02:02:37.978643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 737 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind737 ==114169== ==114169== Process terminating with default action of signal 4 (SIGILL) ==114169== Illegal opcode at address 0x10B08D ==114169== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114169== by 0x10B08D: main (tool_main.c:232) === End of file valgrind737 setenv IPFS_PATH = log/10/.ipfs/ test 0738...[IPFS with IPFS_PATH, no gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind738 ../src/curl -q --output log/10/curl738.out --include --trace-ascii log/10/trace738 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout738 2> log/10/stderr738 curl returned 132, when expecting 37 738: exit FAILED == Contents of files in the log/10/ dir after test 738 === Start of file http_server.log 02:02:37.981905 ====> Client connect 02:02:37.981941 accept_connection 3 returned 4 02:02:37.981956 accept_connection 3 returned 0 02:02:37.981969 Read 93 bytes 02:02:37.981978 Process 93 bytes request 02:02:37.981989 Got request: GET /verifiedserver HTTP/1.1 02:02:37.981998 Are-we-friendly question received 02:02:37.982017 Wrote request (93 bytes) input to log/10/server.input 02:02:37.982039 Identifying ourselves as friends 02:02:37.982098 Response sent (56 bytes) and written to log/10/server.response 02:02:37.982108 special request received, no persistency 02:02:37.982116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 738 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === SCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind739 ../src/curl -q --output log/4/curl739.out --include --trace-ascii log/4/trace739 --trace-config all --trace-time --ipfs-gateway "http://127.0.0.1:36813/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/4/stdout739 2> log/4/stderr739 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind731 ../src/curl -q --output log/6/curl731.out --include --trace-ascii log/6/trace731 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout731 2> log/6/stderr731 tart of file valgrind738 ==114168== ==114168== Process terminating with default action of signal 4 (SIGILL) ==114168== Illegal opcode at address 0x10B08D ==114168== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114168== by 0x10B08D: main (tool_main.c:232) === End of file valgrind738 setenv HOME = /startdir/src/build-curl/tests/log/8 test 0724...[IPFS with gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind724 ../src/curl -q --output log/8/curl724.out --include --trace-ascii log/8/trace724 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout724 2> log/8/stderr724 724: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 724 === Start of file http_server.log 02:02:37.174227 ====> Client connect 02:02:37.174268 accept_connection 3 returned 4 02:02:37.174286 accept_connection 3 returned 0 02:02:37.174300 Read 93 bytes 02:02:37.174311 Process 93 bytes request 02:02:37.174326 Got request: GET /verifiedserver HTTP/1.1 02:02:37.174336 Are-we-friendly question received 02:02:37.174359 Wrote request (93 bytes) input to log/8/server.input 02:02:37.174378 Identifying ourselves as friends 02:02:37.174449 Response sent (56 bytes) and written to log/8/server.response 02:02:37.174460 special request received, no persistency 02:02:37.174470 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 724 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind724 ==113268== ==113268== Process terminating with default action of signal 4 (SIGILL) ==113268== Illegal opcode at address 0x10B08D ==113268== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113268== by 0x10B08D: main (tool_main.c:232) === End of file valgrind724 setenv IPFS_PATH = log/9/.ipfs test 0736...[IPFS with IPFS_PATH set, no trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind736 ../src/curl -q --output log/9/curl736.out --include --trace-ascii log/9/trace736 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout736 2> log/9/stderr736 736: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 736 === Start of file http_server.log 02:02:37.977207 ====> Client connect 02:02:37.977241 accept_connection 3 returned 4 02:02:37.977258 accept_connection 3 returned 0 02:02:37.977272 Read 93 bytes 02:02:37.977283 Process 93 bytes request 02:02:37.977299 Got request: GET /verifiedserver HTTP/1.1 02:02:37.977309 Are-we-friendly question received 02:02:37.977334 Wrote request (93 bytes) input to log/9/server.input 02:02:37.977352 Identifying ourselves as friends 02:02:37.977426 Response sent (56 bytes) and written to log/9/server.response 02:02:37.977440 special request received, no persistency 02:02:37.977450 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 736 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind736 ==114167== ==114167== Process terminating with default action of signal 4 (SIGILL) ==114167== Illegal opcode at address 0x10B08D ==114167== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114167== by 0x10B08D: main (tool_main.c:232) === End of file valgrind736 test 0739...[IPNS path and query args for gateway and IPFS url (malformed gateway url)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind739 ../src/curl -q --output log/4/curl739.out --include --trace-ascii log/4/trace739 --trace-config all --trace-time --ipfs-gateway "http://127.0.0.1:36813/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/4/stdout739 2> log/4/stderr739 curl returned 132, when expecting 3 739: exit FAILED == Contents of files in the log/4/ dir after test 739 === Start of file http_server.log 02:02:37.983615 ====> Client connect 02:02:37.983638 accept_connection 3 returned 4 02:02:37.983652 accept_connection 3 returned 0 02:02:37.983662 Read 93 bytes 02:02:37.983671 Process 93 bytes request 02:02:37.983680 Got request: GET /verifiedserver HTTP/1.1 02:02:37.983688 Are-we-friendly question received 02:02:37.983705 Wrote request (93 bytes) input to log/4/server.input 02:02:37.983718 Identifying ourselves as friends 02:02:37.983769 Response sent (56 bytes) and written to log/4/server.response 02:02:37.983777 special request received, no persistency 02:02:37.983784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 739 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind739 ==114170== ==114170== Process terminating with default action of signal 4 (SIGILL) ==114170== Illegal opcode at address 0x10B08D ==114170== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114170== by 0x10B08D: main (tool_main.c:232) === End of file valgrind739 setenv HOME = /startdir/src/build-curl/tests/log/6 test 0731...[IPFS with gateway URL and path from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind731 ../src/curl -q --output log/6/curl731.out --include --trace-ascii log/6/trace731 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout731 2> log/6/stderr731 731: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 731 === Start of file http_server.log 02:02:37.412276 ====> Client connect 02:02:37.412311 accept_connection 3 returned 4 02:02:37.412327 accCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind742 ../src/curl -q --output log/1/curl742.out --include --trace-ascii log/1/trace742 --trace-config all --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:34215 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:33393 > log/1/stdout742 2> log/1/stderr742 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind799 ../src/curl -q --output log/2/curl799.out --include --trace-ascii log/2/trace799 --trace-config all --trace-time 'imap://127.0.0.1:41219/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/2/stdout799 2> log/2/stderr799 ept_connection 3 returned 0 02:02:37.412341 Read 93 bytes 02:02:37.412351 Process 93 bytes request 02:02:37.412363 Got request: GET /verifiedserver HTTP/1.1 02:02:37.412373 Are-we-friendly question received 02:02:37.412398 Wrote request (93 bytes) input to log/6/server.input 02:02:37.412416 Identifying ourselves as friends 02:02:37.412482 Response sent (56 bytes) and written to log/6/server.response 02:02:37.412493 special request received, no persistency 02:02:37.412503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 731 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind731 ==113670== ==113670== Process terminating with default action of signal 4 (SIGILL) ==113670== Illegal opcode at address 0x10B08D ==113670== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==113670== by 0x10B08D: main (tool_main.c:232) === End of file valgrind731 test 0742...[SOCKS5-hostname with max length credentials and max host name length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind742 ../src/curl -q --output log/1/curl742.out --include --trace-ascii log/1/trace742 --trace-config all --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:34215 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:33393 > log/1/stdout742 2> log/1/stderr742 742: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 742 === Start of file http_server.log 02:02:38.294230 ====> Client connect 02:02:38.294260 accept_connection 3 returned 4 02:02:38.294276 accept_connection 3 returned 0 02:02:38.294289 Read 93 bytes 02:02:38.294300 Process 93 bytes request 02:02:38.294313 Got request: GET /verifiedserver HTTP/1.1 02:02:38.294323 Are-we-friendly question received 02:02:38.294345 Wrote request (93 bytes) input to log/1/server.input 02:02:38.294362 Identifying ourselves as friends 02:02:38.294421 Response sent (56 bytes) and written to log/1/server.response 02:02:38.294432 special request received, no persistency 02:02:38.294441 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 34215 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind742 ==114504== ==114504== Process terminating with default action of signal 4 (SIGILL) ==114504== Illegal opcode at address 0x10B08D ==114504== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114504== by 0x10B08D: main (tool_main.c:232) === End of file valgrind742 test 0799...[IMAP with --login-options 'AUTH=+LOGIN'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind799 ../src/curl -q --output log/2/curl799.out --include --trace-ascii log/2/trace799 --trace-config all --trace-time 'imap://127.0.0.1:41219/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/2/stdout799 2> log/2/stderr799 799: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 799 === Start of file imap_server.log 02:02:38.108816 ====> Client connect 02:02:38.108962 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:38.109269 < "A001 CAPABILITY" 02:02:38.109307 > "A001 BAD Command[CR][LF]" 02:02:38.109564 < "A002 LIST "verifiedserver" *" 02:02:38.109593 LIST_imap got "verifiedserver" * 02:02:38.109622 > "* LIST () "/" "WE ROOLZ: 110936"[CR][LF]" 02:02:38.109640 > "A002 OK LIST Completed[CR][LF]" 02:02:38.109653 return proof we are we 02:02:38.152135 < "A003 LOGOUT" 02:02:38.152184 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:38.152201 > "A003 OK LOGOUT completed[CR][LF]" 02:02:38.199242 MAIN sockfilt said DISC 02:02:38.199298 ====> Client disconnected 02:02:38.199370 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.308853 ====> Client connect 02:02:38.309118 Received DATA (on stdin) 02:02:38.309135 > 178 bytes data, server => client 02:02:38.309149 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:38.309161 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:38.309172 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:38.309182 'rve\r\n' 02:02:38.309258 < 17 bytes data, client => server 02:02:38.309273 'A001 CAPABILITY\r\n' 02:02:38.309449 Received DATA (on stdin) 02:02:38.309462 > 18 bytes data, server => client 02:02:38.309473 'A001 BAD Command\r\n' 02:02:38.309591 < 30 bytes data, client => server 02:02:38.309609 'A002 LIST "verifiedserver" *\r\n' 02:02:38.309814 Received DATA (on stdin) 02:02:38.310007 > 34 bytes data, server => client 02:02:38.310049 '* LIST () "/" "WE ROOLZ: 110936"\r\n' 02:02:38.310123 Received DATA (on stdin) 02:02:38.310156 > 24 bytes data, server => client 02:02:38.310179 'A002 OK LIST Completed\r\n' 02:02:38.352089 < 13 bytes data, client => server 02:02:38.352122 'A003 LOGOUT\r\n' 02:02:38.352339 Received DATA (on stdin) 02:02:38.352349 > 36 bytes data, server => client 02:02:38.352361 '* BYE curl IMAP server signing off\r\n' 02:02:38.352384 Received DATA (on stdin) 02:02:38.352394 > 26 bytes data, server => client 02:02:38.3524CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind715 ../src/curl -q --output log/3/curl715.out --include --trace-ascii log/3/trace715 --trace-config all --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:45983 --proxytunnel --proxy 127.0.0.1:35495 --preproxy socks5://127.0.0.1:44741 > log/3/stdout715 2> log/3/stderr715 05 'A003 OK LOGOUT completed\r\n' 02:02:38.399294 ====> Client disconnect 02:02:38.399513 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY LOGIN A002 OK LOGIN completed Testnum 799 === End of file server.cmd === Start of file valgrind799 ==114555== ==114555== Process terminating with default action of signal 4 (SIGILL) ==114555== Illegal opcode at address 0x10B08D ==114555== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114555== by 0x10B08D: main (tool_main.c:232) === End of file valgrind799 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/3/server/http2_server.pid" --logfile "log/3/http2_server.log" --logdir "log/3" --portfile log/3/server/http2_server.port --config log/3/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/3/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:35495/verifiedserver" 2>log/3/http2_verify.log RUN: HTTP2 server is on PID 112673 port 35495 * pid http-proxy => 112673 112673 startnew: server/socksd --port 0 --pidfile log/3/server/socks_server.pid --portfile log/3/server/socks_server.port --reqfile log/3/socksd-request.log --logfile log/3/socks_server.log --backend 127.0.0.1 --config log/3/server.cmd RUN: SOCKS server is now running PID 113875 * pid socks => 113875 113875 test 0715...[FTP fetch with --preproxy, --proxy and --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind715 ../src/curl -q --output log/3/curl715.out --include --trace-ascii log/3/trace715 --trace-config all --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:45983 --proxytunnel --proxy 127.0.0.1:35495 --preproxy socks5://127.0.0.1:44741 > log/3/stdout715 2> log/3/stderr715 715: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 715 === Start of file ftp_server.log 02:02:36.185153 ====> Client connect 02:02:36.185308 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:36.185625 < "USER anonymous" 02:02:36.185664 > "331 We are happy you popped in![CR][LF]" 02:02:36.185858 < "PASS ftp@example.com" 02:02:36.185888 > "230 Welcome you silly person[CR][LF]" 02:02:36.186066 < "PWD" 02:02:36.186102 > "257 "/" is current directory[CR][LF]" 02:02:36.186303 < "EPSV" 02:02:36.186331 ====> Passive DATA channel requested by client 02:02:36.186347 DATA sockfilt for passive data channel starting... 02:02:36.192587 DATA sockfilt for passive data channel started (pid 112626) 02:02:36.192695 DATA sockfilt for passive data channel listens on port 33917 02:02:36.192735 > "229 Entering Passive Mode (|||33917|)[LF]" 02:02:36.192752 Client has been notified that DATA conn will be accepted on port 33917 02:02:36.193011 Client connects to port 33917 02:02:36.193039 ====> Client established passive DATA connection on port 33917 02:02:36.193112 < "TYPE I" 02:02:36.193137 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:36.193288 < "SIZE verifiedserver" 02:02:36.193322 > "213 17[CR][LF]" 02:02:36.193461 < "RETR verifiedserver" 02:02:36.193489 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:36.193562 =====> Closing passive DATA connection... 02:02:36.193577 Server disconnects passive DATA connection 02:02:36.193792 Server disconnected passive DATA connection 02:02:36.193818 DATA sockfilt for passive data channel quits (pid 112626) 02:02:36.194005 DATA sockfilt for passive data channel quit (pid 112626) 02:02:36.194024 =====> Closed passive DATA connection 02:02:36.194048 > "226 File transfer complete[CR][LF]" 02:02:36.241844 < "QUIT" 02:02:36.241896 > "221 bye bye baby[CR][LF]" 02:02:36.242771 MAIN sockfilt said DISC 02:02:36.242811 ====> Client disconnected 02:02:36.242883 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:36.385167 ====> Client connect 02:02:36.385462 Received DATA (on stdin) 02:02:36.385480 > 160 bytes data, server => client 02:02:36.385494 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:36.385506 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:36.385519 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:36.385620 < 16 bytes data, client => server 02:02:36.385637 'USER anonymous\r\n' 02:02:36.385812 Received DATA (on stdin) 02:02:36.385827 > 33 bytes data, server => client 02:02:36.385840 '331 We are happy you popped in!\r\n' 02:02:36.385901 < 22 bytes data, client => server 02:02:36.385917 'PASS ftp@example.com\r\n' 02:02:36.386030 Received DATA (on stdin) 02:02:36.386044 > 30 bytes data, server => client 02:02:36.386056 '230 Welcome you silly person\r\n' 02:02:36.386114 < 5 bytes data, client => server 02:02:36.386129 'PWD\r\n' 02:02:36.386245 Received DATA (on stdin) 02:02:36.386259 > 30 bytes data, server => client 02:02:36.386272 '257 "/" is current directory\r\n' 02:02:36.386346 < 6 bytes data, client => server 02:02:36.386364 'EPSV\r\n' 02:02:36.392901 Received DATA (on stdin) 02:02:36.392917 > 38 bytes data, server => client 02:02:36.392929 '229 Entering Passive Mode (|||33917|)\n' 02:02:36.393074 < 8 bytes data, client => server 02:02:36.393089 'TYPE I\r\n' 02:02:36.393275 Received DATA (on stdin) 02:02:36.393287 > 33 bytes data, server => client 02:02:36.393298 '200 I modify TYPE as you wanted\r\n' 02:02:36.393352 < 21 bytes data, client => server 02:02:36.393363 'SIZE verifiedserver\r\n' 02:02:36.393460 Received DATA (on stdin) 02:02:36.393471 > 8 bytes data, server => client 02:02:36.393481 '213 17\r\n' 02:02:36.393527 < 21 bytes data, client => server 02:02:36.393538 'RETR verifiedserver\r\n' 02:02:36.393804 Received DATA (on stdin) 02:02:36.393816 > 29 bytes data, server => client 02:02:36.393827 '150 Binary junk (17 bytes).\r\n' 02:02:36.394188 Received DATA (on stdin) 02:02:36.394201 > 28 bytes data, server => client 02:02:36.394212 '226 File transfer complete\r\n' 02:02:36.438625 < 6 bytes data, client => server 02:02:36.438660 'QUIT\r\n' 02:02:36.442043 Received DATA (on stdin) 02:02:36.442059 > 18 bytes data, server => client 02:02:36.442070 '221 bye bye baby\r\n' 02:02:36.442852 ====> Client disconnect 02:02:36.443022 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:36.390475 Running IPv4 version 02:02:36.390528 Listening on port 33917 02:02:36.390561 Wrote pid 112626 to log/3/server/ftp_sockdata.pid 02:02:36.392661 Received PING (on stdin) 02:02:36.392752 Received PORT (on stdin) 02:02:36.393107 ====> Client connect 02:02:36.393716 Received DATA (on stdin) 02:02:36.393729 > 17 bytes data, server => client 02:02:36.393739 'WE ROOLZ: 80465\r\n' 02:02:36.393768 Received DISC (on stdin) 02:02:36.393781 ====> Client forcibly disconnected 02:02:36.393964 Received QUIT (on stdin) 02:02:36.393975 quits 02:02:36.394017 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 02:02:36.466503 Run as proxy, CONNECT to host 127.0.0.1 02:02:36.466619 Running HTTP IPv4 version on port 35495 02:02:36.466660 Wrote pid 112673 to log/3/server/http2_server.pid 02:02:36.466691 Wrote port 35495 to log/3/server/http2_server.port 02:02:37.467569 ====> Client connect 02:02:37.467596 accept_connection 3 returned 4 02:02:37.467612 accept_connection 3 returned 0 02:02:37.467627 Read 93 bytes 02:02:37.467639 Process 93 bytes request 02:02:37.467658 Got request: GET /verifiedserver HTTP/1.1 02:02:37.467669 Are-we-friendly question received 02:02:37.467697 Wrote request (93 bytes) input to log/3/proxy.input 02:02:37.467720 Identifying ourselves as friends 02:02:37.467797 Response sent CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind740 ../src/curl -q --output log/12/curl740.out --include --trace-ascii log/12/trace740 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout740 2> log/12/stderr740 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind741 ../src/curl -q --output log/11/curl741.out --include --trace-ascii log/11/trace741 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout741 2> log/11/stderr741 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind807 ../src/curl -q --output log/1/curl807.out --include --trace-ascii log/1/trace807 --trace-config all --trace-time imap://127.0.0.1:39155 -u user:secret -X 'LSUB "807" *' > log/1/stdout807 2> log/1/stderr807 (57 bytes) and written to log/3/proxy.response 02:02:37.467808 special request received, no persistency 02:02:37.467819 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35495... * Connected to 127.0.0.1 (127.0.0.1) port 35495 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35495 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 112673 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112673 === End of file proxy.response === Start of file server.cmd Testnum 715 === End of file server.cmd === Start of file socks_server.log 02:02:37.474946 Running IPv4 version 02:02:37.475013 Listening on port 44741 02:02:37.475048 Wrote pid 113875 to log/3/server/socks_server.pid 02:02:37.475079 Wrote port 44741 to log/3/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 ==114608== ==114608== Process terminating with default action of signal 4 (SIGILL) ==114608== Illegal opcode at address 0x10B08D ==114608== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114608== by 0x10B08D: main (tool_main.c:232) === End of file valgrind715 setenv HOME = /startdir/src/build-curl/tests/log/12 test 0740...[IPFS with gateway URL from multiline gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind740 ../src/curl -q --output log/12/curl740.out --include --trace-ascii log/12/trace740 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout740 2> log/12/stderr740 740: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 740 === Start of file http_server.log 02:02:37.983206 ====> Client connect 02:02:37.983237 accept_connection 3 returned 4 02:02:37.983254 accept_connection 3 returned 0 02:02:37.983268 Read 93 bytes 02:02:37.983279 Process 93 bytes request 02:02:37.983291 Got request: GET /verifiedserver HTTP/1.1 02:02:37.983301 Are-we-friendly question received 02:02:37.983325 Wrote request (93 bytes) input to log/12/server.input 02:02:37.983343 Identifying ourselves as friends 02:02:37.983429 Response sent (56 bytes) and written to log/12/server.response 02:02:37.983441 special request received, no persistency 02:02:37.983451 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 740 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind740 ==114204== ==114204== Process terminating with default action of signal 4 (SIGILL) ==114204== Illegal opcode at address 0x10B08D ==114204== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114204== by 0x10B08D: main (tool_main.c:232) === End of file valgrind740 setenv HOME = /startdir/src/build-curl/tests/log/11 test 0741...[IPFS with malformed gateway URL from multiline gateway file, first line no url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind741 ../src/curl -q --output log/11/curl741.out --include --trace-ascii log/11/trace741 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout741 2> log/11/stderr741 curl returned 132, when expecting 3 741: exit FAILED == Contents of files in the log/11/ dir after test 741 === Start of file http_server.log 02:02:38.186702 ====> Client connect 02:02:38.186737 accept_connection 3 returned 4 02:02:38.186753 accept_connection 3 returned 0 02:02:38.186766 Read 93 bytes 02:02:38.186776 Process 93 bytes request 02:02:38.186790 Got request: GET /verifiedserver HTTP/1.1 02:02:38.186800 Are-we-friendly question received 02:02:38.186828 Wrote request (93 bytes) input to log/11/server.input 02:02:38.186847 Identifying ourselves as friends 02:02:38.186913 Response sent (56 bytes) and written to log/11/server.response 02:02:38.186923 special request received, no persistency 02:02:38.186932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 741 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind741 ==114425== ==114425== Process terminating with default action of signal 4 (SIGILL) ==114425== Illegal opcode at address 0x10B08D ==114425== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114425== by 0x10B08D: main (tool_main.c:232) === End of file valgrind741 test 0807...[IMAP LSUB mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind807 ../src/curl -q --output log/1/curl807.out --include --trace-ascii log/1/trace807 --trace-config all --trace-time imap://127.0.0.1:39155 -u user:secret -X 'LSUB "807" *' > log/1/stdout807 2> log/1/stderr807 807: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 807 === Start of file imap_server.log 02:02:38.651728 ====> Client connect 02:02:38.651867 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:38.652156 < "A001 CAPABILITY" 02:02:38.652190 > "A001 BAD Command[CR][LF]" 02:02:38.652362 < "A002 LIST "verifiedserver" *" 02:02:38.652389 LIST_imap got "verifiedserver" * 02:02:38.652414 > "* LIST () "/" "WE ROOLZ: 109828"[CR][LF]" 02:02:38.652432 > "A002 OK LIST Completed[CR][LF]" 02:02:38.652445 return proof we are we 02:02:38.696753 < "A003 LOGOUT" 02:02:38.696792 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:38.696806 > "A003 OK LOGOUT completed[CR][LF]" 02:02:38.745134 MAIN sockfilt said DISC 02:02:38.745181 ====> Client disconnected 02:02:38.745251 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.851755 ====> Client connect 02:02:38.852019 Received DATA (on stdin) 02:02:38.852035 > 178 bytes data, server => client 02:02:38.852048 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:38.852060 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:38.852072 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:38.852082 'rve\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind808 ../src/curl -q --output log/2/curl808.out --include --trace-ascii log/2/trace808 --trace-config all --trace-time imap://127.0.0.1:41219 -u user:secret -X 'EXAMINE 808' > log/2/stdout808 2> log/2/stderr808 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind810 ../src/curl -q --output log/12/curl810.out --include --trace-ascii log/12/trace810 --trace-config all --trace-time imap://127.0.0.1:40655/810?NEW -u user:secret > log/12/stdout810 2> log/12/stderr810 02:02:38.852160 < 17 bytes data, client => server 02:02:38.852174 'A001 CAPABILITY\r\n' 02:02:38.852331 Received DATA (on stdin) 02:02:38.852345 > 18 bytes data, server => client 02:02:38.852356 'A001 BAD Command\r\n' 02:02:38.852414 < 30 bytes data, client => server 02:02:38.852427 'A002 LIST "verifiedserver" *\r\n' 02:02:38.852580 Received DATA (on stdin) 02:02:38.852623 > 34 bytes data, server => client 02:02:38.852654 '* LIST () "/" "WE ROOLZ: 109828"\r\n' 02:02:38.852687 Received DATA (on stdin) 02:02:38.852702 > 24 bytes data, server => client 02:02:38.852717 'A002 OK LIST Completed\r\n' 02:02:38.896788 < 13 bytes data, client => server 02:02:38.896815 'A003 LOGOUT\r\n' 02:02:38.896941 Received DATA (on stdin) 02:02:38.896952 > 36 bytes data, server => client 02:02:38.896960 '* BYE curl IMAP server signing off\r\n' 02:02:38.896980 Received DATA (on stdin) 02:02:38.896988 > 26 bytes data, server => client 02:02:38.896996 'A003 OK LOGOUT completed\r\n' 02:02:38.945208 ====> Client disconnect 02:02:38.945327 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 807 === End of file server.cmd === Start of file valgrind807 ==114705== ==114705== Process terminating with default action of signal 4 (SIGILL) ==114705== Illegal opcode at address 0x10B08D ==114705== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114705== by 0x10B08D: main (tool_main.c:232) === End of file valgrind807 test 0808...[IMAP EXAMINE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind808 ../src/curl -q --output log/2/curl808.out --include --trace-ascii log/2/trace808 --trace-config all --trace-time imap://127.0.0.1:41219 -u user:secret -X 'EXAMINE 808' > log/2/stdout808 2> log/2/stderr808 808: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 808 === Start of file imap_server.log 02:02:38.692558 ====> Client connect 02:02:38.692688 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:38.692942 < "A001 CAPABILITY" 02:02:38.692971 > "A001 BAD Command[CR][LF]" 02:02:38.693167 < "A002 LIST "verifiedserver" *" 02:02:38.693197 LIST_imap got "verifiedserver" * 02:02:38.693274 > "* LIST () "/" "WE ROOLZ: 110936"[CR][LF]" 02:02:38.693302 > "A002 OK LIST Completed[CR][LF]" 02:02:38.693315 return proof we are we 02:02:38.741994 < "A003 LOGOUT" 02:02:38.742044 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:38.742060 > "A003 OK LOGOUT completed[CR][LF]" 02:02:38.787617 MAIN sockfilt said DISC 02:02:38.787751 ====> Client disconnected 02:02:38.787900 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.892573 ====> Client connect 02:02:38.892836 Received DATA (on stdin) 02:02:38.892850 > 178 bytes data, server => client 02:02:38.892862 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:38.892872 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:38.892881 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:38.892890 'rve\r\n' 02:02:38.892957 < 17 bytes data, client => server 02:02:38.892968 'A001 CAPABILITY\r\n' 02:02:38.893107 Received DATA (on stdin) 02:02:38.893117 > 18 bytes data, server => client 02:02:38.893125 'A001 BAD Command\r\n' 02:02:38.893176 < 30 bytes data, client => server 02:02:38.893186 'A002 LIST "verifiedserver" *\r\n' 02:02:38.893403 Received DATA (on stdin) 02:02:38.893433 > 34 bytes data, server => client 02:02:38.893470 '* LIST () "/" "WE ROOLZ: 110936"\r\n' 02:02:38.893496 Received DATA (on stdin) 02:02:38.893506 > 24 bytes data, server => client 02:02:38.893515 'A002 OK LIST Completed\r\n' 02:02:38.941947 < 13 bytes data, client => server 02:02:38.941983 'A003 LOGOUT\r\n' 02:02:38.942201 Received DATA (on stdin) 02:02:38.942214 > 36 bytes data, server => client 02:02:38.942225 '* BYE curl IMAP server signing off\r\n' 02:02:38.942251 Received DATA (on stdin) 02:02:38.942265 > 26 bytes data, server => client 02:02:38.942275 'A003 OK LOGOUT completed\r\n' 02:02:38.987405 ====> Client disconnect 02:02:38.987949 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 808 === End of file server.cmd === Start of file valgrind808 ==114758== ==114758== Process terminating with default action of signal 4 (SIGILL) ==114758== Illegal opcode at address 0x10B08D ==114758== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114758== by 0x10B08D: main (tool_main.c:232) === End of file valgrind808 test 0810...[IMAP SEARCH for NEW messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind810 ../src/curl -q --output log/12/curl810.out --include --trace-ascii log/12/trace810 --trace-config all --trace-time imap://127.0.0.1:40655/810?NEW -u user:secret > log/12/stdout810 2> log/12/stderr810 810: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 810 === Start of file imap_server.log 02:02:38.890512 ====> Client connect 02:02:38.890649 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:38.890948 < "A001 CAPABILITY" 02:02:38.890987 > "A001 BAD Command[CR][LF]" 02:02:38.891182 < "A002 LIST "verifiedserver" *" 02:02:38.891212 LIST_imap got "verifiedserver" * 02:02:38.891241 > "* LIST () "/" "WE ROOLZ: 109159"[CR][LF]" 02:02:38.891260 > "A002 OK LIST Completed[CR][LF]" 02:02:38.891274 return proof we are we 02:02:38.938658 < "A003 LOGOUT" 02:02:38.938711 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:38.938730 > "A003 OK LOGOUT completed[CR][LF]" 02:02:38.983972 MAIN sockfilt said DISC 02:02:38.984025 ====> Client disconnected 02:02:38.984079 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:39.090527 ====> Client connect 02:02:39.090805 Received DATA (on stdin) 02:02:39.090822 > 178 bytes data, server => client 02:02:39.090836 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.090848 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.090859 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.090869 'rve\r\n' 02:02:39.090945 < 17 bytes data, client => server 02:02:39.090959 'A001 CAPABILITY\r\n' 02:02:39.091130 Received DATA (on stdin) 02:02:39.091144 > 18 bytes data, server => client 02:02:39.091156 'A001 BAD Command\r\n' 02:02:39.091219 < 30 bytes data, client => server 02:02:39.091235 'A002 LIST "verifiedserver" *\r\n' 02:02:39.091413 Received DATA (on stdin) 02:02:39.091427 > 34 bytes data, server => client 02:02:39.091439 '* LIST () "/" "WE ROOLZ: 109159"\r\n' 02:02:39.091466 Received DATA (on stdin) 02:02:39.091478 > 24 bytes data, server => client 02:02:39.091489 'A002 OK LIST Completed\r\n' 02:02:39.138597 < 13 bytes data, client => server 02:02:39.138638 'A003 LOGOUT\r\n' 02:02:39.138870 Received DATA (on stdin) 02:02:39.138883 > 36 bytes data, server => client 02:02:39.138895 '* BYE curl IMAP server signing off\r\n' 02:02:39.138921 Received DATA (on stdin) 02:02:39.138932 > 26 bytes data, server => client 02:02:39.138942 'A003 OK LOGOUT completed\r\n' 02:02:39.184038 ====> Client disconnect 02:02:39.184214 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 810 === End of file server.cmd === Start of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind812 ../src/curl -q --output log/1/curl812.out --include --trace-ascii log/1/trace812 --trace-config all --trace-time imap://127.0.0.1:39155 -u user:secret -X 'DELETE 812' > log/1/stdout812 2> log/1/stderr812 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind800 ../src/curl -q --output log/7/curl800.out --include --trace-ascii log/7/trace800 --trace-config all --trace-time 'imap://127.0.0.1:37625/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/7/stdout800 2> log/7/stderr800 valgrind810 ==114827== ==114827== Process terminating with default action of signal 4 (SIGILL) ==114827== Illegal opcode at address 0x10B08D ==114827== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114827== by 0x10B08D: main (tool_main.c:232) === End of file valgrind810 test 0812...[IMAP DELETE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind812 ../src/curl -q --output log/1/curl812.out --include --trace-ascii log/1/trace812 --trace-config all --trace-time imap://127.0.0.1:39155 -u user:secret -X 'DELETE 812' > log/1/stdout812 2> log/1/stderr812 812: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 812 === Start of file imap_server.log 02:02:39.252348 ====> Client connect 02:02:39.252492 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.252756 < "A001 CAPABILITY" 02:02:39.252784 > "A001 BAD Command[CR][LF]" 02:02:39.252910 < "A002 LIST "verifiedserver" *" 02:02:39.252944 LIST_imap got "verifiedserver" * 02:02:39.252976 > "* LIST () "/" "WE ROOLZ: 109828"[CR][LF]" 02:02:39.252993 > "A002 OK LIST Completed[CR][LF]" 02:02:39.253003 return proof we are we 02:02:39.299739 < "A003 LOGOUT" 02:02:39.299778 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.299792 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.341982 MAIN sockfilt said DISC 02:02:39.342050 ====> Client disconnected 02:02:39.342127 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:39.452391 ====> Client connect 02:02:39.452642 Received DATA (on stdin) 02:02:39.452660 > 178 bytes data, server => client 02:02:39.452673 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.452684 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.452695 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.452704 'rve\r\n' 02:02:39.452779 < 17 bytes data, client => server 02:02:39.452789 'A001 CAPABILITY\r\n' 02:02:39.452919 Received DATA (on stdin) 02:02:39.452929 > 18 bytes data, server => client 02:02:39.452937 'A001 BAD Command\r\n' 02:02:39.452980 < 30 bytes data, client => server 02:02:39.452989 'A002 LIST "verifiedserver" *\r\n' 02:02:39.453111 Received DATA (on stdin) 02:02:39.453121 > 34 bytes data, server => client 02:02:39.453129 '* LIST () "/" "WE ROOLZ: 109828"\r\n' 02:02:39.453155 Received DATA (on stdin) 02:02:39.453166 > 24 bytes data, server => client 02:02:39.453175 'A002 OK LIST Completed\r\n' 02:02:39.498507 < 13 bytes data, client => server 02:02:39.498544 'A003 LOGOUT\r\n' 02:02:39.501025 Received DATA (on stdin) 02:02:39.501047 > 36 bytes data, server => client 02:02:39.501058 '* BYE curl IMAP server signing off\r\n' 02:02:39.501086 Received DATA (on stdin) 02:02:39.501095 > 26 bytes data, server => client 02:02:39.501105 'A003 OK LOGOUT completed\r\n' 02:02:39.541933 ====> Client disconnect 02:02:39.542277 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 812 === End of file server.cmd === Start of file valgrind812 ==114940== ==114940== Process terminating with default action of signal 4 (SIGILL) ==114940== Illegal opcode at address 0x10B08D ==114940== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114940== by 0x10B08D: main (tool_main.c:232) === End of file valgrind812 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/imap_server.pid" --logfile "log/7/imap_server.log" --logdir "log/7" --portfile "log/7/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37625 (log/7/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:37625/verifiedserver" 2>log/7/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114558 port 37625 * pid imap => 114558 114558 test 0800...[IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind800 ../src/curl -q --output log/7/curl800.out --include --trace-ascii log/7/trace800 --trace-config all --trace-time 'imap://127.0.0.1:37625/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/7/stdout800 2> log/7/stderr800 800: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 800 === Start of file imap_server.log 02:02:38.248667 IMAP server listens on port IPv4/37625 02:02:38.248745 logged pid 114558 in log/7/server/imap_server.pid 02:02:38.248769 Awaiting input 02:02:39.234627 ====> Client connect 02:02:39.234732 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.234952 < "A001 CAPABILITY" 02:02:39.234980 > "A001 BAD Command[CR][LF]" 02:02:39.235252 < "A002 LIST "verifiedserver" *" 02:02:39.235283 LIST_imap got "verifiedserver" * 02:02:39.235307 > "* LIST () "/" "WE ROOLZ: 114558"[CR][LF]" 02:02:39.235323 > "A002 OK LIST Completed[CR][LF]" 02:02:39.235334 return proof we are we 02:02:39.282002 < "A003 LOGOUT" 02:02:39.282057 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.282077 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.326085 MAIN sockfilt said DISC 02:02:39.326145 ====> Client disconnected 02:02:39.326217 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.448397 Running IPv4 version 02:02:38.448456 Listening on port 37625 02:02:38.448507 Wrote pid 114601 to log/7/server/imap_sockfilt.pid 02:02:38.448539 Wrote port 37625 to log/7/server/imap_server.port 02:02:38.448715 Received PING (on stdin) 02:02:39.434703 ====> Client connect 02:02:39.434873 Received DATA (on stdin) 02:02:39.434883 > 178 bytes data, server => client 02:02:39.434893 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.434901 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.434910 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.434917 'rve\r\n' 02:02:39.434974 < 17 bytes data, client => server 02:02:39.434983 'A001 CAPABILITY\r\n' 02:02:39.435116 Received DATA (on stdin) 02:02:39.435125 > 18 bytes data, server => client 02:02:39.435133 'A001 BAD Command\r\n' 02:02:39.435324 < 30 bytes data, client => server 02:02:39.435337 'A002 LIST "verifiedserver" *\r\n' 02:02:39.435471 Received DATA (on stdin) 02:02:39.435482 > 34 bytes data, server => client 02:02:39.435492 '* LIST () "/" "WE ROOLZ: 114558"\r\n' 02:02:39.435517 Received DATA (on stdin) 02:02:39.435526 > 24 bytes data, server => client 02:02:39.435536 'A002 OK LIST Completed\r\n' 02:02:39.481949 < 13 bytes data, client => server 02:02:39.481984 'A003 LOGOUT\r\n' 02:02:39.482219 Received DATA (on stdin) 02:02:39.482236 > 36 bytes data, server => client 02:02:39.482247 '* BYE curl IMAP server signing off\r\n' 02:02:39.482274 Received DATA (on stdin) 02:02:39.482284 > 26 bytes data, server => client 02:02:39.482296 'A003 OK LOGOUT completed\r\n' 02:02:39.526134 ====> Client disconnect 02:02:39.526361 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 800 === End of file server.cmd === Start of file valgrind800 ==114924== ==114924== Process terminating with default action of signal 4 (SIGILL) ==114924== Illegal opcode at address 0x10B08D ==114924== at 0x10CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind813 ../src/curl -q --output log/2/curl813.out --include --trace-ascii log/2/trace813 --trace-config all --trace-time imap://127.0.0.1:41219 -u user:secret -X 'RENAME 666 813' > log/2/stdout813 2> log/2/stderr813 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind801 ../src/curl -q --output log/5/curl801.out --include --trace-ascii log/5/trace801 --trace-config all --trace-time 'imap://127.0.0.1:45695/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/5/stdout801 2> log/5/stderr801 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind802 ../src/curl -q --output log/10/curl802.out --include --trace-ascii log/10/trace802 --trace-config all --trace-time 'imap://127.0.0.1:35147/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/10/stdout802 2> log/10/stderr802 B08D: UnknownInlinedFun (string_fortified.h:59) ==114924== by 0x10B08D: main (tool_main.c:232) === End of file valgrind800 test 0813...[IMAP RENAME mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind813 ../src/curl -q --output log/2/curl813.out --include --trace-ascii log/2/trace813 --trace-config all --trace-time imap://127.0.0.1:41219 -u user:secret -X 'RENAME 666 813' > log/2/stdout813 2> log/2/stderr813 813: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 813 === Start of file imap_server.log 02:02:39.254962 ====> Client connect 02:02:39.255076 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.255288 < "A001 CAPABILITY" 02:02:39.255314 > "A001 BAD Command[CR][LF]" 02:02:39.255435 < "A002 LIST "verifiedserver" *" 02:02:39.255454 LIST_imap got "verifiedserver" * 02:02:39.255471 > "* LIST () "/" "WE ROOLZ: 110936"[CR][LF]" 02:02:39.255483 > "A002 OK LIST Completed[CR][LF]" 02:02:39.255492 return proof we are we 02:02:39.298636 < "A003 LOGOUT" 02:02:39.298695 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.298720 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.345593 MAIN sockfilt said DISC 02:02:39.345637 ====> Client disconnected 02:02:39.345693 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:39.455026 ====> Client connect 02:02:39.455211 Received DATA (on stdin) 02:02:39.455226 > 178 bytes data, server => client 02:02:39.455238 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.455247 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.455255 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.455262 'rve\r\n' 02:02:39.455319 < 17 bytes data, client => server 02:02:39.455328 'A001 CAPABILITY\r\n' 02:02:39.455449 Received DATA (on stdin) 02:02:39.455459 > 18 bytes data, server => client 02:02:39.455466 'A001 BAD Command\r\n' 02:02:39.455509 < 30 bytes data, client => server 02:02:39.455517 'A002 LIST "verifiedserver" *\r\n' 02:02:39.455624 Received DATA (on stdin) 02:02:39.455633 > 34 bytes data, server => client 02:02:39.455641 '* LIST () "/" "WE ROOLZ: 110936"\r\n' 02:02:39.455658 Received DATA (on stdin) 02:02:39.455666 > 24 bytes data, server => client 02:02:39.455673 'A002 OK LIST Completed\r\n' 02:02:39.498595 < 13 bytes data, client => server 02:02:39.498617 'A003 LOGOUT\r\n' 02:02:39.498864 Received DATA (on stdin) 02:02:39.498879 > 36 bytes data, server => client 02:02:39.498891 '* BYE curl IMAP server signing off\r\n' 02:02:39.498920 Received DATA (on stdin) 02:02:39.498932 > 26 bytes data, server => client 02:02:39.498942 'A003 OK LOGOUT completed\r\n' 02:02:39.545665 ====> Client disconnect 02:02:39.545836 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 813 === End of file server.cmd === Start of file valgrind813 ==114942== ==114942== Process terminating with default action of signal 4 (SIGILL) ==114942== Illegal opcode at address 0x10B08D ==114942== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==114942== by 0x10B08D: main (tool_main.c:232) === End of file valgrind813 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/imap_server.pid" --logfile "log/5/imap_server.log" --logdir "log/5" --portfile "log/5/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45695 (log/5/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:45695/verifiedserver" 2>log/5/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114661 port 45695 * pid imap => 114661 114661 test 0801...[IMAP FETCH message by MAILINDEX and SECTION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind801 ../src/curl -q --output log/5/curl801.out --include --trace-ascii log/5/trace801 --trace-config all --trace-time 'imap://127.0.0.1:45695/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/5/stdout801 2> log/5/stderr801 801: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 801 === Start of file imap_server.log 02:02:38.407955 IMAP server listens on port IPv4/45695 02:02:38.408031 logged pid 114661 in log/5/server/imap_server.pid 02:02:38.408058 Awaiting input 02:02:39.386141 ====> Client connect 02:02:39.386315 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.386652 < "A001 CAPABILITY" 02:02:39.386690 > "A001 BAD Command[CR][LF]" 02:02:39.386871 < "A002 LIST "verifiedserver" *" 02:02:39.386899 LIST_imap got "verifiedserver" * 02:02:39.386919 > "* LIST () "/" "WE ROOLZ: 114661"[CR][LF]" 02:02:39.386932 > "A002 OK LIST Completed[CR][LF]" 02:02:39.386942 return proof we are we 02:02:39.433851 < "A003 LOGOUT" 02:02:39.433907 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.433925 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.475755 MAIN sockfilt said DISC 02:02:39.475815 ====> Client disconnected 02:02:39.475896 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.607825 Running IPv4 version 02:02:38.607892 Listening on port 45695 02:02:38.607952 Wrote pid 114666 to log/5/server/imap_sockfilt.pid 02:02:38.607985 Wrote port 45695 to log/5/server/imap_server.port 02:02:38.608005 Received PING (on stdin) 02:02:39.586204 ====> Client connect 02:02:39.586465 Received DATA (on stdin) 02:02:39.586479 > 178 bytes data, server => client 02:02:39.586491 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.586503 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.586515 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.586524 'rve\r\n' 02:02:39.586624 < 17 bytes data, client => server 02:02:39.586646 'A001 CAPABILITY\r\n' 02:02:39.586831 Received DATA (on stdin) 02:02:39.586844 > 18 bytes data, server => client 02:02:39.586855 'A001 BAD Command\r\n' 02:02:39.586913 < 30 bytes data, client => server 02:02:39.586926 'A002 LIST "verifiedserver" *\r\n' 02:02:39.587076 Received DATA (on stdin) 02:02:39.587085 > 34 bytes data, server => client 02:02:39.587094 '* LIST () "/" "WE ROOLZ: 114661"\r\n' 02:02:39.587114 Received DATA (on stdin) 02:02:39.587122 > 24 bytes data, server => client 02:02:39.587130 'A002 OK LIST Completed\r\n' 02:02:39.633811 < 13 bytes data, client => server 02:02:39.633840 'A003 LOGOUT\r\n' 02:02:39.634064 Received DATA (on stdin) 02:02:39.634076 > 36 bytes data, server => client 02:02:39.634087 '* BYE curl IMAP server signing off\r\n' 02:02:39.634112 Received DATA (on stdin) 02:02:39.634122 > 26 bytes data, server => client 02:02:39.634132 'A003 OK LOGOUT completed\r\n' 02:02:39.675776 ====> Client disconnect 02:02:39.676155 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 801 === End of file server.cmd === Start of file valgrind801 ==115178== ==115178== Process terminating with default action of signal 4 (SIGILL) ==115178== Illegal opcode at address 0x10B08D ==115178== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115178== by 0x10B08D: main (tool_main.c:232) === End of file valgrind801 startCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind803 ../src/curl -q --output log/9/curl803.out --include --trace-ascii log/9/trace803 --trace-config all --trace-time 'imap://127.0.0.1:39997/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/9/stdout803 2> log/9/stderr803 new: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/imap_server.pid" --logfile "log/10/imap_server.log" --logdir "log/10" --portfile "log/10/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35147 (log/10/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:35147/verifiedserver" 2>log/10/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114662 port 35147 * pid imap => 114662 114662 test 0802...[IMAP SELECT UIDVALIDITY Success] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind802 ../src/curl -q --output log/10/curl802.out --include --trace-ascii log/10/trace802 --trace-config all --trace-time 'imap://127.0.0.1:35147/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/10/stdout802 2> log/10/stderr802 802: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 802 === Start of file imap_server.log 02:02:38.418142 IMAP server listens on port IPv4/35147 02:02:38.418207 logged pid 114662 in log/10/server/imap_server.pid 02:02:38.418229 Awaiting input 02:02:39.403372 ====> Client connect 02:02:39.403531 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.403826 < "A001 CAPABILITY" 02:02:39.403860 > "A001 BAD Command[CR][LF]" 02:02:39.404025 < "A002 LIST "verifiedserver" *" 02:02:39.404053 LIST_imap got "verifiedserver" * 02:02:39.404076 > "* LIST () "/" "WE ROOLZ: 114662"[CR][LF]" 02:02:39.404093 > "A002 OK LIST Completed[CR][LF]" 02:02:39.404105 return proof we are we 02:02:39.448800 < "A003 LOGOUT" 02:02:39.449325 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.449361 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.495926 MAIN sockfilt said DISC 02:02:39.495972 ====> Client disconnected 02:02:39.496047 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.618043 Running IPv4 version 02:02:38.618109 Listening on port 35147 02:02:38.618148 Wrote pid 114669 to log/10/server/imap_sockfilt.pid 02:02:38.618188 Wrote port 35147 to log/10/server/imap_server.port 02:02:38.618204 Received PING (on stdin) 02:02:39.603428 ====> Client connect 02:02:39.603679 Received DATA (on stdin) 02:02:39.603692 > 178 bytes data, server => client 02:02:39.603705 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.603717 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.603728 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.603737 'rve\r\n' 02:02:39.603813 < 17 bytes data, client => server 02:02:39.603827 'A001 CAPABILITY\r\n' 02:02:39.604000 Received DATA (on stdin) 02:02:39.604012 > 18 bytes data, server => client 02:02:39.604023 'A001 BAD Command\r\n' 02:02:39.604078 < 30 bytes data, client => server 02:02:39.604091 'A002 LIST "verifiedserver" *\r\n' 02:02:39.604241 Received DATA (on stdin) 02:02:39.604252 > 34 bytes data, server => client 02:02:39.604263 '* LIST () "/" "WE ROOLZ: 114662"\r\n' 02:02:39.604286 Received DATA (on stdin) 02:02:39.604296 > 24 bytes data, server => client 02:02:39.604307 'A002 OK LIST Completed\r\n' 02:02:39.648724 < 13 bytes data, client => server 02:02:39.648760 'A003 LOGOUT\r\n' 02:02:39.649566 Received DATA (on stdin) 02:02:39.649588 > 36 bytes data, server => client 02:02:39.649600 '* BYE curl IMAP server signing off\r\n' 02:02:39.649627 Received DATA (on stdin) 02:02:39.649638 > 26 bytes data, server => client 02:02:39.649650 'A003 OK LOGOUT completed\r\n' 02:02:39.695990 ====> Client disconnect 02:02:39.696192 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 802 === End of file server.cmd === Start of file valgrind802 ==115206== ==115206== Process terminating with default action of signal 4 (SIGILL) ==115206== Illegal opcode at address 0x10B08D ==115206== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115206== by 0x10B08D: main (tool_main.c:232) === End of file valgrind802 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/imap_server.pid" --logfile "log/9/imap_server.log" --logdir "log/9" --portfile "log/9/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39997 (log/9/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:39997/verifiedserver" 2>log/9/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114663 port 39997 * pid imap => 114663 114663 test 0803...[IMAP SELECT UIDVALIDITY Failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind803 ../src/curl -q --output log/9/curl803.out --include --trace-ascii log/9/trace803 --trace-config all --trace-time 'imap://127.0.0.1:39997/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/9/stdout803 2> log/9/stderr803 803: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 803 === Start of file imap_server.log 02:02:38.418341 IMAP server listens on port IPv4/39997 02:02:38.418536 logged pid 114663 in log/9/server/imap_server.pid 02:02:38.418566 Awaiting input 02:02:39.407965 ====> Client connect 02:02:39.408134 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.408570 < "A001 CAPABILITY" 02:02:39.408620 > "A001 BAD Command[CR][LF]" 02:02:39.408849 < "A002 LIST "verifiedserver" *" 02:02:39.408887 LIST_imap got "verifiedserver" * 02:02:39.408917 > "* LIST () "/" "WE ROOLZ: 114663"[CR][LF]" 02:02:39.408935 > "A002 OK LIST Completed[CR][LF]" 02:02:39.408947 return proof we are we 02:02:39.452009 < "A003 LOGOUT" 02:02:39.452062 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.452082 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.495991 MAIN sockfilt said DISC 02:02:39.496040 ====> Client disconnected 02:02:39.496106 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.618241 Running IPv4 version 02:02:38.618297 Listening on port 39997 02:02:38.618340 Wrote pid 114668 to log/9/server/imap_sockfilt.pid 02:02:38.618376 Wrote port 39997 to log/9/server/imap_server.port 02:02:38.618394 Received PING (on stdin) 02:02:39.608019 ====> Client connect 02:02:39.608289 Received DATA (on stdin) 02:02:39.608306 > 178 bytes data, server => client 02:02:39.608319 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.608331 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.608342 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.608352 'rve\r\n' 02:02:39.608429 < 17 bytes data, client => server 02:02:39.608444 'A001 CAPABILITY\r\n' 02:02:39.608766 Received DATA (on stdin) 02:02:39.608782 > 18 bytes data, server => client 02:02:39.608794 'A001 BAD Command\r\n' 02:02:39.608859 < 30 bytes data, client => server 02:02:39.608873 'A002 LIST "verifiedserver" *\r\n' 02:02:39.609921 Received DATA (on stdin) 02:02:39.609941 > 34 bytes data, server => client 02:02:39.609953 '* LIST () "/" "WE ROOLZ: 114663"\r\n' 02:02:39.609979 Received DATA (on stdin) 02:02:39.609991 > 24 bytes data, servCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind805 ../src/curl -q --output log/4/curl805.out --include --trace-ascii log/4/trace805 --trace-config all --trace-time imap://127.0.0.1:39817/805 -T log/4/upload805 -u user:secret > log/4/stdout805 2> log/4/stderr805 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind806 ../src/curl -q --output log/6/curl806.out --include --trace-ascii log/6/trace806 --trace-config all --trace-time imap://127.0.0.1:39533/806 -u user:secret > log/6/stdout806 2> log/6/stderr806 er => client 02:02:39.610002 'A002 OK LIST Completed\r\n' 02:02:39.651997 < 13 bytes data, client => server 02:02:39.652024 'A003 LOGOUT\r\n' 02:02:39.652222 Received DATA (on stdin) 02:02:39.652235 > 36 bytes data, server => client 02:02:39.652246 '* BYE curl IMAP server signing off\r\n' 02:02:39.652273 Received DATA (on stdin) 02:02:39.652284 > 26 bytes data, server => client 02:02:39.652295 'A003 OK LOGOUT completed\r\n' 02:02:39.696057 ====> Client disconnect 02:02:39.696258 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 803 === End of file server.cmd === Start of file valgrind803 ==115205== ==115205== Process terminating with default action of signal 4 (SIGILL) ==115205== Illegal opcode at address 0x10B08D ==115205== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115205== by 0x10B08D: main (tool_main.c:232) === End of file valgrind803 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/imap_server.pid" --logfile "log/4/imap_server.log" --logdir "log/4" --portfile "log/4/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39817 (log/4/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:39817/verifiedserver" 2>log/4/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114665 port 39817 * pid imap => 114665 114665 test 0805...[IMAP APPEND message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind805 ../src/curl -q --output log/4/curl805.out --include --trace-ascii log/4/trace805 --trace-config all --trace-time imap://127.0.0.1:39817/805 -T log/4/upload805 -u user:secret > log/4/stdout805 2> log/4/stderr805 805: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 805 === Start of file imap_server.log 02:02:38.429443 IMAP server listens on port IPv4/39817 02:02:38.429500 logged pid 114665 in log/4/server/imap_server.pid 02:02:38.429518 Awaiting input 02:02:39.440361 ====> Client connect 02:02:39.440702 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.441467 < "A001 CAPABILITY" 02:02:39.441506 > "A001 BAD Command[CR][LF]" 02:02:39.441686 < "A002 LIST "verifiedserver" *" 02:02:39.442092 LIST_imap got "verifiedserver" * 02:02:39.442123 > "* LIST () "/" "WE ROOLZ: 114665"[CR][LF]" 02:02:39.442143 > "A002 OK LIST Completed[CR][LF]" 02:02:39.442156 return proof we are we 02:02:39.485313 < "A003 LOGOUT" 02:02:39.485370 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.485396 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.538827 MAIN sockfilt said DISC 02:02:39.538889 ====> Client disconnected 02:02:39.538957 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.629385 Running IPv4 version 02:02:38.629442 Listening on port 39817 02:02:38.629474 Wrote pid 114671 to log/4/server/imap_sockfilt.pid 02:02:38.629498 Wrote port 39817 to log/4/server/imap_server.port 02:02:38.629512 Received PING (on stdin) 02:02:39.640416 ====> Client connect 02:02:39.640839 Received DATA (on stdin) 02:02:39.640874 > 178 bytes data, server => client 02:02:39.640913 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.640929 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.640940 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.640955 'rve\r\n' 02:02:39.641444 < 17 bytes data, client => server 02:02:39.641463 'A001 CAPABILITY\r\n' 02:02:39.641651 Received DATA (on stdin) 02:02:39.641664 > 18 bytes data, server => client 02:02:39.641675 'A001 BAD Command\r\n' 02:02:39.641734 < 30 bytes data, client => server 02:02:39.641747 'A002 LIST "verifiedserver" *\r\n' 02:02:39.642294 Received DATA (on stdin) 02:02:39.642307 > 34 bytes data, server => client 02:02:39.642317 '* LIST () "/" "WE ROOLZ: 114665"\r\n' 02:02:39.642343 Received DATA (on stdin) 02:02:39.642353 > 24 bytes data, server => client 02:02:39.642364 'A002 OK LIST Completed\r\n' 02:02:39.685289 < 13 bytes data, client => server 02:02:39.685316 'A003 LOGOUT\r\n' 02:02:39.685540 Received DATA (on stdin) 02:02:39.685555 > 36 bytes data, server => client 02:02:39.685568 '* BYE curl IMAP server signing off\r\n' 02:02:39.685597 Received DATA (on stdin) 02:02:39.685610 > 26 bytes data, server => client 02:02:39.685622 'A003 OK LOGOUT completed\r\n' 02:02:39.738650 ====> Client disconnect 02:02:39.739104 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 805 === End of file server.cmd === Start of file upload805 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload805 === Start of file valgrind805 ==115352== ==115352== Process terminating with default action of signal 4 (SIGILL) ==115352== Illegal opcode at address 0x10B08D ==115352== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115352== by 0x10B08D: main (tool_main.c:232) === End of file valgrind805 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/imap_server.pid" --logfile "log/6/imap_server.log" --logdir "log/6" --portfile "log/6/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39533 (log/6/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:39533/verifiedserver" 2>log/6/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114667 port 39533 * pid imap => 114667 114667 test 0806...[IMAP LIST mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind806 ../src/curl -q --output log/6/curl806.out --include --trace-ascii log/6/trace806 --trace-config all --trace-time imap://127.0.0.1:39533/806 -u user:secret > log/6/stdout806 2> log/6/stderr806 806: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 806 === Start of file imap_server.log 02:02:38.441285 IMAP server listens on port IPv4/39533 02:02:38.441342 logged pid 114667 in log/6/server/imap_server.pid 02:02:38.441360 Awaiting input 02:02:39.435280 ====> Client connect 02:02:39.435421 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.435676 < "A001 CAPABILITY" 02:02:39.435707 > "A001 BAD Command[CR][LF]" 02:02:39.435848 < "A002 LIST "verifiedserver" *" 02:02:39.435877 LIST_imap got "verifiedserver" * 02:02:39.435898 > "* LIST () "/" "WE ROOLZ: 114667"[CR][LF]" 02:02:39.435913 > "A002 OK LIST Completed[CR][LF]" 02:02:39.435924 return proof we are we 02:02:39.478670 < "A003 LOGOUT" 02:02:39.478722 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.478742 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.525808 MAIN sockfilt said DISC 02:02:39.525866 ====> Client disconnected 02:02:39.525939 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.641215 Running IPv4 versionCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind804 ../src/curl -q --output log/8/curl804.out --include --trace-ascii log/8/trace804 --trace-config all --trace-time 'imap://127.0.0.1:34799/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:34799/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/8/stdout804 2> log/8/stderr804 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind814 ../src/curl -q --output log/12/curl814.out --include --trace-ascii log/12/trace814 --trace-config all --trace-time imap://127.0.0.1:40655/814 -u user:secret -X 'CHECK' > log/12/stdout814 2> log/12/stderr814 02:02:38.641268 Listening on port 39533 02:02:38.641303 Wrote pid 114673 to log/6/server/imap_sockfilt.pid 02:02:38.641329 Wrote port 39533 to log/6/server/imap_server.port 02:02:38.641343 Received PING (on stdin) 02:02:39.635355 ====> Client connect 02:02:39.635565 Received DATA (on stdin) 02:02:39.635577 > 178 bytes data, server => client 02:02:39.635588 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.635599 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.635609 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.635618 'rve\r\n' 02:02:39.635684 < 17 bytes data, client => server 02:02:39.635695 'A001 CAPABILITY\r\n' 02:02:39.635844 Received DATA (on stdin) 02:02:39.635854 > 18 bytes data, server => client 02:02:39.635864 'A001 BAD Command\r\n' 02:02:39.635912 < 30 bytes data, client => server 02:02:39.635923 'A002 LIST "verifiedserver" *\r\n' 02:02:39.636059 Received DATA (on stdin) 02:02:39.636069 > 34 bytes data, server => client 02:02:39.636079 '* LIST () "/" "WE ROOLZ: 114667"\r\n' 02:02:39.636099 Received DATA (on stdin) 02:02:39.636108 > 24 bytes data, server => client 02:02:39.636118 'A002 OK LIST Completed\r\n' 02:02:39.678629 < 13 bytes data, client => server 02:02:39.678655 'A003 LOGOUT\r\n' 02:02:39.678985 Received DATA (on stdin) 02:02:39.679008 > 36 bytes data, server => client 02:02:39.679021 '* BYE curl IMAP server signing off\r\n' 02:02:39.679050 Received DATA (on stdin) 02:02:39.679063 > 26 bytes data, server => client 02:02:39.679075 'A003 OK LOGOUT completed\r\n' 02:02:39.725861 ====> Client disconnect 02:02:39.726082 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 806 === End of file server.cmd === Start of file valgrind806 ==115297== ==115297== Process terminating with default action of signal 4 (SIGILL) ==115297== Illegal opcode at address 0x10B08D ==115297== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115297== by 0x10B08D: main (tool_main.c:232) === End of file valgrind806 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/imap_server.pid" --logfile "log/8/imap_server.log" --logdir "log/8" --portfile "log/8/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34799 (log/8/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:34799/verifiedserver" 2>log/8/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114664 port 34799 * pid imap => 114664 114664 test 0804...[IMAP doesn't perform SELECT if re-using the same mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind804 ../src/curl -q --output log/8/curl804.out --include --trace-ascii log/8/trace804 --trace-config all --trace-time 'imap://127.0.0.1:34799/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:34799/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/8/stdout804 2> log/8/stderr804 804: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 804 === Start of file imap_server.log 02:02:38.423100 IMAP server listens on port IPv4/34799 02:02:38.423156 logged pid 114664 in log/8/server/imap_server.pid 02:02:38.423174 Awaiting input 02:02:39.417078 ====> Client connect 02:02:39.417237 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.417546 < "A001 CAPABILITY" 02:02:39.417587 > "A001 BAD Command[CR][LF]" 02:02:39.417761 < "A002 LIST "verifiedserver" *" 02:02:39.417797 LIST_imap got "verifiedserver" * 02:02:39.417827 > "* LIST () "/" "WE ROOLZ: 114664"[CR][LF]" 02:02:39.417846 > "A002 OK LIST Completed[CR][LF]" 02:02:39.417859 return proof we are we 02:02:39.463067 < "A003 LOGOUT" 02:02:39.463128 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.463149 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.506667 MAIN sockfilt said DISC 02:02:39.506717 ====> Client disconnected 02:02:39.506774 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.623052 Running IPv4 version 02:02:38.623102 Listening on port 34799 02:02:38.623132 Wrote pid 114670 to log/8/server/imap_sockfilt.pid 02:02:38.623155 Wrote port 34799 to log/8/server/imap_server.port 02:02:38.623168 Received PING (on stdin) 02:02:39.617135 ====> Client connect 02:02:39.617387 Received DATA (on stdin) 02:02:39.617401 > 178 bytes data, server => client 02:02:39.617414 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.617425 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.617437 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.617447 'rve\r\n' 02:02:39.617517 < 17 bytes data, client => server 02:02:39.617531 'A001 CAPABILITY\r\n' 02:02:39.617731 Received DATA (on stdin) 02:02:39.617745 > 18 bytes data, server => client 02:02:39.617756 'A001 BAD Command\r\n' 02:02:39.617808 < 30 bytes data, client => server 02:02:39.617822 'A002 LIST "verifiedserver" *\r\n' 02:02:39.617998 Received DATA (on stdin) 02:02:39.618011 > 34 bytes data, server => client 02:02:39.618022 '* LIST () "/" "WE ROOLZ: 114664"\r\n' 02:02:39.618044 Received DATA (on stdin) 02:02:39.618055 > 24 bytes data, server => client 02:02:39.618065 'A002 OK LIST Completed\r\n' 02:02:39.662889 < 13 bytes data, client => server 02:02:39.662981 'A003 LOGOUT\r\n' 02:02:39.663290 Received DATA (on stdin) 02:02:39.663304 > 36 bytes data, server => client 02:02:39.663317 '* BYE curl IMAP server signing off\r\n' 02:02:39.663348 Received DATA (on stdin) 02:02:39.663360 > 26 bytes data, server => client 02:02:39.663371 'A003 OK LOGOUT completed\r\n' 02:02:39.706729 ====> Client disconnect 02:02:39.706917 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 804 === End of file server.cmd === Start of file valgrind804 ==115240== ==115240== Process terminating with default action of signal 4 (SIGILL) ==115240== Illegal opcode at address 0x10B08D ==115240== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115240== by 0x10B08D: main (tool_main.c:232) === End of file valgrind804 test 0814...[IMAP CHECK mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind814 ../src/curl -q --output log/12/curl814.out --include --trace-ascii log/12/trace814 --trace-config all --trace-time imap://127.0.0.1:40655/814 -u user:secret -X 'CHECK' > log/12/stdout814 2> log/12/stderr814 814: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 814 === Start of file imap_server.log 02:02:39.449159 ====> Client connect 02:02:39.449278 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.449542 < "A001 CAPABILITY" 02:02:39.449575 > "A001 BAD Command[CR][LF]" 02:02:39.449743 < "A002 LIST "verifiedserver" *" 02:02:39.449770 LIST_imap got "verifiedserver" * 02:02:39.449794 > "* LIST () "/" "WE ROOLZ: 109159"[CR][LF]" 02:02:39.449811 > "A002 OK LIST Completed[CR][LF]" 02:02:39.449824 return proof we are we 02:02:39.495628 < "A003 LOGOUT" 02:02:39.495682 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.495702 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.540809 MAIN sockCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind809 ../src/curl -q --output log/3/curl809.out --include --trace-ascii log/3/trace809 --trace-config all --trace-time imap://127.0.0.1:36589 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/3/stdout809 2> log/3/stderr809 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind815 ../src/curl -q --output log/1/curl815.out --include --trace-ascii log/1/trace815 --trace-config all --trace-time imap://127.0.0.1:39155/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:39155/815 -X CLOSE -u user:secret > log/1/stdout815 2> log/1/stderr815 filt said DISC 02:02:39.540854 ====> Client disconnected 02:02:39.540909 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:39.649202 ====> Client connect 02:02:39.649429 Received DATA (on stdin) 02:02:39.649444 > 178 bytes data, server => client 02:02:39.649456 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.649467 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.649478 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.649488 'rve\r\n' 02:02:39.649556 < 17 bytes data, client => server 02:02:39.649569 'A001 CAPABILITY\r\n' 02:02:39.649716 Received DATA (on stdin) 02:02:39.649728 > 18 bytes data, server => client 02:02:39.649738 'A001 BAD Command\r\n' 02:02:39.649795 < 30 bytes data, client => server 02:02:39.649809 'A002 LIST "verifiedserver" *\r\n' 02:02:39.649961 Received DATA (on stdin) 02:02:39.649973 > 34 bytes data, server => client 02:02:39.649983 '* LIST () "/" "WE ROOLZ: 109159"\r\n' 02:02:39.650007 Received DATA (on stdin) 02:02:39.650018 > 24 bytes data, server => client 02:02:39.650028 'A002 OK LIST Completed\r\n' 02:02:39.695309 < 13 bytes data, client => server 02:02:39.695343 'A003 LOGOUT\r\n' 02:02:39.695845 Received DATA (on stdin) 02:02:39.695860 > 36 bytes data, server => client 02:02:39.695872 '* BYE curl IMAP server signing off\r\n' 02:02:39.695901 Received DATA (on stdin) 02:02:39.695913 > 26 bytes data, server => client 02:02:39.695924 'A003 OK LOGOUT completed\r\n' 02:02:39.740882 ====> Client disconnect 02:02:39.741049 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 814 === End of file server.cmd === Start of file valgrind814 ==115344== ==115344== Process terminating with default action of signal 4 (SIGILL) ==115344== Illegal opcode at address 0x10B08D ==115344== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115344== by 0x10B08D: main (tool_main.c:232) === End of file valgrind814 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/imap_server.pid" --logfile "log/3/imap_server.log" --logdir "log/3" --portfile "log/3/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36589 (log/3/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:36589/verifiedserver" 2>log/3/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114723 port 36589 * pid imap => 114723 114723 test 0809...[IMAP mailbox STATUS (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind809 ../src/curl -q --output log/3/curl809.out --include --trace-ascii log/3/trace809 --trace-config all --trace-time imap://127.0.0.1:36589 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/3/stdout809 2> log/3/stderr809 809: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 809 === Start of file imap_server.log 02:02:38.804445 IMAP server listens on port IPv4/36589 02:02:38.804514 logged pid 114723 in log/3/server/imap_server.pid 02:02:38.804536 Awaiting input 02:02:39.870304 ====> Client connect 02:02:39.870482 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:39.870906 < "A001 CAPABILITY" 02:02:39.870949 > "A001 BAD Command[CR][LF]" 02:02:39.871133 < "A002 LIST "verifiedserver" *" 02:02:39.871165 LIST_imap got "verifiedserver" * 02:02:39.871190 > "* LIST () "/" "WE ROOLZ: 114723"[CR][LF]" 02:02:39.871207 > "A002 OK LIST Completed[CR][LF]" 02:02:39.871220 return proof we are we 02:02:39.917040 < "A003 LOGOUT" 02:02:39.917093 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:39.917113 > "A003 OK LOGOUT completed[CR][LF]" 02:02:39.959297 MAIN sockfilt said DISC 02:02:39.959355 ====> Client disconnected 02:02:39.959424 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:38.004350 Running IPv4 version 02:02:38.004422 Listening on port 36589 02:02:38.004457 Wrote pid 114761 to log/3/server/imap_sockfilt.pid 02:02:38.004488 Wrote port 36589 to log/3/server/imap_server.port 02:02:38.004505 Received PING (on stdin) 02:02:39.070341 ====> Client connect 02:02:39.070634 Received DATA (on stdin) 02:02:39.070649 > 178 bytes data, server => client 02:02:39.070663 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.070675 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.070741 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.070751 'rve\r\n' 02:02:39.070866 < 17 bytes data, client => server 02:02:39.070883 'A001 CAPABILITY\r\n' 02:02:39.071090 Received DATA (on stdin) 02:02:39.071102 > 18 bytes data, server => client 02:02:39.071114 'A001 BAD Command\r\n' 02:02:39.071177 < 30 bytes data, client => server 02:02:39.071190 'A002 LIST "verifiedserver" *\r\n' 02:02:39.071358 Received DATA (on stdin) 02:02:39.071445 > 34 bytes data, server => client 02:02:39.071500 '* LIST () "/" "WE ROOLZ: 114723"\r\n' 02:02:39.071566 Received DATA (on stdin) 02:02:39.071664 > 24 bytes data, server => client 02:02:39.071676 'A002 OK LIST Completed\r\n' 02:02:39.115177 < 13 bytes data, client => server 02:02:39.115206 'A003 LOGOUT\r\n' 02:02:39.117252 Received DATA (on stdin) 02:02:39.117264 > 36 bytes data, server => client 02:02:39.117276 '* BYE curl IMAP server signing off\r\n' 02:02:39.117307 Received DATA (on stdin) 02:02:39.117318 > 26 bytes data, server => client 02:02:39.117328 'A003 OK LOGOUT completed\r\n' 02:02:39.159346 ====> Client disconnect 02:02:39.159569 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 809 === End of file server.cmd === Start of file valgrind809 ==115556== ==115556== Process terminating with default action of signal 4 (SIGILL) ==115556== Illegal opcode at address 0x10B08D ==115556== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115556== by 0x10B08D: main (tool_main.c:232) === End of file valgrind809 test 0815...[IMAP STORE - delete message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind815 ../src/curl -q --output log/1/curl815.out --include --trace-ascii log/1/trace815 --trace-config all --trace-time imap://127.0.0.1:39155/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:39155/815 -X CLOSE -u user:secret > log/1/stdout815 2> log/1/stderr815 815: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 815 === Start of file imap_server.log 02:02:40.042366 ====> Client connect 02:02:40.042485 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.042770 < "A001 CAPABILITY" 02:02:40.042802 > "A001 BAD Command[CR][LF]" 02:02:40.042978 < "A002 LIST "verifiedserver" *" 02:02:40.043009 LIST_imap got "verifiedserver" * 02:02:40.043035 > "* LIST () "/" "WE ROOLZ: 109828"[CR][LF]" 02:02:40.043053 > "A002 OK LIST Completed[CR][LF]" 02:02:40.043067 return proof we are we 02:02:40.089202 < "A003 LOGOUT" 02:02:40.089245 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.089262 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.134470 MAIN sockfilt said DISC 02:02:40.134549 ====> Client disconnected 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind816 ../src/curl -q --output log/7/curl816.out --include --trace-ascii log/7/trace816 --trace-config all --trace-time imap://127.0.0.1:37625/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:37625/816 -X EXPUNGE -u user:secret > log/7/stdout816 2> log/7/stderr816 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind811 ../src/curl -q --output log/11/curl811.out --include --trace-ascii log/11/trace811 --trace-config all --trace-time imap://127.0.0.1:39451 -u user:secret -X 'CREATE 811' > log/11/stdout811 2> log/11/stderr811 2:02:40.134646 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.242411 ====> Client connect 02:02:40.242633 Received DATA (on stdin) 02:02:40.242649 > 178 bytes data, server => client 02:02:40.242662 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.242674 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.242685 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.242695 'rve\r\n' 02:02:40.242773 < 17 bytes data, client => server 02:02:40.242792 'A001 CAPABILITY\r\n' 02:02:40.242940 Received DATA (on stdin) 02:02:40.242952 > 18 bytes data, server => client 02:02:40.242962 'A001 BAD Command\r\n' 02:02:40.243020 < 30 bytes data, client => server 02:02:40.243035 'A002 LIST "verifiedserver" *\r\n' 02:02:40.243206 Received DATA (on stdin) 02:02:40.243220 > 34 bytes data, server => client 02:02:40.243232 '* LIST () "/" "WE ROOLZ: 109828"\r\n' 02:02:40.243259 Received DATA (on stdin) 02:02:40.243271 > 24 bytes data, server => client 02:02:40.243282 'A002 OK LIST Completed\r\n' 02:02:40.289187 < 13 bytes data, client => server 02:02:40.289213 'A003 LOGOUT\r\n' 02:02:40.289401 Received DATA (on stdin) 02:02:40.289413 > 36 bytes data, server => client 02:02:40.289424 '* BYE curl IMAP server signing off\r\n' 02:02:40.289448 Received DATA (on stdin) 02:02:40.289458 > 26 bytes data, server => client 02:02:40.289468 'A003 OK LOGOUT completed\r\n' 02:02:40.334499 ====> Client disconnect 02:02:40.334817 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 815 === End of file server.cmd === Start of file valgrind815 ==115662== ==115662== Process terminating with default action of signal 4 (SIGILL) ==115662== Illegal opcode at address 0x10B08D ==115662== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115662== by 0x10B08D: main (tool_main.c:232) === End of file valgrind815 test 0816...[IMAP STORE - delete message with confirmation (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind816 ../src/curl -q --output log/7/curl816.out --include --trace-ascii log/7/trace816 --trace-config all --trace-time imap://127.0.0.1:37625/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:37625/816 -X EXPUNGE -u user:secret > log/7/stdout816 2> log/7/stderr816 816: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 816 === Start of file imap_server.log 02:02:40.068182 ====> Client connect 02:02:40.068315 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.068879 < "A001 CAPABILITY" 02:02:40.068914 > "A001 BAD Command[CR][LF]" 02:02:40.069077 < "A002 LIST "verifiedserver" *" 02:02:40.069104 LIST_imap got "verifiedserver" * 02:02:40.069127 > "* LIST () "/" "WE ROOLZ: 114558"[CR][LF]" 02:02:40.069144 > "A002 OK LIST Completed[CR][LF]" 02:02:40.069156 return proof we are we 02:02:40.116869 < "A003 LOGOUT" 02:02:40.116918 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.116940 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.159322 MAIN sockfilt said DISC 02:02:40.159383 ====> Client disconnected 02:02:40.159446 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.268227 ====> Client connect 02:02:40.268464 Received DATA (on stdin) 02:02:40.268502 > 178 bytes data, server => client 02:02:40.268524 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.268536 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.268547 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.268556 'rve\r\n' 02:02:40.268872 < 17 bytes data, client => server 02:02:40.268889 'A001 CAPABILITY\r\n' 02:02:40.269053 Received DATA (on stdin) 02:02:40.269064 > 18 bytes data, server => client 02:02:40.269075 'A001 BAD Command\r\n' 02:02:40.269132 < 30 bytes data, client => server 02:02:40.269145 'A002 LIST "verifiedserver" *\r\n' 02:02:40.269293 Received DATA (on stdin) 02:02:40.269305 > 34 bytes data, server => client 02:02:40.269316 '* LIST () "/" "WE ROOLZ: 114558"\r\n' 02:02:40.269340 Received DATA (on stdin) 02:02:40.269350 > 24 bytes data, server => client 02:02:40.269361 'A002 OK LIST Completed\r\n' 02:02:40.316855 < 13 bytes data, client => server 02:02:40.316879 'A003 LOGOUT\r\n' 02:02:40.317082 Received DATA (on stdin) 02:02:40.317096 > 36 bytes data, server => client 02:02:40.317108 '* BYE curl IMAP server signing off\r\n' 02:02:40.317135 Received DATA (on stdin) 02:02:40.317147 > 26 bytes data, server => client 02:02:40.317158 'A003 OK LOGOUT completed\r\n' 02:02:40.359383 ====> Client disconnect 02:02:40.359704 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 816 === End of file server.cmd === Start of file valgrind816 ==115691== ==115691== Process terminating with default action of signal 4 (SIGILL) ==115691== Illegal opcode at address 0x10B08D ==115691== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115691== by 0x10B08D: main (tool_main.c:232) === End of file valgrind816 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/imap_server.pid" --logfile "log/11/imap_server.log" --logdir "log/11" --portfile "log/11/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39451 (log/11/server/imap_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "imap://127.0.0.1:39451/verifiedserver" 2>log/11/imap_verify.log RUN: Verifying our test imap server took 0 seconds RUN: IMAP server is PID 114875 port 39451 * pid imap => 114875 114875 test 0811...[IMAP CREATE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind811 ../src/curl -q --output log/11/curl811.out --include --trace-ascii log/11/trace811 --trace-config all --trace-time imap://127.0.0.1:39451 -u user:secret -X 'CREATE 811' > log/11/stdout811 2> log/11/stderr811 811: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 811 === Start of file imap_server.log 02:02:39.090970 IMAP server listens on port IPv4/39451 02:02:39.091034 logged pid 114875 in log/11/server/imap_server.pid 02:02:39.091054 Awaiting input 02:02:40.082833 ====> Client connect 02:02:40.082999 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.083248 < "A001 CAPABILITY" 02:02:40.083275 > "A001 BAD Command[CR][LF]" 02:02:40.083409 < "A002 LIST "verifiedserver" *" 02:02:40.083431 LIST_imap got "verifiedserver" * 02:02:40.083449 > "* LIST () "/" "WE ROOLZ: 114875"[CR][LF]" 02:02:40.083462 > "A002 OK LIST Completed[CR][LF]" 02:02:40.083471 return proof we are we 02:02:40.125394 < "A003 LOGOUT" 02:02:40.125447 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.125466 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.169251 MAIN sockfilt said DISC 02:02:40.169333 ====> Client disconnected 02:02:40.169418 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:39.290683 Running IPv4 version 02:02:39.290951 Listening on port 39451 02:02:39.290989 Wrote pid 114876 to log/11/server/imap_sockfilt.pid 02:02:39.291017 Wrote port 39451 to log/11/server/imapCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind817 ../src/curl -q --output log/2/curl817.out --include --trace-ascii log/2/trace817 --trace-config all --trace-time imap://127.0.0.1:41219 -u user:secret -X 'COPY 123 817' > log/2/stdout817 2> log/2/stderr817 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind818 ../src/curl -q --output log/5/curl818.out --include --trace-ascii log/5/trace818 --trace-config all --trace-time imap://127.0.0.1:45695 -X NOOP -u user:secret > log/5/stdout818 2> log/5/stderr818 _server.port 02:02:39.291034 Received PING (on stdin) 02:02:40.282892 ====> Client connect 02:02:40.283126 Received DATA (on stdin) 02:02:40.283140 > 178 bytes data, server => client 02:02:40.283153 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.283166 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.283177 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.283186 'rve\r\n' 02:02:40.283252 < 17 bytes data, client => server 02:02:40.283264 'A001 CAPABILITY\r\n' 02:02:40.283410 Received DATA (on stdin) 02:02:40.283420 > 18 bytes data, server => client 02:02:40.283429 'A001 BAD Command\r\n' 02:02:40.283474 < 30 bytes data, client => server 02:02:40.283483 'A002 LIST "verifiedserver" *\r\n' 02:02:40.283604 Received DATA (on stdin) 02:02:40.283613 > 34 bytes data, server => client 02:02:40.283621 '* LIST () "/" "WE ROOLZ: 114875"\r\n' 02:02:40.283639 Received DATA (on stdin) 02:02:40.283648 > 24 bytes data, server => client 02:02:40.283656 'A002 OK LIST Completed\r\n' 02:02:40.325350 < 13 bytes data, client => server 02:02:40.325383 'A003 LOGOUT\r\n' 02:02:40.325606 Received DATA (on stdin) 02:02:40.325619 > 36 bytes data, server => client 02:02:40.325631 '* BYE curl IMAP server signing off\r\n' 02:02:40.325657 Received DATA (on stdin) 02:02:40.325667 > 26 bytes data, server => client 02:02:40.325678 'A003 OK LOGOUT completed\r\n' 02:02:40.369295 ====> Client disconnect 02:02:40.369574 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 811 === End of file server.cmd === Start of file valgrind811 ==115713== ==115713== Process terminating with default action of signal 4 (SIGILL) ==115713== Illegal opcode at address 0x10B08D ==115713== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115713== by 0x10B08D: main (tool_main.c:232) === End of file valgrind811 test 0817...[IMAP COPY message to mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind817 ../src/curl -q --output log/2/curl817.out --include --trace-ascii log/2/trace817 --trace-config all --trace-time imap://127.0.0.1:41219 -u user:secret -X 'COPY 123 817' > log/2/stdout817 2> log/2/stderr817 817: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 817 === Start of file imap_server.log 02:02:40.071196 ====> Client connect 02:02:40.071320 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.071608 < "A001 CAPABILITY" 02:02:40.071644 > "A001 BAD Command[CR][LF]" 02:02:40.073388 < "A002 LIST "verifiedserver" *" 02:02:40.073419 LIST_imap got "verifiedserver" * 02:02:40.073444 > "* LIST () "/" "WE ROOLZ: 110936"[CR][LF]" 02:02:40.073462 > "A002 OK LIST Completed[CR][LF]" 02:02:40.073475 return proof we are we 02:02:40.115358 < "A003 LOGOUT" 02:02:40.115408 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.115426 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.160331 MAIN sockfilt said DISC 02:02:40.160382 ====> Client disconnected 02:02:40.160436 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.271243 ====> Client connect 02:02:40.271470 Received DATA (on stdin) 02:02:40.271487 > 178 bytes data, server => client 02:02:40.271500 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.271513 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.271525 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.271535 'rve\r\n' 02:02:40.271610 < 17 bytes data, client => server 02:02:40.271625 'A001 CAPABILITY\r\n' 02:02:40.271802 Received DATA (on stdin) 02:02:40.272124 > 18 bytes data, server => client 02:02:40.272159 'A001 BAD Command\r\n' 02:02:40.273410 < 30 bytes data, client => server 02:02:40.273431 'A002 LIST "verifiedserver" *\r\n' 02:02:40.273613 Received DATA (on stdin) 02:02:40.273626 > 34 bytes data, server => client 02:02:40.273638 '* LIST () "/" "WE ROOLZ: 110936"\r\n' 02:02:40.273664 Received DATA (on stdin) 02:02:40.273674 > 24 bytes data, server => client 02:02:40.273684 'A002 OK LIST Completed\r\n' 02:02:40.315312 < 13 bytes data, client => server 02:02:40.315346 'A003 LOGOUT\r\n' 02:02:40.315567 Received DATA (on stdin) 02:02:40.315579 > 36 bytes data, server => client 02:02:40.315590 '* BYE curl IMAP server signing off\r\n' 02:02:40.315616 Received DATA (on stdin) 02:02:40.315627 > 26 bytes data, server => client 02:02:40.315638 'A003 OK LOGOUT completed\r\n' 02:02:40.359784 ====> Client disconnect 02:02:40.360581 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 817 === End of file server.cmd === Start of file valgrind817 ==115845== ==115845== Process terminating with default action of signal 4 (SIGILL) ==115845== Illegal opcode at address 0x10B08D ==115845== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115845== by 0x10B08D: main (tool_main.c:232) === End of file valgrind817 test 0818...[IMAP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind818 ../src/curl -q --output log/5/curl818.out --include --trace-ascii log/5/trace818 --trace-config all --trace-time imap://127.0.0.1:45695 -X NOOP -u user:secret > log/5/stdout818 2> log/5/stderr818 818: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 818 === Start of file imap_server.log 02:02:40.197319 ====> Client connect 02:02:40.197463 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.197768 < "A001 CAPABILITY" 02:02:40.197810 > "A001 BAD Command[CR][LF]" 02:02:40.198005 < "A002 LIST "verifiedserver" *" 02:02:40.198035 LIST_imap got "verifiedserver" * 02:02:40.198063 > "* LIST () "/" "WE ROOLZ: 114661"[CR][LF]" 02:02:40.198082 > "A002 OK LIST Completed[CR][LF]" 02:02:40.198096 return proof we are we 02:02:40.240026 < "A003 LOGOUT" 02:02:40.240079 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.240099 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.282333 MAIN sockfilt said DISC 02:02:40.282396 ====> Client disconnected 02:02:40.282455 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.397339 ====> Client connect 02:02:40.397619 Received DATA (on stdin) 02:02:40.397636 > 178 bytes data, server => client 02:02:40.397649 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.397661 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.397673 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.397683 'rve\r\n' 02:02:40.397761 < 17 bytes data, client => server 02:02:40.397777 'A001 CAPABILITY\r\n' 02:02:40.397955 Received DATA (on stdin) 02:02:40.397970 > 18 bytes data, server => client 02:02:40.397981 'A001 BAD Command\r\n' 02:02:40.398045 < 30 bytes data, client => server 02:02:40.398060 'A002 LIST "verifiedserver" *\r\n' 02:02:40.398236 Received DATA (on stdin) 02:02:40.398249 > 34 bytes data, server => client 02:02:40.398261 '* LIST () "/" "WE ROOLZ: 114661"\r\n' 02:02:40.398288 Received DATA (on stdin) 02:02:40.398299 > 24 bytes data, server => client 02:02:40.398310 'A002 OK LIST Completed\r\n' 02:02:40.439039 < 13 bytes data, client => server 02:02:40.439065 'A003 LOGOUT\r\n' 02:02:40.440241 Received DATA (on stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind819 ../src/curl -q --output log/10/curl819.out --include --trace-ascii log/10/trace819 --trace-config all --trace-time 'imap://127.0.0.1:35147/819/;MAILINDEX=1' -u user:secret > log/10/stdout819 2> log/10/stderr819 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind820 ../src/curl -q --output log/9/curl820.out --include --trace-ascii log/9/trace820 --trace-config all --trace-time 'imap://127.0.0.1:39997/820/;MAILINDEX=1' -u user:secret > log/9/stdout820 2> log/9/stderr820 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind821 ../src/curl -q --output log/4/curl821.out --include --trace-ascii log/4/trace821 --trace-config all --trace-time 'imap://127.0.0.1:39817/821/;MAILINDEX=1' -u user:secret > log/4/stdout821 2> log/4/stderr821 in) 02:02:40.440255 > 36 bytes data, server => client 02:02:40.440266 '* BYE curl IMAP server signing off\r\n' 02:02:40.440293 Received DATA (on stdin) 02:02:40.440304 > 26 bytes data, server => client 02:02:40.440314 'A003 OK LOGOUT completed\r\n' 02:02:40.482375 ====> Client disconnect 02:02:40.482599 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 818 === End of file server.cmd === Start of file valgrind818 ==115915== ==115915== Process terminating with default action of signal 4 (SIGILL) ==115915== Illegal opcode at address 0x10B08D ==115915== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115915== by 0x10B08D: main (tool_main.c:232) === End of file valgrind818 test 0819...[IMAP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind819 ../src/curl -q --output log/10/curl819.out --include --trace-ascii log/10/trace819 --trace-config all --trace-time 'imap://127.0.0.1:35147/819/;MAILINDEX=1' -u user:secret > log/10/stdout819 2> log/10/stderr819 819: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 819 === Start of file imap_server.log 02:02:40.199188 ====> Client connect 02:02:40.199313 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.199604 < "A001 CAPABILITY" 02:02:40.199639 > "A001 BAD Command[CR][LF]" 02:02:40.199799 < "A002 LIST "verifiedserver" *" 02:02:40.199823 LIST_imap got "verifiedserver" * 02:02:40.199848 > "* LIST () "/" "WE ROOLZ: 114662"[CR][LF]" 02:02:40.199864 > "A002 OK LIST Completed[CR][LF]" 02:02:40.199876 return proof we are we 02:02:40.242026 < "A003 LOGOUT" 02:02:40.242078 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.242095 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.287660 MAIN sockfilt said DISC 02:02:40.287706 ====> Client disconnected 02:02:40.287762 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.399242 ====> Client connect 02:02:40.399468 Received DATA (on stdin) 02:02:40.399491 > 178 bytes data, server => client 02:02:40.399505 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.399516 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.399528 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.399537 'rve\r\n' 02:02:40.399611 < 17 bytes data, client => server 02:02:40.399624 'A001 CAPABILITY\r\n' 02:02:40.399779 Received DATA (on stdin) 02:02:40.399791 > 18 bytes data, server => client 02:02:40.399802 'A001 BAD Command\r\n' 02:02:40.399856 < 30 bytes data, client => server 02:02:40.399868 'A002 LIST "verifiedserver" *\r\n' 02:02:40.400013 Received DATA (on stdin) 02:02:40.400024 > 34 bytes data, server => client 02:02:40.400035 '* LIST () "/" "WE ROOLZ: 114662"\r\n' 02:02:40.400058 Received DATA (on stdin) 02:02:40.400068 > 24 bytes data, server => client 02:02:40.400078 'A002 OK LIST Completed\r\n' 02:02:40.442015 < 13 bytes data, client => server 02:02:40.442039 'A003 LOGOUT\r\n' 02:02:40.442281 Received DATA (on stdin) 02:02:40.442296 > 36 bytes data, server => client 02:02:40.442305 '* BYE curl IMAP server signing off\r\n' 02:02:40.442325 Received DATA (on stdin) 02:02:40.442334 > 26 bytes data, server => client 02:02:40.442342 'A003 OK LOGOUT completed\r\n' 02:02:40.487733 ====> Client disconnect 02:02:40.487902 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY AHVzZXIAc2VjcmV0 A002 OK AUTHENTICATE completed Testnum 819 === End of file server.cmd === Start of file valgrind819 ==115916== ==115916== Process terminating with default action of signal 4 (SIGILL) ==115916== Illegal opcode at address 0x10B08D ==115916== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==115916== by 0x10B08D: main (tool_main.c:232) === End of file valgrind819 test 0820...[IMAP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind820 ../src/curl -q --output log/9/curl820.out --include --trace-ascii log/9/trace820 --trace-config all --trace-time 'imap://127.0.0.1:39997/820/;MAILINDEX=1' -u user:secret > log/9/stdout820 2> log/9/stderr820 820: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 820 === Start of file imap_server.log 02:02:40.238786 ====> Client connect 02:02:40.238932 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.239217 < "A001 CAPABILITY" 02:02:40.239257 > "A001 BAD Command[CR][LF]" 02:02:40.239431 < "A002 LIST "verifiedserver" *" 02:02:40.239459 LIST_imap got "verifiedserver" * 02:02:40.239485 > "* LIST () "/" "WE ROOLZ: 114663"[CR][LF]" 02:02:40.239502 > "A002 OK LIST Completed[CR][LF]" 02:02:40.239514 return proof we are we 02:02:40.282795 < "A003 LOGOUT" 02:02:40.282844 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.282864 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.325435 MAIN sockfilt said DISC 02:02:40.325503 ====> Client disconnected 02:02:40.325574 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.438813 ====> Client connect 02:02:40.439082 Received DATA (on stdin) 02:02:40.439097 > 178 bytes data, server => client 02:02:40.439109 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.439121 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.439131 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.439141 'rve\r\n' 02:02:40.439216 < 17 bytes data, client => server 02:02:40.439228 'A001 CAPABILITY\r\n' 02:02:40.439398 Received DATA (on stdin) 02:02:40.439410 > 18 bytes data, server => client 02:02:40.439420 'A001 BAD Command\r\n' 02:02:40.439477 < 30 bytes data, client => server 02:02:40.439490 'A002 LIST "verifiedserver" *\r\n' 02:02:40.439652 Received DATA (on stdin) 02:02:40.439664 > 34 bytes data, server => client 02:02:40.439675 '* LIST () "/" "WE ROOLZ: 114663"\r\n' 02:02:40.439699 Received DATA (on stdin) 02:02:40.439710 > 24 bytes data, server => client 02:02:40.439721 'A002 OK LIST Completed\r\n' 02:02:40.482770 < 13 bytes data, client => server 02:02:40.482793 'A003 LOGOUT\r\n' 02:02:40.483007 Received DATA (on stdin) 02:02:40.483022 > 36 bytes data, server => client 02:02:40.483034 '* BYE curl IMAP server signing off\r\n' 02:02:40.483177 Received DATA (on stdin) 02:02:40.483195 > 26 bytes data, server => client 02:02:40.483207 'A003 OK LOGOUT completed\r\n' 02:02:40.525381 ====> Client disconnect 02:02:40.525811 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTHENTICATE + VXNlcm5hbWU6 REPLY dXNlcg== + UGFzc3dvcmQ6 REPLY c2VjcmV0 A002 OK AUTHENTICATE completed Testnum 820 === End of file server.cmd === Start of file valgrind820 ==116006== ==116006== Process terminating with default action of signal 4 (SIGILL) ==116006== Illegal opcode at address 0x10B08D ==116006== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116006== by 0x10B08D: main (tool_main.c:232) === End of file valgrind820 test 0821...[IMAP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind821 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind824 ../src/curl -q --output log/8/curl824.out --include --trace-ascii log/8/trace824 --trace-config all --trace-time 'imap://127.0.0.1:34799/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout824 2> log/8/stderr824 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind822 ../src/curl -q --output log/6/curl822.out --include --trace-ascii log/6/trace822 --trace-config all --trace-time 'imap://127.0.0.1:39533/822/;MAILINDEX=1' -u testuser:testpass > log/6/stdout822 2> log/6/stderr822 ../src/curl -q --output log/4/curl821.out --include --trace-ascii log/4/trace821 --trace-config all --trace-time 'imap://127.0.0.1:39817/821/;MAILINDEX=1' -u user:secret > log/4/stdout821 2> log/4/stderr821 821: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 821 === Start of file imap_server.log 02:02:40.486690 ====> Client connect 02:02:40.486846 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.487167 < "A001 CAPABILITY" 02:02:40.487209 > "A001 BAD Command[CR][LF]" 02:02:40.487405 < "A002 LIST "verifiedserver" *" 02:02:40.487435 LIST_imap got "verifiedserver" * 02:02:40.487463 > "* LIST () "/" "WE ROOLZ: 114665"[CR][LF]" 02:02:40.487483 > "A002 OK LIST Completed[CR][LF]" 02:02:40.487497 return proof we are we 02:02:40.528872 < "A003 LOGOUT" 02:02:40.528922 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.528942 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.573117 MAIN sockfilt said DISC 02:02:40.573178 ====> Client disconnected 02:02:40.573233 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.686712 ====> Client connect 02:02:40.687003 Received DATA (on stdin) 02:02:40.687022 > 178 bytes data, server => client 02:02:40.687035 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.687048 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.687059 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.687069 'rve\r\n' 02:02:40.687153 < 17 bytes data, client => server 02:02:40.687170 'A001 CAPABILITY\r\n' 02:02:40.687353 Received DATA (on stdin) 02:02:40.687367 > 18 bytes data, server => client 02:02:40.687380 'A001 BAD Command\r\n' 02:02:40.687443 < 30 bytes data, client => server 02:02:40.687459 'A002 LIST "verifiedserver" *\r\n' 02:02:40.687637 Received DATA (on stdin) 02:02:40.687650 > 34 bytes data, server => client 02:02:40.687661 '* LIST () "/" "WE ROOLZ: 114665"\r\n' 02:02:40.687692 Received DATA (on stdin) 02:02:40.687703 > 24 bytes data, server => client 02:02:40.687714 'A002 OK LIST Completed\r\n' 02:02:40.728645 < 13 bytes data, client => server 02:02:40.728869 'A003 LOGOUT\r\n' 02:02:40.729083 Received DATA (on stdin) 02:02:40.729097 > 36 bytes data, server => client 02:02:40.729109 '* BYE curl IMAP server signing off\r\n' 02:02:40.729139 Received DATA (on stdin) 02:02:40.729151 > 26 bytes data, server => client 02:02:40.729162 'A003 OK LOGOUT completed\r\n' 02:02:40.772578 ====> Client disconnect 02:02:40.773374 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTHENTICATE + PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== A002 OK AUTHENTICATE completed Testnum 821 === End of file server.cmd === Start of file valgrind821 ==116129== ==116129== Process terminating with default action of signal 4 (SIGILL) ==116129== Illegal opcode at address 0x10B08D ==116129== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116129== by 0x10B08D: main (tool_main.c:232) === End of file valgrind821 test 0824...[IMAP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind824 ../src/curl -q --output log/8/curl824.out --include --trace-ascii log/8/trace824 --trace-config all --trace-time 'imap://127.0.0.1:34799/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout824 2> log/8/stderr824 824: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 824 === Start of file imap_server.log 02:02:40.512134 ====> Client connect 02:02:40.512269 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.512549 < "A001 CAPABILITY" 02:02:40.512582 > "A001 BAD Command[CR][LF]" 02:02:40.512745 < "A002 LIST "verifiedserver" *" 02:02:40.512771 LIST_imap got "verifiedserver" * 02:02:40.512793 > "* LIST () "/" "WE ROOLZ: 114664"[CR][LF]" 02:02:40.512809 > "A002 OK LIST Completed[CR][LF]" 02:02:40.512822 return proof we are we 02:02:40.557018 < "A003 LOGOUT" 02:02:40.557083 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.557535 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.603056 MAIN sockfilt said DISC 02:02:40.603108 ====> Client disconnected 02:02:40.603169 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.712164 ====> Client connect 02:02:40.712417 Received DATA (on stdin) 02:02:40.712432 > 178 bytes data, server => client 02:02:40.712445 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.712457 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.712468 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.712478 'rve\r\n' 02:02:40.712549 < 17 bytes data, client => server 02:02:40.712562 'A001 CAPABILITY\r\n' 02:02:40.712722 Received DATA (on stdin) 02:02:40.712735 > 18 bytes data, server => client 02:02:40.712745 'A001 BAD Command\r\n' 02:02:40.712801 < 30 bytes data, client => server 02:02:40.712815 'A002 LIST "verifiedserver" *\r\n' 02:02:40.712958 Received DATA (on stdin) 02:02:40.712969 > 34 bytes data, server => client 02:02:40.712980 '* LIST () "/" "WE ROOLZ: 114664"\r\n' 02:02:40.713004 Received DATA (on stdin) 02:02:40.713015 > 24 bytes data, server => client 02:02:40.713026 'A002 OK LIST Completed\r\n' 02:02:40.756949 < 13 bytes data, client => server 02:02:40.756993 'A003 LOGOUT\r\n' 02:02:40.757267 Received DATA (on stdin) 02:02:40.757290 > 36 bytes data, server => client 02:02:40.757307 '* BYE curl IMAP server signing off\r\n' 02:02:40.757685 Received DATA (on stdin) 02:02:40.757703 > 26 bytes data, server => client 02:02:40.757719 'A003 OK LOGOUT completed\r\n' 02:02:40.803120 ====> Client disconnect 02:02:40.803321 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTHENTICATE + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB A002 OK AUTHENTICATE completed Testnum 824 === End of file server.cmd === Start of file valgrind824 ==116164== ==116164== Process terminating with default action of signal 4 (SIGILL) ==116164== Illegal opcode at address 0x10B08D ==116164== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116164== by 0x10B08D: main (tool_main.c:232) === End of file valgrind824 test 0822...[IMAP NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind822 ../src/curl -q --output log/6/curl822.out --include --trace-ascii log/6/trace822 --trace-config all --trace-time 'imap://127.0.0.1:39533/822/;MAILINDEX=1' -u testuser:testpass > log/6/stdout822 2> log/6/stderr822 822: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 822 === Start of file imap_server.log 02:02:40.499104 ====> Client connect 02:02:40.499245 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.499520 < "A001 CAPABILITY" 02:02:40.499555 > "A001 BAD Command[CR][LF]" 02:02:40.500116 < "A002 LIST "verifiedserver" *" 02:02:40.500142 LIST_imap got "veriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind825 ../src/curl -q --output log/12/curl825.out --include --trace-ascii log/12/trace825 --trace-config all --trace-time 'imap://127.0.0.1:40655/825/;MAILINDEX=1' -u user:secret > log/12/stdout825 2> log/12/stderr825 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind827 ../src/curl -q --output log/1/curl827.out --include --trace-ascii log/1/trace827 --trace-config all --trace-time 'imap://127.0.0.1:39155/827/;MAILINDEX=1' -u testuser:testpass > log/1/stdout827 2> log/1/stderr827 fiedserver" * 02:02:40.500166 > "* LIST () "/" "WE ROOLZ: 114667"[CR][LF]" 02:02:40.500182 > "A002 OK LIST Completed[CR][LF]" 02:02:40.500195 return proof we are we 02:02:40.542325 < "A003 LOGOUT" 02:02:40.542378 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.542399 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.586097 MAIN sockfilt said DISC 02:02:40.586146 ====> Client disconnected 02:02:40.586205 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.698783 ====> Client connect 02:02:40.699394 Received DATA (on stdin) 02:02:40.699408 > 178 bytes data, server => client 02:02:40.699421 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.699433 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.699445 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.699455 'rve\r\n' 02:02:40.699526 < 17 bytes data, client => server 02:02:40.699539 'A001 CAPABILITY\r\n' 02:02:40.699694 Received DATA (on stdin) 02:02:40.699706 > 18 bytes data, server => client 02:02:40.699717 'A001 BAD Command\r\n' 02:02:40.700161 < 30 bytes data, client => server 02:02:40.700179 'A002 LIST "verifiedserver" *\r\n' 02:02:40.700332 Received DATA (on stdin) 02:02:40.700344 > 34 bytes data, server => client 02:02:40.700354 '* LIST () "/" "WE ROOLZ: 114667"\r\n' 02:02:40.700378 Received DATA (on stdin) 02:02:40.700389 > 24 bytes data, server => client 02:02:40.700400 'A002 OK LIST Completed\r\n' 02:02:40.742274 < 13 bytes data, client => server 02:02:40.742307 'A003 LOGOUT\r\n' 02:02:40.742540 Received DATA (on stdin) 02:02:40.742554 > 36 bytes data, server => client 02:02:40.742566 '* BYE curl IMAP server signing off\r\n' 02:02:40.742593 Received DATA (on stdin) 02:02:40.742604 > 26 bytes data, server => client 02:02:40.742615 'A003 OK LOGOUT completed\r\n' 02:02:40.785580 ====> Client disconnect 02:02:40.786346 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTHENTICATE + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 822 === End of file server.cmd === Start of file valgrind822 ==116142== ==116142== Process terminating with default action of signal 4 (SIGILL) ==116142== Illegal opcode at address 0x10B08D ==116142== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116142== by 0x10B08D: main (tool_main.c:232) === End of file valgrind822 test 0825...[IMAP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind825 ../src/curl -q --output log/12/curl825.out --include --trace-ascii log/12/trace825 --trace-config all --trace-time 'imap://127.0.0.1:40655/825/;MAILINDEX=1' -u user:secret > log/12/stdout825 2> log/12/stderr825 825: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 825 === Start of file imap_server.log 02:02:40.520513 ====> Client connect 02:02:40.520644 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.520930 < "A001 CAPABILITY" 02:02:40.520963 > "A001 BAD Command[CR][LF]" 02:02:40.521121 < "A002 LIST "verifiedserver" *" 02:02:40.521146 LIST_imap got "verifiedserver" * 02:02:40.521168 > "* LIST () "/" "WE ROOLZ: 109159"[CR][LF]" 02:02:40.521184 > "A002 OK LIST Completed[CR][LF]" 02:02:40.521196 return proof we are we 02:02:40.562143 < "A003 LOGOUT" 02:02:40.562191 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.562209 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.609077 MAIN sockfilt said DISC 02:02:40.609123 ====> Client disconnected 02:02:40.609179 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.720544 ====> Client connect 02:02:40.720809 Received DATA (on stdin) 02:02:40.720824 > 178 bytes data, server => client 02:02:40.720837 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.720849 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.720860 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.720870 'rve\r\n' 02:02:40.720940 < 17 bytes data, client => server 02:02:40.720952 'A001 CAPABILITY\r\n' 02:02:40.721101 Received DATA (on stdin) 02:02:40.721113 > 18 bytes data, server => client 02:02:40.721124 'A001 BAD Command\r\n' 02:02:40.721177 < 30 bytes data, client => server 02:02:40.721188 'A002 LIST "verifiedserver" *\r\n' 02:02:40.721332 Received DATA (on stdin) 02:02:40.721343 > 34 bytes data, server => client 02:02:40.721354 '* LIST () "/" "WE ROOLZ: 109159"\r\n' 02:02:40.721375 Received DATA (on stdin) 02:02:40.721385 > 24 bytes data, server => client 02:02:40.721395 'A002 OK LIST Completed\r\n' 02:02:40.762121 < 13 bytes data, client => server 02:02:40.762149 'A003 LOGOUT\r\n' 02:02:40.762348 Received DATA (on stdin) 02:02:40.762360 > 36 bytes data, server => client 02:02:40.762372 '* BYE curl IMAP server signing off\r\n' 02:02:40.762397 Received DATA (on stdin) 02:02:40.762407 > 26 bytes data, server => client 02:02:40.762418 'A003 OK LOGOUT completed\r\n' 02:02:40.809148 ====> Client disconnect 02:02:40.809320 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 825 === End of file server.cmd === Start of file valgrind825 ==116193== ==116193== Process terminating with default action of signal 4 (SIGILL) ==116193== Illegal opcode at address 0x10B08D ==116193== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116193== by 0x10B08D: main (tool_main.c:232) === End of file valgrind825 test 0827...[IMAP NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind827 ../src/curl -q --output log/1/curl827.out --include --trace-ascii log/1/trace827 --trace-config all --trace-time 'imap://127.0.0.1:39155/827/;MAILINDEX=1' -u testuser:testpass > log/1/stdout827 2> log/1/stderr827 827: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 827 === Start of file imap_server.log 02:02:40.730203 ====> Client connect 02:02:40.730333 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.730598 < "A001 CAPABILITY" 02:02:40.730629 > "A001 BAD Command[CR][LF]" 02:02:40.730780 < "A002 LIST "verifiedserver" *" 02:02:40.730804 LIST_imap got "verifiedserver" * 02:02:40.730826 > "* LIST () "/" "WE ROOLZ: 109828"[CR][LF]" 02:02:40.730842 > "A002 OK LIST Completed[CR][LF]" 02:02:40.730854 return proof we are we 02:02:40.772203 < "A003 LOGOUT" 02:02:40.772253 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.772273 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.819466 MAIN sockfilt said DISC 02:02:40.819528 ====> Client disconnected 02:02:40.819588 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.930232 ====> Client connect 02:02:40CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind828 ../src/curl -q --output log/7/curl828.out --include --trace-ascii log/7/trace828 --trace-config all --trace-time 'imap://127.0.0.1:37625/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout828 2> log/7/stderr828 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind826 ../src/curl -q --output log/3/curl826.out --include --trace-ascii log/3/trace826 --trace-config all --trace-time 'imap://127.0.0.1:36589/826/;MAILINDEX=1' -u user:secret > log/3/stdout826 2> log/3/stderr826 .930480 Received DATA (on stdin) 02:02:40.930494 > 178 bytes data, server => client 02:02:40.930507 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.930519 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.930530 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.930540 'rve\r\n' 02:02:40.930612 < 17 bytes data, client => server 02:02:40.930624 'A001 CAPABILITY\r\n' 02:02:40.930767 Received DATA (on stdin) 02:02:40.930779 > 18 bytes data, server => client 02:02:40.930789 'A001 BAD Command\r\n' 02:02:40.930842 < 30 bytes data, client => server 02:02:40.930853 'A002 LIST "verifiedserver" *\r\n' 02:02:40.930990 Received DATA (on stdin) 02:02:40.931000 > 34 bytes data, server => client 02:02:40.931011 '* LIST () "/" "WE ROOLZ: 109828"\r\n' 02:02:40.931033 Received DATA (on stdin) 02:02:40.931042 > 24 bytes data, server => client 02:02:40.931053 'A002 OK LIST Completed\r\n' 02:02:40.972001 < 13 bytes data, client => server 02:02:40.972201 'A003 LOGOUT\r\n' 02:02:40.972412 Received DATA (on stdin) 02:02:40.972425 > 36 bytes data, server => client 02:02:40.972437 '* BYE curl IMAP server signing off\r\n' 02:02:40.972464 Received DATA (on stdin) 02:02:40.972475 > 26 bytes data, server => client 02:02:40.972486 'A003 OK LOGOUT completed\r\n' 02:02:41.019531 ====> Client disconnect 02:02:41.019729 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA SASL-IR REPLY AUTHENTICATE + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 827 === End of file server.cmd === Start of file valgrind827 ==116421== ==116421== Process terminating with default action of signal 4 (SIGILL) ==116421== Illegal opcode at address 0x10B08D ==116421== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116421== by 0x10B08D: main (tool_main.c:232) === End of file valgrind827 test 0828...[IMAP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind828 ../src/curl -q --output log/7/curl828.out --include --trace-ascii log/7/trace828 --trace-config all --trace-time 'imap://127.0.0.1:37625/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout828 2> log/7/stderr828 828: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 828 === Start of file imap_server.log 02:02:40.783541 ====> Client connect 02:02:40.783682 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.783968 < "A001 CAPABILITY" 02:02:40.784002 > "A001 BAD Command[CR][LF]" 02:02:40.784173 < "A002 LIST "verifiedserver" *" 02:02:40.784201 LIST_imap got "verifiedserver" * 02:02:40.784226 > "* LIST () "/" "WE ROOLZ: 114558"[CR][LF]" 02:02:40.784244 > "A002 OK LIST Completed[CR][LF]" 02:02:40.784258 return proof we are we 02:02:40.825465 < "A003 LOGOUT" 02:02:40.825514 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.825532 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.870166 MAIN sockfilt said DISC 02:02:40.870233 ====> Client disconnected 02:02:40.870303 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.983568 ====> Client connect 02:02:40.983833 Received DATA (on stdin) 02:02:40.983848 > 178 bytes data, server => client 02:02:40.983861 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.983873 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.983885 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.983895 'rve\r\n' 02:02:40.983970 < 17 bytes data, client => server 02:02:40.983985 'A001 CAPABILITY\r\n' 02:02:40.984143 Received DATA (on stdin) 02:02:40.984156 > 18 bytes data, server => client 02:02:40.984166 'A001 BAD Command\r\n' 02:02:40.984224 < 30 bytes data, client => server 02:02:40.984239 'A002 LIST "verifiedserver" *\r\n' 02:02:40.984396 Received DATA (on stdin) 02:02:40.984408 > 34 bytes data, server => client 02:02:40.984419 '* LIST () "/" "WE ROOLZ: 114558"\r\n' 02:02:40.984445 Received DATA (on stdin) 02:02:40.984455 > 24 bytes data, server => client 02:02:40.984466 'A002 OK LIST Completed\r\n' 02:02:41.025444 < 13 bytes data, client => server 02:02:41.025473 'A003 LOGOUT\r\n' 02:02:41.025670 Received DATA (on stdin) 02:02:41.025681 > 36 bytes data, server => client 02:02:41.025692 '* BYE curl IMAP server signing off\r\n' 02:02:41.025715 Received DATA (on stdin) 02:02:41.025725 > 26 bytes data, server => client 02:02:41.025735 'A003 OK LOGOUT completed\r\n' 02:02:41.070210 ====> Client disconnect 02:02:41.070457 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 828 === End of file server.cmd === Start of file valgrind828 ==116502== ==116502== Process terminating with default action of signal 4 (SIGILL) ==116502== Illegal opcode at address 0x10B08D ==116502== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116502== by 0x10B08D: main (tool_main.c:232) === End of file valgrind828 test 0826...[IMAP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind826 ../src/curl -q --output log/3/curl826.out --include --trace-ascii log/3/trace826 --trace-config all --trace-time 'imap://127.0.0.1:36589/826/;MAILINDEX=1' -u user:secret > log/3/stdout826 2> log/3/stderr826 826: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 826 === Start of file imap_server.log 02:02:40.710358 ====> Client connect 02:02:40.710527 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.710832 < "A001 CAPABILITY" 02:02:40.710864 > "A001 BAD Command[CR][LF]" 02:02:40.711031 < "A002 LIST "verifiedserver" *" 02:02:40.711057 LIST_imap got "verifiedserver" * 02:02:40.711082 > "* LIST () "/" "WE ROOLZ: 114723"[CR][LF]" 02:02:40.711099 > "A002 OK LIST Completed[CR][LF]" 02:02:40.711111 return proof we are we 02:02:40.754854 < "A003 LOGOUT" 02:02:40.754905 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.754923 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.795888 MAIN sockfilt said DISC 02:02:40.795946 ====> Client disconnected 02:02:40.796012 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:39.910211 ====> Client connect 02:02:39.910680 Received DATA (on stdin) 02:02:39.910697 > 178 bytes data, server => client 02:02:39.910709 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:39.910721 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:39.910733 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:39.910743 'rve\r\n' 02:02:39.910837 < 17 bytes data, client => server 02:02:39.910851 'A001 CAPABILITY\r\n' 02:02:39.911007 Received DATA (on stdin) 02:02:39.911018 > 18 bytes data, server => client 02:02:39.911028 'A001 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind829 ../src/curl -q --output log/11/curl829.out --include --trace-ascii log/11/trace829 --trace-config all --trace-time imap://127.0.0.1:39451/%0d%0a/829 > log/11/stdout829 2> log/11/stderr829 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind831 ../src/curl -q --output log/5/curl831.out --include --trace-ascii log/5/trace831 --trace-config all --trace-time 'imap://127.0.0.1:45695/831/;MAILINDEX=1' -u testuser:testpass > log/5/stdout831 2> log/5/stderr831 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind830 ../src/curl -q --output log/2/curl830.out --include --trace-ascii log/2/trace830 --trace-config all --trace-time 'imap://127.0.0.1:41219/830/;MAILINDEX=1' -u user:secret > log/2/stdout830 2> log/2/stderr830 BAD Command\r\n' 02:02:39.911085 < 30 bytes data, client => server 02:02:39.911098 'A002 LIST "verifiedserver" *\r\n' 02:02:39.911248 Received DATA (on stdin) 02:02:39.911260 > 34 bytes data, server => client 02:02:39.911271 '* LIST () "/" "WE ROOLZ: 114723"\r\n' 02:02:39.911295 Received DATA (on stdin) 02:02:39.911305 > 24 bytes data, server => client 02:02:39.911316 'A002 OK LIST Completed\r\n' 02:02:39.954810 < 13 bytes data, client => server 02:02:39.954842 'A003 LOGOUT\r\n' 02:02:39.955064 Received DATA (on stdin) 02:02:39.955077 > 36 bytes data, server => client 02:02:39.955088 '* BYE curl IMAP server signing off\r\n' 02:02:39.955114 Received DATA (on stdin) 02:02:39.955125 > 26 bytes data, server => client 02:02:39.955136 'A003 OK LOGOUT completed\r\n' 02:02:39.995945 ====> Client disconnect 02:02:39.996157 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH LOGIN CAPA SASL-IR REPLY AUTHENTICATE + UGFzc3dvcmQ6 REPLY c2VjcmV0 A002 OK AUTHENTICATE completed Testnum 826 === End of file server.cmd === Start of file valgrind826 ==116387== ==116387== Process terminating with default action of signal 4 (SIGILL) ==116387== Illegal opcode at address 0x10B08D ==116387== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116387== by 0x10B08D: main (tool_main.c:232) === End of file valgrind826 test 0829...[IMAP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind829 ../src/curl -q --output log/11/curl829.out --include --trace-ascii log/11/trace829 --trace-config all --trace-time imap://127.0.0.1:39451/%0d%0a/829 > log/11/stdout829 2> log/11/stderr829 curl returned 132, when expecting 3 829: exit FAILED == Contents of files in the log/11/ dir after test 829 === Start of file imap_server.log 02:02:40.787102 ====> Client connect 02:02:40.787215 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.787476 < "A001 CAPABILITY" 02:02:40.787507 > "A001 BAD Command[CR][LF]" 02:02:40.787663 < "A002 LIST "verifiedserver" *" 02:02:40.787690 LIST_imap got "verifiedserver" * 02:02:40.787713 > "* LIST () "/" "WE ROOLZ: 114875"[CR][LF]" 02:02:40.787730 > "A002 OK LIST Completed[CR][LF]" 02:02:40.787743 return proof we are we 02:02:40.832076 < "A003 LOGOUT" 02:02:40.832126 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.832146 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.875171 MAIN sockfilt said DISC 02:02:40.875218 ====> Client disconnected 02:02:40.875277 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.987152 ====> Client connect 02:02:40.987363 Received DATA (on stdin) 02:02:40.987377 > 178 bytes data, server => client 02:02:40.987390 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.987402 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.987413 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.987423 'rve\r\n' 02:02:40.987489 < 17 bytes data, client => server 02:02:40.987503 'A001 CAPABILITY\r\n' 02:02:40.987645 Received DATA (on stdin) 02:02:40.987657 > 18 bytes data, server => client 02:02:40.987668 'A001 BAD Command\r\n' 02:02:40.987721 < 30 bytes data, client => server 02:02:40.987734 'A002 LIST "verifiedserver" *\r\n' 02:02:40.987881 Received DATA (on stdin) 02:02:40.987893 > 34 bytes data, server => client 02:02:40.987904 '* LIST () "/" "WE ROOLZ: 114875"\r\n' 02:02:40.987929 Received DATA (on stdin) 02:02:40.987940 > 24 bytes data, server => client 02:02:40.987952 'A002 OK LIST Completed\r\n' 02:02:41.032060 < 13 bytes data, client => server 02:02:41.032083 'A003 LOGOUT\r\n' 02:02:41.032257 Received DATA (on stdin) 02:02:41.032276 > 36 bytes data, server => client 02:02:41.032288 '* BYE curl IMAP server signing off\r\n' 02:02:41.032317 Received DATA (on stdin) 02:02:41.032327 > 26 bytes data, server => client 02:02:41.032341 'A003 OK LOGOUT completed\r\n' 02:02:41.075237 ====> Client disconnect 02:02:41.075422 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 829 === End of file server.cmd === Start of file valgrind829 ==116505== ==116505== Process terminating with default action of signal 4 (SIGILL) ==116505== Illegal opcode at address 0x10B08D ==116505== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116505== by 0x10B08D: main (tool_main.c:232) === End of file valgrind829 test 0831...[IMAP NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind831 ../src/curl -q --output log/5/curl831.out --include --trace-ascii log/5/trace831 --trace-config all --trace-time 'imap://127.0.0.1:45695/831/;MAILINDEX=1' -u testuser:testpass > log/5/stdout831 2> log/5/stderr831 831: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 831 === Start of file imap_server.log 02:02:40.933365 ====> Client connect 02:02:40.933492 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.933784 < "A001 CAPABILITY" 02:02:40.933818 > "A001 BAD Command[CR][LF]" 02:02:40.933997 < "A002 LIST "verifiedserver" *" 02:02:40.934025 LIST_imap got "verifiedserver" * 02:02:40.934051 > "* LIST () "/" "WE ROOLZ: 114661"[CR][LF]" 02:02:40.934069 > "A002 OK LIST Completed[CR][LF]" 02:02:40.934082 return proof we are we 02:02:40.975900 < "A003 LOGOUT" 02:02:40.975953 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.975971 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.023776 MAIN sockfilt said DISC 02:02:41.023843 ====> Client disconnected 02:02:41.024001 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.133402 ====> Client connect 02:02:41.133644 Received DATA (on stdin) 02:02:41.133660 > 178 bytes data, server => client 02:02:41.133673 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.133685 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.133697 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.133707 'rve\r\n' 02:02:41.133781 < 17 bytes data, client => server 02:02:41.133796 'A001 CAPABILITY\r\n' 02:02:41.133961 Received DATA (on stdin) 02:02:41.133974 > 18 bytes data, server => client 02:02:41.133985 'A001 BAD Command\r\n' 02:02:41.134045 < 30 bytes data, client => server 02:02:41.134061 'A002 LIST "verifiedserver" *\r\n' 02:02:41.134220 Received DATA (on stdin) 02:02:41.134233 > 34 bytes data, server => client 02:02:41.134244 '* LIST () "/" "WE ROOLZ: 114661"\r\n' 02:02:41.134270 Received DATA (on stdin) 02:02:41.134281 > 24 bytes data, server => client 02:02:41.134292 'A002 OK LIST Completed\r\n' 02:02:41.175856 < 13 bytes data, client => server 02:02:41.175885 'A003 LOGOUT\r\n' 02:02:41.176110 Received DATA (on stdin) 02:02:41.176122 > 36 bytes data, server => client 02:02:41.176133 '* BYE curl IMAP server signing off\r\n' 02:02:41.176157 Received DATA (on stdin) 02:02:41.176167 > 26 bytes data, server => client 02:02:41.176178 'A003 OK LOGOUT completed\r\n' 02:02:41.223374 ====> Client disconnect 02:02:41.224054 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA LOGINDISABLED REPLY AUTHENTICATE + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * A002 NO AUTH exchange cancelled by client Testnum 831 === End of file server.cmd === Start of file valgrind83CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind833 ../src/curl -q --output log/10/curl833.out --include --trace-ascii log/10/trace833 --trace-config all --trace-time 'imap://127.0.0.1:35147/833/;MAILINDEX=1' -u user:secret > log/10/stdout833 2> log/10/stderr833 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind834 ../src/curl -q --output log/9/curl834.out --include --trace-ascii log/9/trace834 --trace-config all --trace-time 'imap://127.0.0.1:39997/834/;MAILINDEX=1' -u user:secret > log/9/stdout834 2> log/9/stderr834 1 ==116686== ==116686== Process terminating with default action of signal 4 (SIGILL) ==116686== Illegal opcode at address 0x10B08D ==116686== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116686== by 0x10B08D: main (tool_main.c:232) === End of file valgrind831 test 0830...[IMAP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind830 ../src/curl -q --output log/2/curl830.out --include --trace-ascii log/2/trace830 --trace-config all --trace-time 'imap://127.0.0.1:41219/830/;MAILINDEX=1' -u user:secret > log/2/stdout830 2> log/2/stderr830 830: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 830 === Start of file imap_server.log 02:02:40.848416 ====> Client connect 02:02:40.848565 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.848846 < "A001 CAPABILITY" 02:02:40.848881 > "A001 BAD Command[CR][LF]" 02:02:40.849043 < "A002 LIST "verifiedserver" *" 02:02:40.849069 LIST_imap got "verifiedserver" * 02:02:40.849092 > "* LIST () "/" "WE ROOLZ: 110936"[CR][LF]" 02:02:40.849109 > "A002 OK LIST Completed[CR][LF]" 02:02:40.849121 return proof we are we 02:02:40.892065 < "A003 LOGOUT" 02:02:40.892120 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.892140 > "A003 OK LOGOUT completed[CR][LF]" 02:02:40.939142 MAIN sockfilt said DISC 02:02:40.939193 ====> Client disconnected 02:02:40.939262 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.048269 ====> Client connect 02:02:41.048717 Received DATA (on stdin) 02:02:41.048734 > 178 bytes data, server => client 02:02:41.048747 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.048759 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.048770 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.048780 'rve\r\n' 02:02:41.048844 < 17 bytes data, client => server 02:02:41.048859 'A001 CAPABILITY\r\n' 02:02:41.049022 Received DATA (on stdin) 02:02:41.049035 > 18 bytes data, server => client 02:02:41.049045 'A001 BAD Command\r\n' 02:02:41.049098 < 30 bytes data, client => server 02:02:41.049110 'A002 LIST "verifiedserver" *\r\n' 02:02:41.049259 Received DATA (on stdin) 02:02:41.049271 > 34 bytes data, server => client 02:02:41.049282 '* LIST () "/" "WE ROOLZ: 110936"\r\n' 02:02:41.049308 Received DATA (on stdin) 02:02:41.049318 > 24 bytes data, server => client 02:02:41.049329 'A002 OK LIST Completed\r\n' 02:02:41.092012 < 13 bytes data, client => server 02:02:41.092048 'A003 LOGOUT\r\n' 02:02:41.092280 Received DATA (on stdin) 02:02:41.092295 > 36 bytes data, server => client 02:02:41.092307 '* BYE curl IMAP server signing off\r\n' 02:02:41.092334 Received DATA (on stdin) 02:02:41.092346 > 26 bytes data, server => client 02:02:41.092357 'A003 OK LOGOUT completed\r\n' 02:02:41.139214 ====> Client disconnect 02:02:41.139408 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 CAPA LOGINDISABLED REPLY AUTHENTICATE + Rubbish REPLY * A002 NO AUTH exchange cancelled by client Testnum 830 === End of file server.cmd === Start of file valgrind830 ==116631== ==116631== Process terminating with default action of signal 4 (SIGILL) ==116631== Illegal opcode at address 0x10B08D ==116631== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116631== by 0x10B08D: main (tool_main.c:232) === End of file valgrind830 test 0833...[IMAP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind833 ../src/curl -q --output log/10/curl833.out --include --trace-ascii log/10/trace833 --trace-config all --trace-time 'imap://127.0.0.1:35147/833/;MAILINDEX=1' -u user:secret > log/10/stdout833 2> log/10/stderr833 833: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 833 === Start of file imap_server.log 02:02:40.946097 ====> Client connect 02:02:40.946242 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:40.946603 < "A001 CAPABILITY" 02:02:40.946643 > "A001 BAD Command[CR][LF]" 02:02:40.946802 < "A002 LIST "verifiedserver" *" 02:02:40.946828 LIST_imap got "verifiedserver" * 02:02:40.946850 > "* LIST () "/" "WE ROOLZ: 114662"[CR][LF]" 02:02:40.946866 > "A002 OK LIST Completed[CR][LF]" 02:02:40.946878 return proof we are we 02:02:40.998666 < "A003 LOGOUT" 02:02:40.998723 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:40.998744 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.055047 MAIN sockfilt said DISC 02:02:41.055112 ====> Client disconnected 02:02:41.055185 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.146128 ====> Client connect 02:02:41.146393 Received DATA (on stdin) 02:02:41.146409 > 178 bytes data, server => client 02:02:41.146422 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.146434 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.146444 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.146454 'rve\r\n' 02:02:41.146605 < 17 bytes data, client => server 02:02:41.146621 'A001 CAPABILITY\r\n' 02:02:41.146782 Received DATA (on stdin) 02:02:41.146794 > 18 bytes data, server => client 02:02:41.146805 'A001 BAD Command\r\n' 02:02:41.146860 < 30 bytes data, client => server 02:02:41.146873 'A002 LIST "verifiedserver" *\r\n' 02:02:41.147015 Received DATA (on stdin) 02:02:41.147026 > 34 bytes data, server => client 02:02:41.147036 '* LIST () "/" "WE ROOLZ: 114662"\r\n' 02:02:41.147059 Received DATA (on stdin) 02:02:41.147068 > 24 bytes data, server => client 02:02:41.147079 'A002 OK LIST Completed\r\n' 02:02:41.198503 < 13 bytes data, client => server 02:02:41.198536 'A003 LOGOUT\r\n' 02:02:41.198886 Received DATA (on stdin) 02:02:41.198901 > 36 bytes data, server => client 02:02:41.198913 '* BYE curl IMAP server signing off\r\n' 02:02:41.198943 Received DATA (on stdin) 02:02:41.198954 > 26 bytes data, server => client 02:02:41.198966 'A003 OK LOGOUT completed\r\n' 02:02:41.251415 ====> Client disconnect 02:02:41.255331 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTHENTICATE CRAM-MD5" + Rubbish REPLY * A002 NO AUTH exchange cancelled by client REPLY "AUTHENTICATE PLAIN" + REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed Testnum 833 === End of file server.cmd === Start of file valgrind833 ==116749== ==116749== Process terminating with default action of signal 4 (SIGILL) ==116749== Illegal opcode at address 0x10B08D ==116749== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116749== by 0x10B08D: main (tool_main.c:232) === End of file valgrind833 test 0834...[IMAP NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind834 ../src/curl -q --output log/9/curl834.out --include --trace-ascii log/9/trace834 --trace-config all --trace-time 'imap://127.0.0.1:39997/834/;MAILINDEX=1' -u user:secret > log/9/stdout834 2> log/9/stderr834 834: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curlCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind837 ../src/curl -q --output log/4/curl837.out --include --trace-ascii log/4/trace837 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:39817/837/;MAILINDEX=1' > log/4/stdout837 2> log/4/stderr837 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind838 ../src/curl -q --output log/8/curl838.out --include --trace-ascii log/8/trace838 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34799/838/;MAILINDEX=1' > log/8/stdout838 2> log/8/stderr838 failure? Returned: 132 == Contents of files in the log/9/ dir after test 834 === Start of file imap_server.log 02:02:41.077782 ====> Client connect 02:02:41.077925 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.078210 < "A001 CAPABILITY" 02:02:41.078246 > "A001 BAD Command[CR][LF]" 02:02:41.078420 < "A002 LIST "verifiedserver" *" 02:02:41.078447 LIST_imap got "verifiedserver" * 02:02:41.078471 > "* LIST () "/" "WE ROOLZ: 114663"[CR][LF]" 02:02:41.078488 > "A002 OK LIST Completed[CR][LF]" 02:02:41.078501 return proof we are we 02:02:41.126509 < "A003 LOGOUT" 02:02:41.126647 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.126698 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.172519 MAIN sockfilt said DISC 02:02:41.172579 ====> Client disconnected 02:02:41.172647 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.277818 ====> Client connect 02:02:41.278076 Received DATA (on stdin) 02:02:41.278091 > 178 bytes data, server => client 02:02:41.278104 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.278116 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.278127 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.278136 'rve\r\n' 02:02:41.278209 < 17 bytes data, client => server 02:02:41.278224 'A001 CAPABILITY\r\n' 02:02:41.278387 Received DATA (on stdin) 02:02:41.278399 > 18 bytes data, server => client 02:02:41.278411 'A001 BAD Command\r\n' 02:02:41.278469 < 30 bytes data, client => server 02:02:41.278486 'A002 LIST "verifiedserver" *\r\n' 02:02:41.278639 Received DATA (on stdin) 02:02:41.278651 > 34 bytes data, server => client 02:02:41.278662 '* LIST () "/" "WE ROOLZ: 114663"\r\n' 02:02:41.278688 Received DATA (on stdin) 02:02:41.278699 > 24 bytes data, server => client 02:02:41.278710 'A002 OK LIST Completed\r\n' 02:02:41.326068 < 13 bytes data, client => server 02:02:41.327704 'A003 LOGOUT\r\n' 02:02:41.328642 Received DATA (on stdin) 02:02:41.328654 > 36 bytes data, server => client 02:02:41.328666 '* BYE curl IMAP server signing off\r\n' 02:02:41.328690 Received DATA (on stdin) 02:02:41.328701 > 26 bytes data, server => client 02:02:41.328712 'A003 OK LOGOUT completed\r\n' 02:02:41.372423 ====> Client disconnect 02:02:41.372787 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTHENTICATE NTLM" + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * A002 NO AUTH exchange cancelled by client REPLY "AUTHENTICATE PLAIN" + REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed Testnum 834 === End of file server.cmd === Start of file valgrind834 ==116812== ==116812== Process terminating with default action of signal 4 (SIGILL) ==116812== Illegal opcode at address 0x10B08D ==116812== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116812== by 0x10B08D: main (tool_main.c:232) === End of file valgrind834 test 0837...[IMAP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind837 ../src/curl -q --output log/4/curl837.out --include --trace-ascii log/4/trace837 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:39817/837/;MAILINDEX=1' > log/4/stdout837 2> log/4/stderr837 837: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 837 === Start of file imap_server.log 02:02:41.174765 ====> Client connect 02:02:41.174875 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.175141 < "A001 CAPABILITY" 02:02:41.175172 > "A001 BAD Command[CR][LF]" 02:02:41.178602 < "A002 LIST "verifiedserver" *" 02:02:41.178628 LIST_imap got "verifiedserver" * 02:02:41.178651 > "* LIST () "/" "WE ROOLZ: 114665"[CR][LF]" 02:02:41.178667 > "A002 OK LIST Completed[CR][LF]" 02:02:41.178680 return proof we are we 02:02:41.225291 < "A003 LOGOUT" 02:02:41.225341 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.225359 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.271721 MAIN sockfilt said DISC 02:02:41.271775 ====> Client disconnected 02:02:41.271842 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.374810 ====> Client connect 02:02:41.375020 Received DATA (on stdin) 02:02:41.375033 > 178 bytes data, server => client 02:02:41.375045 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.375058 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.375069 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.375079 'rve\r\n' 02:02:41.375151 < 17 bytes data, client => server 02:02:41.375164 'A001 CAPABILITY\r\n' 02:02:41.378523 Received DATA (on stdin) 02:02:41.378547 > 18 bytes data, server => client 02:02:41.378560 'A001 BAD Command\r\n' 02:02:41.378627 < 30 bytes data, client => server 02:02:41.378643 'A002 LIST "verifiedserver" *\r\n' 02:02:41.378817 Received DATA (on stdin) 02:02:41.378829 > 34 bytes data, server => client 02:02:41.378840 '* LIST () "/" "WE ROOLZ: 114665"\r\n' 02:02:41.378864 Received DATA (on stdin) 02:02:41.378875 > 24 bytes data, server => client 02:02:41.378885 'A002 OK LIST Completed\r\n' 02:02:41.425245 < 13 bytes data, client => server 02:02:41.425277 'A003 LOGOUT\r\n' 02:02:41.425498 Received DATA (on stdin) 02:02:41.425511 > 36 bytes data, server => client 02:02:41.425522 '* BYE curl IMAP server signing off\r\n' 02:02:41.425549 Received DATA (on stdin) 02:02:41.425560 > 26 bytes data, server => client 02:02:41.425571 'A003 OK LOGOUT completed\r\n' 02:02:41.470262 ====> Client disconnect 02:02:41.471986 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY dXNlcg== A002 OK AUTHENTICATE completed Testnum 837 === End of file server.cmd === Start of file valgrind837 ==116908== ==116908== Process terminating with default action of signal 4 (SIGILL) ==116908== Illegal opcode at address 0x10B08D ==116908== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116908== by 0x10B08D: main (tool_main.c:232) === End of file valgrind837 test 0838...[IMAP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind838 ../src/curl -q --output log/8/curl838.out --include --trace-ascii log/8/trace838 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34799/838/;MAILINDEX=1' > log/8/stdout838 2> log/8/stderr838 838: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 838 === Start of file imap_server.log 02:02:41.268502 ====> Client connect 02:02:41.268648 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.268944 < "A001 CAPABILITY" 02:02:41.268981 > "A001 BAD Command[CR][LF]" 02:02:41.269161 < "A002 LIST "verifiedserver" *" 02:02:41.269188 LIST_imap got "verifiedserver" * 02:02:41.269213 > "* LIST () "/" "WE ROOLZ: 114664"[CR][LF]" 02:02:41.269230 > "A002 OK LIST Completed[CR][LF]" 02:02:41.269243 return proof we are we 02:02:41.312048 < "A003 LOGOUT" 02:02:41.312097 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.312114 > "A003CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind839 ../src/curl -q --output log/6/curl839.out --include --trace-ascii log/6/trace839 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:39533/839/;MAILINDEX=1' > log/6/stdout839 2> log/6/stderr839 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind840 ../src/curl -q --output log/12/curl840.out --include --trace-ascii log/12/trace840 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:40655/840/;MAILINDEX=1' > log/12/stdout840 2> log/12/stderr840 OK LOGOUT completed[CR][LF]" 02:02:41.355960 MAIN sockfilt said DISC 02:02:41.356022 ====> Client disconnected 02:02:41.356076 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.468519 ====> Client connect 02:02:41.468798 Received DATA (on stdin) 02:02:41.468814 > 178 bytes data, server => client 02:02:41.468828 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.468839 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.468851 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.468860 'rve\r\n' 02:02:41.468939 < 17 bytes data, client => server 02:02:41.468953 'A001 CAPABILITY\r\n' 02:02:41.469121 Received DATA (on stdin) 02:02:41.469133 > 18 bytes data, server => client 02:02:41.469144 'A001 BAD Command\r\n' 02:02:41.469207 < 30 bytes data, client => server 02:02:41.469220 'A002 LIST "verifiedserver" *\r\n' 02:02:41.469381 Received DATA (on stdin) 02:02:41.469466 > 34 bytes data, server => client 02:02:41.469477 '* LIST () "/" "WE ROOLZ: 114664"\r\n' 02:02:41.469502 Received DATA (on stdin) 02:02:41.469513 > 24 bytes data, server => client 02:02:41.469523 'A002 OK LIST Completed\r\n' 02:02:41.512015 < 13 bytes data, client => server 02:02:41.512039 'A003 LOGOUT\r\n' 02:02:41.512255 Received DATA (on stdin) 02:02:41.512267 > 36 bytes data, server => client 02:02:41.512279 '* BYE curl IMAP server signing off\r\n' 02:02:41.512306 Received DATA (on stdin) 02:02:41.512318 > 26 bytes data, server => client 02:02:41.512329 'A003 OK LOGOUT completed\r\n' 02:02:41.556019 ====> Client disconnect 02:02:41.556215 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY = A002 OK AUTHENTICATE completed Testnum 838 === End of file server.cmd === Start of file valgrind838 ==116958== ==116958== Process terminating with default action of signal 4 (SIGILL) ==116958== Illegal opcode at address 0x10B08D ==116958== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116958== by 0x10B08D: main (tool_main.c:232) === End of file valgrind838 test 0839...[IMAP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind839 ../src/curl -q --output log/6/curl839.out --include --trace-ascii log/6/trace839 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:39533/839/;MAILINDEX=1' > log/6/stdout839 2> log/6/stderr839 839: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 839 === Start of file imap_server.log 02:02:41.270664 ====> Client connect 02:02:41.270785 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.271308 < "A001 CAPABILITY" 02:02:41.271383 > "A001 BAD Command[CR][LF]" 02:02:41.272325 < "A002 LIST "verifiedserver" *" 02:02:41.272353 LIST_imap got "verifiedserver" * 02:02:41.272376 > "* LIST () "/" "WE ROOLZ: 114667"[CR][LF]" 02:02:41.272393 > "A002 OK LIST Completed[CR][LF]" 02:02:41.272405 return proof we are we 02:02:41.316097 < "A003 LOGOUT" 02:02:41.316143 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.316160 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.359075 MAIN sockfilt said DISC 02:02:41.359117 ====> Client disconnected 02:02:41.359174 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.470719 ====> Client connect 02:02:41.470937 Received DATA (on stdin) 02:02:41.470954 > 178 bytes data, server => client 02:02:41.470970 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.470982 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.470996 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.471011 'rve\r\n' 02:02:41.471085 < 17 bytes data, client => server 02:02:41.471102 'A001 CAPABILITY\r\n' 02:02:41.471833 Received DATA (on stdin) 02:02:41.471927 > 18 bytes data, server => client 02:02:41.471940 'A001 BAD Command\r\n' 02:02:41.472363 < 30 bytes data, client => server 02:02:41.472383 'A002 LIST "verifiedserver" *\r\n' 02:02:41.472542 Received DATA (on stdin) 02:02:41.472554 > 34 bytes data, server => client 02:02:41.472565 '* LIST () "/" "WE ROOLZ: 114667"\r\n' 02:02:41.472590 Received DATA (on stdin) 02:02:41.472601 > 24 bytes data, server => client 02:02:41.472611 'A002 OK LIST Completed\r\n' 02:02:41.516091 < 13 bytes data, client => server 02:02:41.516112 'A003 LOGOUT\r\n' 02:02:41.516297 Received DATA (on stdin) 02:02:41.516309 > 36 bytes data, server => client 02:02:41.516320 '* BYE curl IMAP server signing off\r\n' 02:02:41.516345 Received DATA (on stdin) 02:02:41.516356 > 26 bytes data, server => client 02:02:41.516366 'A003 OK LOGOUT completed\r\n' 02:02:41.559146 ====> Client disconnect 02:02:41.559313 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 839 === End of file server.cmd === Start of file valgrind839 ==116961== ==116961== Process terminating with default action of signal 4 (SIGILL) ==116961== Illegal opcode at address 0x10B08D ==116961== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==116961== by 0x10B08D: main (tool_main.c:232) === End of file valgrind839 test 0840...[IMAP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind840 ../src/curl -q --output log/12/curl840.out --include --trace-ascii log/12/trace840 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:40655/840/;MAILINDEX=1' > log/12/stdout840 2> log/12/stderr840 840: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 840 === Start of file imap_server.log 02:02:41.279408 ====> Client connect 02:02:41.279528 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.279846 < "A001 CAPABILITY" 02:02:41.279881 > "A001 BAD Command[CR][LF]" 02:02:41.280059 < "A002 LIST "verifiedserver" *" 02:02:41.280087 LIST_imap got "verifiedserver" * 02:02:41.280113 > "* LIST () "/" "WE ROOLZ: 109159"[CR][LF]" 02:02:41.280131 > "A002 OK LIST Completed[CR][LF]" 02:02:41.280146 return proof we are we 02:02:41.325321 < "A003 LOGOUT" 02:02:41.325374 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.325395 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.377832 MAIN sockfilt said DISC 02:02:41.377883 ====> Client disconnected 02:02:41.377940 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.479440 ====> Client connect 02:02:41.479677 Received DATA (on stdin) 02:02:41.479729 > 178 bytes data, server => client 02:02:41.479743 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.479755 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.479766 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.479776 'rve\r\n' 02:02:41.479848 < 17 bytes data, client => server 02:02:41.479862 'A001 CAPABILITY\r\n' 02:02:41.480025 Received DATA (on stdin) 02:02:41.480039 > 18 bytes data, server => client 02:02:41.480050 'A001 BAD Command\r\n' 02:02:41.480110 < 30 bytes data, client => server 02:02:41.480124 'A002 LIST "verifiedserver" *\r\n' 02:02:41.480284 ReceiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind841 ../src/curl -q --output log/1/curl841.out --include --trace-ascii log/1/trace841 --trace-config all --trace-time imap://127.0.0.1:39155/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/1/stdout841 2> log/1/stderr841 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind842 ../src/curl -q --output log/7/curl842.out --include --trace-ascii log/7/trace842 --trace-config all --trace-time 'imap://127.0.0.1:37625/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout842 2> log/7/stderr842 ved DATA (on stdin) 02:02:41.480296 > 34 bytes data, server => client 02:02:41.480307 '* LIST () "/" "WE ROOLZ: 109159"\r\n' 02:02:41.480334 Received DATA (on stdin) 02:02:41.480345 > 24 bytes data, server => client 02:02:41.480356 'A002 OK LIST Completed\r\n' 02:02:41.525302 < 13 bytes data, client => server 02:02:41.525327 'A003 LOGOUT\r\n' 02:02:41.525537 Received DATA (on stdin) 02:02:41.525552 > 36 bytes data, server => client 02:02:41.525564 '* BYE curl IMAP server signing off\r\n' 02:02:41.525593 Received DATA (on stdin) 02:02:41.525605 > 26 bytes data, server => client 02:02:41.525616 'A003 OK LOGOUT completed\r\n' 02:02:41.577902 ====> Client disconnect 02:02:41.578081 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 840 === End of file server.cmd === Start of file valgrind840 ==117038== ==117038== Process terminating with default action of signal 4 (SIGILL) ==117038== Illegal opcode at address 0x10B08D ==117038== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117038== by 0x10B08D: main (tool_main.c:232) === End of file valgrind840 test 0841...[IMAP custom request doesn't check continuation data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind841 ../src/curl -q --output log/1/curl841.out --include --trace-ascii log/1/trace841 --trace-config all --trace-time imap://127.0.0.1:39155/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/1/stdout841 2> log/1/stderr841 841: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 841 === Start of file imap_server.log 02:02:41.476578 ====> Client connect 02:02:41.476706 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.477006 < "A001 CAPABILITY" 02:02:41.477039 > "A001 BAD Command[CR][LF]" 02:02:41.478188 < "A002 LIST "verifiedserver" *" 02:02:41.478216 LIST_imap got "verifiedserver" * 02:02:41.478239 > "* LIST () "/" "WE ROOLZ: 109828"[CR][LF]" 02:02:41.478256 > "A002 OK LIST Completed[CR][LF]" 02:02:41.478269 return proof we are we 02:02:41.518920 < "A003 LOGOUT" 02:02:41.518972 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.518992 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.565571 MAIN sockfilt said DISC 02:02:41.565621 ====> Client disconnected 02:02:41.565677 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.676616 ====> Client connect 02:02:41.676866 Received DATA (on stdin) 02:02:41.676893 > 178 bytes data, server => client 02:02:41.676907 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.676920 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.676934 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.676944 'rve\r\n' 02:02:41.677018 < 17 bytes data, client => server 02:02:41.677031 'A001 CAPABILITY\r\n' 02:02:41.677185 Received DATA (on stdin) 02:02:41.677198 > 18 bytes data, server => client 02:02:41.677208 'A001 BAD Command\r\n' 02:02:41.678220 < 30 bytes data, client => server 02:02:41.678239 'A002 LIST "verifiedserver" *\r\n' 02:02:41.678406 Received DATA (on stdin) 02:02:41.678417 > 34 bytes data, server => client 02:02:41.678429 '* LIST () "/" "WE ROOLZ: 109828"\r\n' 02:02:41.678453 Received DATA (on stdin) 02:02:41.678463 > 24 bytes data, server => client 02:02:41.678474 'A002 OK LIST Completed\r\n' 02:02:41.718876 < 13 bytes data, client => server 02:02:41.718909 'A003 LOGOUT\r\n' 02:02:41.719202 Received DATA (on stdin) 02:02:41.719221 > 36 bytes data, server => client 02:02:41.719233 '* BYE curl IMAP server signing off\r\n' 02:02:41.719264 Received DATA (on stdin) 02:02:41.719276 > 26 bytes data, server => client 02:02:41.719287 'A003 OK LOGOUT completed\r\n' 02:02:41.765638 ====> Client disconnect 02:02:41.765813 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 841 === End of file server.cmd === Start of file valgrind841 ==117164== ==117164== Process terminating with default action of signal 4 (SIGILL) ==117164== Illegal opcode at address 0x10B08D ==117164== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117164== by 0x10B08D: main (tool_main.c:232) === End of file valgrind841 test 0842...[IMAP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind842 ../src/curl -q --output log/7/curl842.out --include --trace-ascii log/7/trace842 --trace-config all --trace-time 'imap://127.0.0.1:37625/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout842 2> log/7/stderr842 842: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 842 === Start of file imap_server.log 02:02:41.497433 ====> Client connect 02:02:41.497581 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.497862 < "A001 CAPABILITY" 02:02:41.497895 > "A001 BAD Command[CR][LF]" 02:02:41.498057 < "A002 LIST "verifiedserver" *" 02:02:41.498083 LIST_imap got "verifiedserver" * 02:02:41.498107 > "* LIST () "/" "WE ROOLZ: 114558"[CR][LF]" 02:02:41.498124 > "A002 OK LIST Completed[CR][LF]" 02:02:41.498136 return proof we are we 02:02:41.542012 < "A003 LOGOUT" 02:02:41.542067 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.542087 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.585641 MAIN sockfilt said DISC 02:02:41.585687 ====> Client disconnected 02:02:41.585740 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.697458 ====> Client connect 02:02:41.697732 Received DATA (on stdin) 02:02:41.697747 > 178 bytes data, server => client 02:02:41.697760 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.697772 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.697784 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.697794 'rve\r\n' 02:02:41.697867 < 17 bytes data, client => server 02:02:41.697880 'A001 CAPABILITY\r\n' 02:02:41.698034 Received DATA (on stdin) 02:02:41.698046 > 18 bytes data, server => client 02:02:41.698057 'A001 BAD Command\r\n' 02:02:41.698113 < 30 bytes data, client => server 02:02:41.698126 'A002 LIST "verifiedserver" *\r\n' 02:02:41.698273 Received DATA (on stdin) 02:02:41.698284 > 34 bytes data, server => client 02:02:41.698295 '* LIST () "/" "WE ROOLZ: 114558"\r\n' 02:02:41.698318 Received DATA (on stdin) 02:02:41.698329 > 24 bytes data, server => client 02:02:41.698340 'A002 OK LIST Completed\r\n' 02:02:41.741974 < 13 bytes data, client => server 02:02:41.742005 'A003 LOGOUT\r\n' 02:02:41.742227 Received DATA (on stdin) 02:02:41.742241 > 36 bytes data, server => client 02:02:41.742253 '* BYE curl IMAP server signing off\r\n' 02:02:41.742279 Received DATA (on stdin) 02:02:41.742292 > 26 bytes data, server => client 02:02:41.742303 'A003 OK LOGOUT completed\r\n' 02:02:41.785710 ====> Client disconnect 02:02:41.785877 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzc2MjUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 ==117179== ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind844 ../src/curl -q --output log/11/curl844.out --include --trace-ascii log/11/trace844 --trace-config all --trace-time 'imap://127.0.0.1:39451/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout844 2> log/11/stderr844 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind843 ../src/curl -q --output log/3/curl843.out --include --trace-ascii log/3/trace843 --trace-config all --trace-time 'imap://127.0.0.1:36589/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout843 2> log/3/stderr843 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind848 ../src/curl -q --output log/9/curl848.out --include --trace-ascii log/9/trace848 --trace-config all --trace-time 'imap://127.0.0.1:39997/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/9/stdout848 2> log/9/stderr848 117179== Process terminating with default action of signal 4 (SIGILL) ==117179== Illegal opcode at address 0x10B08D ==117179== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117179== by 0x10B08D: main (tool_main.c:232) === End of file valgrind842 test 0844...[IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind844 ../src/curl -q --output log/11/curl844.out --include --trace-ascii log/11/trace844 --trace-config all --trace-time 'imap://127.0.0.1:39451/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout844 2> log/11/stderr844 844: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 844 === Start of file imap_server.log 02:02:41.511770 ====> Client connect 02:02:41.511910 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.512219 < "A001 CAPABILITY" 02:02:41.512252 > "A001 BAD Command[CR][LF]" 02:02:41.512417 < "A002 LIST "verifiedserver" *" 02:02:41.512443 LIST_imap got "verifiedserver" * 02:02:41.512466 > "* LIST () "/" "WE ROOLZ: 114875"[CR][LF]" 02:02:41.512483 > "A002 OK LIST Completed[CR][LF]" 02:02:41.512495 return proof we are we 02:02:41.555430 < "A003 LOGOUT" 02:02:41.555489 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.555622 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.606632 MAIN sockfilt said DISC 02:02:41.606698 ====> Client disconnected 02:02:41.606765 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.711790 ====> Client connect 02:02:41.712061 Received DATA (on stdin) 02:02:41.712079 > 178 bytes data, server => client 02:02:41.712093 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.712104 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.712116 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.712127 'rve\r\n' 02:02:41.712208 < 17 bytes data, client => server 02:02:41.712221 'A001 CAPABILITY\r\n' 02:02:41.712392 Received DATA (on stdin) 02:02:41.712404 > 18 bytes data, server => client 02:02:41.712415 'A001 BAD Command\r\n' 02:02:41.712473 < 30 bytes data, client => server 02:02:41.712486 'A002 LIST "verifiedserver" *\r\n' 02:02:41.712632 Received DATA (on stdin) 02:02:41.712644 > 34 bytes data, server => client 02:02:41.712659 '* LIST () "/" "WE ROOLZ: 114875"\r\n' 02:02:41.712682 Received DATA (on stdin) 02:02:41.712692 > 24 bytes data, server => client 02:02:41.712702 'A002 OK LIST Completed\r\n' 02:02:41.755347 < 13 bytes data, client => server 02:02:41.755383 'A003 LOGOUT\r\n' 02:02:41.755770 Received DATA (on stdin) 02:02:41.755785 > 36 bytes data, server => client 02:02:41.755796 '* BYE curl IMAP server signing off\r\n' 02:02:41.755821 Received DATA (on stdin) 02:02:41.755831 > 26 bytes data, server => client 02:02:41.755841 'A003 OK LOGOUT completed\r\n' 02:02:41.805346 ====> Client disconnect 02:02:41.806905 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzk0NTEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 ==117199== ==117199== Process terminating with default action of signal 4 (SIGILL) ==117199== Illegal opcode at address 0x10B08D ==117199== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117199== by 0x10B08D: main (tool_main.c:232) === End of file valgrind844 test 0843...[IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind843 ../src/curl -q --output log/3/curl843.out --include --trace-ascii log/3/trace843 --trace-config all --trace-time 'imap://127.0.0.1:36589/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout843 2> log/3/stderr843 843: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 843 === Start of file imap_server.log 02:02:41.488901 ====> Client connect 02:02:41.489050 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.489361 < "A001 CAPABILITY" 02:02:41.489399 > "A001 BAD Command[CR][LF]" 02:02:41.489581 < "A002 LIST "verifiedserver" *" 02:02:41.489609 LIST_imap got "verifiedserver" * 02:02:41.489634 > "* LIST () "/" "WE ROOLZ: 114723"[CR][LF]" 02:02:41.489651 > "A002 OK LIST Completed[CR][LF]" 02:02:41.489664 return proof we are we 02:02:41.532425 < "A003 LOGOUT" 02:02:41.532478 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.532496 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.578820 MAIN sockfilt said DISC 02:02:41.578868 ====> Client disconnected 02:02:41.578923 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:40.688929 ====> Client connect 02:02:40.689203 Received DATA (on stdin) 02:02:40.689220 > 178 bytes data, server => client 02:02:40.689235 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:40.689247 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:40.689258 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:40.689270 'rve\r\n' 02:02:40.689352 < 17 bytes data, client => server 02:02:40.689368 'A001 CAPABILITY\r\n' 02:02:40.689542 Received DATA (on stdin) 02:02:40.689556 > 18 bytes data, server => client 02:02:40.689568 'A001 BAD Command\r\n' 02:02:40.689629 < 30 bytes data, client => server 02:02:40.689644 'A002 LIST "verifiedserver" *\r\n' 02:02:40.689801 Received DATA (on stdin) 02:02:40.689814 > 34 bytes data, server => client 02:02:40.689825 '* LIST () "/" "WE ROOLZ: 114723"\r\n' 02:02:40.689850 Received DATA (on stdin) 02:02:40.689861 > 24 bytes data, server => client 02:02:40.689872 'A002 OK LIST Completed\r\n' 02:02:40.732381 < 13 bytes data, client => server 02:02:40.732409 'A003 LOGOUT\r\n' 02:02:40.732636 Received DATA (on stdin) 02:02:40.732649 > 36 bytes data, server => client 02:02:40.732661 '* BYE curl IMAP server signing off\r\n' 02:02:40.732691 Received DATA (on stdin) 02:02:40.732701 > 26 bytes data, server => client 02:02:40.732712 'A003 OK LOGOUT completed\r\n' 02:02:40.778501 ====> Client disconnect 02:02:40.779064 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 843 === End of file server.cmd === Start of file valgrind843 ==117242== ==117242== Process terminating with default action of signal 4 (SIGILL) ==117242== Illegal opcode at address 0x10B08D ==117242== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117242== by 0x10B08D: main (tool_main.c:232) === End of file valgrind843 test 0848...[IMAP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind848 ../src/curl -q --output log/9/curl848.out --include --trace-ascii log/9/trace848 --trace-config all --trace-time 'imap://127.0.0.1:39997/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/9/stdout848 2> log/9/stderr848 848: protocol FAILED! There was no content at all in theCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind845 ../src/curl -q --output log/5/curl845.out --include --trace-ascii log/5/trace845 --trace-config all --trace-time 'imap://127.0.0.1:45695/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout845 2> log/5/stderr845 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind847 ../src/curl -q --output log/10/curl847.out --include --trace-ascii log/10/trace847 --trace-config all --trace-time 'imap://127.0.0.1:35147/847/;UID=1' -u '"user:sec"ret{' > log/10/stdout847 2> log/10/stderr847 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind846 ../src/curl -q --output log/2/curl846.out --include --trace-ascii log/2/trace846 --trace-config all --trace-time 'imap://127.0.0.1:41219/846/;MAILINDEX=1' -u notused:still-provided > log/2/stdout846 2> log/2/stderr846 file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 848 === Start of file imap_server.log 02:02:41.842190 ====> Client connect 02:02:41.842329 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.843331 < "A001 CAPABILITY" 02:02:41.843368 > "A001 BAD Command[CR][LF]" 02:02:41.844048 < "A002 LIST "verifiedserver" *" 02:02:41.844076 LIST_imap got "verifiedserver" * 02:02:41.844102 > "* LIST () "/" "WE ROOLZ: 114663"[CR][LF]" 02:02:41.844120 > "A002 OK LIST Completed[CR][LF]" 02:02:41.844134 return proof we are we 02:02:41.885585 < "A003 LOGOUT" 02:02:41.885636 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.885654 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.932003 MAIN sockfilt said DISC 02:02:41.932062 ====> Client disconnected 02:02:41.932124 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:42.041880 ====> Client connect 02:02:42.042480 Received DATA (on stdin) 02:02:42.042498 > 178 bytes data, server => client 02:02:42.042510 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:42.042522 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:42.042534 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:42.042543 'rve\r\n' 02:02:42.042940 < 17 bytes data, client => server 02:02:42.042961 'A001 CAPABILITY\r\n' 02:02:42.043511 Received DATA (on stdin) 02:02:42.043525 > 18 bytes data, server => client 02:02:42.043536 'A001 BAD Command\r\n' 02:02:42.044085 < 30 bytes data, client => server 02:02:42.044105 'A002 LIST "verifiedserver" *\r\n' 02:02:42.044272 Received DATA (on stdin) 02:02:42.044285 > 34 bytes data, server => client 02:02:42.044300 '* LIST () "/" "WE ROOLZ: 114663"\r\n' 02:02:42.044327 Received DATA (on stdin) 02:02:42.044337 > 24 bytes data, server => client 02:02:42.044348 'A002 OK LIST Completed\r\n' 02:02:42.085528 < 13 bytes data, client => server 02:02:42.085563 'A003 LOGOUT\r\n' 02:02:42.085794 Received DATA (on stdin) 02:02:42.085806 > 36 bytes data, server => client 02:02:42.085817 '* BYE curl IMAP server signing off\r\n' 02:02:42.085843 Received DATA (on stdin) 02:02:42.085854 > 26 bytes data, server => client 02:02:42.085864 'A003 OK LOGOUT completed\r\n' 02:02:42.131847 ====> Client disconnect 02:02:42.132265 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= A002 OK AUTHENTICATE completed Testnum 848 === End of file server.cmd === Start of file valgrind848 ==117562== ==117562== Process terminating with default action of signal 4 (SIGILL) ==117562== Illegal opcode at address 0x10B08D ==117562== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117562== by 0x10B08D: main (tool_main.c:232) === End of file valgrind848 test 0845...[IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind845 ../src/curl -q --output log/5/curl845.out --include --trace-ascii log/5/trace845 --trace-config all --trace-time 'imap://127.0.0.1:45695/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout845 2> log/5/stderr845 845: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 845 === Start of file imap_server.log 02:02:41.680893 ====> Client connect 02:02:41.681033 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.681316 < "A001 CAPABILITY" 02:02:41.681349 > "A001 BAD Command[CR][LF]" 02:02:41.681518 < "A002 LIST "verifiedserver" *" 02:02:41.681545 LIST_imap got "verifiedserver" * 02:02:41.681570 > "* LIST () "/" "WE ROOLZ: 114661"[CR][LF]" 02:02:41.681588 > "A002 OK LIST Completed[CR][LF]" 02:02:41.681600 return proof we are we 02:02:41.725363 < "A003 LOGOUT" 02:02:41.725414 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.725433 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.776475 MAIN sockfilt said DISC 02:02:41.776524 ====> Client disconnected 02:02:41.776578 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.880914 ====> Client connect 02:02:41.881183 Received DATA (on stdin) 02:02:41.881198 > 178 bytes data, server => client 02:02:41.881210 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.881222 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.881234 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.881244 'rve\r\n' 02:02:41.881321 < 17 bytes data, client => server 02:02:41.881334 'A001 CAPABILITY\r\n' 02:02:41.881489 Received DATA (on stdin) 02:02:41.881501 > 18 bytes data, server => client 02:02:41.881511 'A001 BAD Command\r\n' 02:02:41.881567 < 30 bytes data, client => server 02:02:41.881581 'A002 LIST "verifiedserver" *\r\n' 02:02:41.881738 Received DATA (on stdin) 02:02:41.881749 > 34 bytes data, server => client 02:02:41.881761 '* LIST () "/" "WE ROOLZ: 114661"\r\n' 02:02:41.881786 Received DATA (on stdin) 02:02:41.881796 > 24 bytes data, server => client 02:02:41.881807 'A002 OK LIST Completed\r\n' 02:02:41.925311 < 13 bytes data, client => server 02:02:41.925346 'A003 LOGOUT\r\n' 02:02:41.925573 Received DATA (on stdin) 02:02:41.925586 > 36 bytes data, server => client 02:02:41.925597 '* BYE curl IMAP server signing off\r\n' 02:02:41.925622 Received DATA (on stdin) 02:02:41.925633 > 26 bytes data, server => client 02:02:41.925644 'A003 OK LOGOUT completed\r\n' 02:02:41.976548 ====> Client disconnect 02:02:41.976727 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER CAPA SASL-IR REPLY AUTHENTICATE + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== A002 NO Authentication failed Testnum 845 === End of file server.cmd === Start of file valgrind845 ==117398== ==117398== Process terminating with default action of signal 4 (SIGILL) ==117398== Illegal opcode at address 0x10B08D ==117398== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117398== by 0x10B08D: main (tool_main.c:232) === End of file valgrind845 test 0847...[IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind847 ../src/curl -q --output log/10/curl847.out --include --trace-ascii log/10/trace847 --trace-config all --trace-time 'imap://127.0.0.1:35147/847/;UID=1' -u '"user:sec"ret{' > log/10/stdout847 2> log/10/stderr847 847: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 847 === Start of file imap_server.log 02:02:41.829906 ====> Client connect 02:02:41.830037 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.830304 < "A001 CAPABILITY" 02:02:41.830335 > "A001 BAD Command[CR][LF]" 02:02:41.830487 < "A002 LIST "verifiedserver" *" 02:02:41.830511 LIST_imap got "verifiedserver" * 02:02:41.830532 > "* LIST () "/" "WE ROOLZ: 114662"[CR][LF]" 02:02:41.830548 > "A002 OK LIST Completed[CR][LF]" 02:02:41.830560CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind849 ../src/curl -q --output log/4/curl849.out --include --trace-ascii log/4/trace849 --trace-config all --trace-time 'imap://127.0.0.1:39817/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/4/stdout849 2> log/4/stderr849 return proof we are we 02:02:41.874783 < "A003 LOGOUT" 02:02:41.874846 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.874872 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.919194 MAIN sockfilt said DISC 02:02:41.919235 ====> Client disconnected 02:02:41.919306 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:42.029942 ====> Client connect 02:02:42.030183 Received DATA (on stdin) 02:02:42.030197 > 178 bytes data, server => client 02:02:42.030209 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:42.030219 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:42.030230 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:42.030239 'rve\r\n' 02:02:42.030315 < 17 bytes data, client => server 02:02:42.030327 'A001 CAPABILITY\r\n' 02:02:42.030474 Received DATA (on stdin) 02:02:42.030485 > 18 bytes data, server => client 02:02:42.030495 'A001 BAD Command\r\n' 02:02:42.030548 < 30 bytes data, client => server 02:02:42.030559 'A002 LIST "verifiedserver" *\r\n' 02:02:42.030695 Received DATA (on stdin) 02:02:42.030705 > 34 bytes data, server => client 02:02:42.030716 '* LIST () "/" "WE ROOLZ: 114662"\r\n' 02:02:42.030738 Received DATA (on stdin) 02:02:42.030748 > 24 bytes data, server => client 02:02:42.030758 'A002 OK LIST Completed\r\n' 02:02:42.074707 < 13 bytes data, client => server 02:02:42.074742 'A003 LOGOUT\r\n' 02:02:42.075018 Received DATA (on stdin) 02:02:42.075034 > 36 bytes data, server => client 02:02:42.075049 '* BYE curl IMAP server signing off\r\n' 02:02:42.075082 Received DATA (on stdin) 02:02:42.075095 > 26 bytes data, server => client 02:02:42.075106 'A003 OK LOGOUT completed\r\n' 02:02:42.119273 ====> Client disconnect 02:02:42.119446 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 847 === End of file server.cmd === Start of file valgrind847 ==117544== ==117544== Process terminating with default action of signal 4 (SIGILL) ==117544== Illegal opcode at address 0x10B08D ==117544== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117544== by 0x10B08D: main (tool_main.c:232) === End of file valgrind847 test 0846...[IMAP PREAUTH response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind846 ../src/curl -q --output log/2/curl846.out --include --trace-ascii log/2/trace846 --trace-config all --trace-time 'imap://127.0.0.1:41219/846/;MAILINDEX=1' -u notused:still-provided > log/2/stdout846 2> log/2/stderr846 846: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 846 === Start of file imap_server.log 02:02:41.685144 ====> Client connect 02:02:41.685278 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.685914 < "A001 CAPABILITY" 02:02:41.685949 > "A001 BAD Command[CR][LF]" 02:02:41.686124 < "A002 LIST "verifiedserver" *" 02:02:41.686151 LIST_imap got "verifiedserver" * 02:02:41.686173 > "* LIST () "/" "WE ROOLZ: 110936"[CR][LF]" 02:02:41.686190 > "A002 OK LIST Completed[CR][LF]" 02:02:41.686203 return proof we are we 02:02:41.728871 < "A003 LOGOUT" 02:02:41.728920 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.728938 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.775984 MAIN sockfilt said DISC 02:02:41.776058 ====> Client disconnected 02:02:41.776135 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:41.885181 ====> Client connect 02:02:41.885430 Received DATA (on stdin) 02:02:41.885445 > 178 bytes data, server => client 02:02:41.885459 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:41.885471 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:41.885483 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:41.885493 'rve\r\n' 02:02:41.885899 < 17 bytes data, client => server 02:02:41.885919 'A001 CAPABILITY\r\n' 02:02:41.886090 Received DATA (on stdin) 02:02:41.886103 > 18 bytes data, server => client 02:02:41.886114 'A001 BAD Command\r\n' 02:02:41.886173 < 30 bytes data, client => server 02:02:41.886188 'A002 LIST "verifiedserver" *\r\n' 02:02:41.886342 Received DATA (on stdin) 02:02:41.886354 > 34 bytes data, server => client 02:02:41.886366 '* LIST () "/" "WE ROOLZ: 110936"\r\n' 02:02:41.886391 Received DATA (on stdin) 02:02:41.886402 > 24 bytes data, server => client 02:02:41.886413 'A002 OK LIST Completed\r\n' 02:02:41.928830 < 13 bytes data, client => server 02:02:41.928856 'A003 LOGOUT\r\n' 02:02:41.929080 Received DATA (on stdin) 02:02:41.929092 > 36 bytes data, server => client 02:02:41.929103 '* BYE curl IMAP server signing off\r\n' 02:02:41.929128 Received DATA (on stdin) 02:02:41.929138 > 26 bytes data, server => client 02:02:41.929149 'A003 OK LOGOUT completed\r\n' 02:02:41.975496 ====> Client disconnect 02:02:41.976513 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY welcome * PREAUTH ready to serve already REPLY CAPABILITY * CAPABILITY IMAP4REV1 I18NLEVEL=1 LITERAL+ IDLE UIDPLUS NAMESPACE CHILDREN MAILBOX-REFERRALS BINARY UNSELECT ESEARCH WITHIN SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED\r\nA001 OK CAPABILITY completed Testnum 846 === End of file server.cmd === Start of file valgrind846 ==117397== ==117397== Process terminating with default action of signal 4 (SIGILL) ==117397== Illegal opcode at address 0x10B08D ==117397== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117397== by 0x10B08D: main (tool_main.c:232) === End of file valgrind846 test 0849...[IMAP plain authentication with alternative authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind849 ../src/curl -q --output log/4/curl849.out --include --trace-ascii log/4/trace849 --trace-config all --trace-time 'imap://127.0.0.1:39817/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/4/stdout849 2> log/4/stderr849 849: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 849 === Start of file imap_server.log 02:02:41.866923 ====> Client connect 02:02:41.867057 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:41.867344 < "A001 CAPABILITY" 02:02:41.867380 > "A001 BAD Command[CR][LF]" 02:02:41.867541 < "A002 LIST "verifiedserver" *" 02:02:41.867566 LIST_imap got "verifiedserver" * 02:02:41.867588 > "* LIST () "/" "WE ROOLZ: 114665"[CR][LF]" 02:02:41.867603 > "A002 OK LIST Completed[CR][LF]" 02:02:41.867615 return proof we are we 02:02:41.915345 < "A003 LOGOUT" 02:02:41.915398 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:41.915418 > "A003 OK LOGOUT completed[CR][LF]" 02:02:41.962766 MAIN sockfilt said DISC 02:02:41.962819 ====> Client disconnected 02:02:41.962880 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:42.066955 ====> Client connect 02:02:42.067205 Received DATA (on stdin) 02:02:42.067220 > 178 bytes data, server => client 02:02:42.067231 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:42.067243 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:42.067254 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:42.067263 'rve\r\n' 02:02:42.067341 < 17CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind850 ../src/curl -q --output log/8/curl850.out --include --trace-ascii log/8/trace850 --trace-config all --trace-time pop3://127.0.0.1:43389/850 -u user:secret > log/8/stdout850 2> log/8/stderr850 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind862 ../src/curl -q --output log/8/curl862.out --include --trace-ascii log/8/trace862 --trace-config all --trace-time pop3://127.0.0.1:43389 -u user:secret -X 'TOP 862 0' > log/8/stdout862 2> log/8/stderr862 bytes data, client => server 02:02:42.067353 'A001 CAPABILITY\r\n' 02:02:42.067519 Received DATA (on stdin) 02:02:42.067530 > 18 bytes data, server => client 02:02:42.067540 'A001 BAD Command\r\n' 02:02:42.067595 < 30 bytes data, client => server 02:02:42.067606 'A002 LIST "verifiedserver" *\r\n' 02:02:42.067751 Received DATA (on stdin) 02:02:42.067762 > 34 bytes data, server => client 02:02:42.067772 '* LIST () "/" "WE ROOLZ: 114665"\r\n' 02:02:42.067795 Received DATA (on stdin) 02:02:42.067804 > 24 bytes data, server => client 02:02:42.067814 'A002 OK LIST Completed\r\n' 02:02:42.115269 < 13 bytes data, client => server 02:02:42.115320 'A003 LOGOUT\r\n' 02:02:42.115560 Received DATA (on stdin) 02:02:42.115573 > 36 bytes data, server => client 02:02:42.115586 '* BYE curl IMAP server signing off\r\n' 02:02:42.115614 Received DATA (on stdin) 02:02:42.115626 > 26 bytes data, server => client 02:02:42.115637 'A003 OK LOGOUT completed\r\n' 02:02:42.162834 ====> Client disconnect 02:02:42.163020 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= A002 NO Not authorized Testnum 849 === End of file server.cmd === Start of file valgrind849 ==117637== ==117637== Process terminating with default action of signal 4 (SIGILL) ==117637== Illegal opcode at address 0x10B08D ==117637== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117637== by 0x10B08D: main (tool_main.c:232) === End of file valgrind849 test 0850...[POP3 RETR message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind850 ../src/curl -q --output log/8/curl850.out --include --trace-ascii log/8/trace850 --trace-config all --trace-time pop3://127.0.0.1:43389/850 -u user:secret > log/8/stdout850 2> log/8/stderr850 850: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 850 === Start of file pop3_server.log 02:02:42.061851 ====> Client connect 02:02:42.062002 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:42.062584 < "CAPA" 02:02:42.062629 > "-ERR Unrecognized command[CR][LF]" 02:02:42.062831 < "RETR verifiedserver" 02:02:42.062859 return proof we are we 02:02:42.062882 > "+OK Mail transfer starts[CR][LF]" 02:02:42.062899 > "WE ROOLZ: 101957[CR][LF]" 02:02:42.062914 > ".[CR][LF]" 02:02:42.105401 < "QUIT" 02:02:42.105452 > "+OK curl POP3 server signing off[CR][LF]" 02:02:42.109467 MAIN sockfilt said DISC 02:02:42.109512 ====> Client disconnected 02:02:42.109572 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.258502 ====> Client connect 02:02:42.262373 Received DATA (on stdin) 02:02:42.262398 > 178 bytes data, server => client 02:02:42.262411 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:42.262424 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:42.262435 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:42.262445 've \r\n' 02:02:42.262565 < 6 bytes data, client => server 02:02:42.262582 'CAPA\r\n' 02:02:42.262774 Received DATA (on stdin) 02:02:42.262788 > 27 bytes data, server => client 02:02:42.262800 '-ERR Unrecognized command\r\n' 02:02:42.262871 < 21 bytes data, client => server 02:02:42.262886 'RETR verifiedserver\r\n' 02:02:42.263053 Received DATA (on stdin) 02:02:42.263066 > 26 bytes data, server => client 02:02:42.263077 '+OK Mail transfer starts\r\n' 02:02:42.263106 Received DATA (on stdin) 02:02:42.263117 > 18 bytes data, server => client 02:02:42.263128 'WE ROOLZ: 101957\r\n' 02:02:42.263140 Received DATA (on stdin) 02:02:42.263150 > 3 bytes data, server => client 02:02:42.263159 '.\r\n' 02:02:42.305346 < 6 bytes data, client => server 02:02:42.305381 'QUIT\r\n' 02:02:42.305598 Received DATA (on stdin) 02:02:42.305612 > 34 bytes data, server => client 02:02:42.305624 '+OK curl POP3 server signing off\r\n' 02:02:42.309540 ====> Client disconnect 02:02:42.309717 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 850 === End of file server.cmd === Start of file valgrind850 ==117715== ==117715== Process terminating with default action of signal 4 (SIGILL) ==117715== Illegal opcode at address 0x10B08D ==117715== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117715== by 0x10B08D: main (tool_main.c:232) === End of file valgrind850 test 0862...[POP3 retrieve message header (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind862 ../src/curl -q --output log/8/curl862.out --include --trace-ascii log/8/trace862 --trace-config all --trace-time pop3://127.0.0.1:43389 -u user:secret -X 'TOP 862 0' > log/8/stdout862 2> log/8/stderr862 862: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 862 === Start of file pop3_server.log 02:02:42.768412 ====> Client connect 02:02:42.768522 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:42.768744 < "CAPA" 02:02:42.768774 > "-ERR Unrecognized command[CR][LF]" 02:02:42.768899 < "RETR verifiedserver" 02:02:42.768917 return proof we are we 02:02:42.768931 > "+OK Mail transfer starts[CR][LF]" 02:02:42.768944 > "WE ROOLZ: 101957[CR][LF]" 02:02:42.768959 > ".[CR][LF]" 02:02:42.815713 < "QUIT" 02:02:42.815773 > "+OK curl POP3 server signing off[CR][LF]" 02:02:42.816734 MAIN sockfilt said DISC 02:02:42.816775 ====> Client disconnected 02:02:42.816846 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.968455 ====> Client connect 02:02:42.968664 Received DATA (on stdin) 02:02:42.968676 > 178 bytes data, server => client 02:02:42.968685 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:42.968693 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:42.968701 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:42.968708 've \r\n' 02:02:42.968770 < 6 bytes data, client => server 02:02:42.968779 'CAPA\r\n' 02:02:42.968909 Received DATA (on stdin) 02:02:42.968918 > 27 bytes data, server => client 02:02:42.968926 '-ERR Unrecognized command\r\n' 02:02:42.968968 < 21 bytes data, client => server 02:02:42.968977 'RETR verifiedserver\r\n' 02:02:42.969091 Received DATA (on stdin) 02:02:42.969100 > 26 bytes data, server => client 02:02:42.969108 '+OK Mail transfer starts\r\n' 02:02:42.969125 Received DATA (on stdin) 02:02:42.969133 > 18 bytes data, server => client 02:02:42.969141 'WE ROOLZ: 101957\r\n' 02:02:42.969150 Received DATA (on stdin) 02:02:42.969158 > 3 bytes data, server => client 02:02:42.969168 '.\r\n' 02:02:43.015642 < 6 bytes data, client => server 02:02:43.015680 'QUIT\r\n' 02:02:43.015926 Received DATA (on stdin) 02:02:43.015945 > 34 bytes data, server => client 02:02:43.015958 '+OK curl POP3 server signing off\r\n' 02:02:43.016627 ====> Client disconnect 02:02:43.017263 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 862 === End of file server.cmd === Start of file valgrind862 ==117800== ==117800== Process terminating with default action of signal 4 (SIGILL) ==117800== Illegal opcode at address 0x10B08D ==117800== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117800== by 0x10B08D: main (tool_main.cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind851 ../src/curl -q --output log/6/curl851.out --include --trace-ascii log/6/trace851 --trace-config all --trace-time pop3://127.0.0.1:37773/851 -l -u user:secret > log/6/stdout851 2> log/6/stderr851 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind852 ../src/curl -q --output log/12/curl852.out --include --trace-ascii log/12/trace852 --trace-config all --trace-time pop3://127.0.0.1:44463/852 -l -u user:secret > log/12/stdout852 2> log/12/stderr852 :232) === End of file valgrind862 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/pop3_server.pid" --logfile "log/6/pop3_server.log" --logdir "log/6" --portfile "log/6/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37773 (log/6/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:37773/verifiedserver" 2>log/6/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117682 port 37773 * pid pop3 => 117682 117682 test 0851...[POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind851 ../src/curl -q --output log/6/curl851.out --include --trace-ascii log/6/trace851 --trace-config all --trace-time pop3://127.0.0.1:37773/851 -l -u user:secret > log/6/stdout851 2> log/6/stderr851 851: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 851 === Start of file pop3_server.log 02:02:42.081634 POP3 server listens on port IPv4/37773 02:02:42.081718 logged pid 117682 in log/6/server/pop3_server.pid 02:02:42.081745 Awaiting input 02:02:43.053363 ====> Client connect 02:02:43.053505 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.053788 < "CAPA" 02:02:43.053836 > "-ERR Unrecognized command[CR][LF]" 02:02:43.054027 < "RETR verifiedserver" 02:02:43.054058 return proof we are we 02:02:43.054081 > "+OK Mail transfer starts[CR][LF]" 02:02:43.054101 > "WE ROOLZ: 117682[CR][LF]" 02:02:43.054120 > ".[CR][LF]" 02:02:43.098725 < "QUIT" 02:02:43.098783 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.099546 MAIN sockfilt said DISC 02:02:43.099576 ====> Client disconnected 02:02:43.099651 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.281360 Running IPv4 version 02:02:42.281434 Listening on port 37773 02:02:42.281472 Wrote pid 117710 to log/6/server/pop3_sockfilt.pid 02:02:42.281500 Wrote port 37773 to log/6/server/pop3_server.port 02:02:42.281699 Received PING (on stdin) 02:02:43.253429 ====> Client connect 02:02:43.253656 Received DATA (on stdin) 02:02:43.253668 > 178 bytes data, server => client 02:02:43.253680 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.253690 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.253700 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.253708 've \r\n' 02:02:43.253777 < 6 bytes data, client => server 02:02:43.253787 'CAPA\r\n' 02:02:43.253982 Received DATA (on stdin) 02:02:43.253997 > 27 bytes data, server => client 02:02:43.254008 '-ERR Unrecognized command\r\n' 02:02:43.254074 < 21 bytes data, client => server 02:02:43.254088 'RETR verifiedserver\r\n' 02:02:43.254259 Received DATA (on stdin) 02:02:43.254272 > 26 bytes data, server => client 02:02:43.254283 '+OK Mail transfer starts\r\n' 02:02:43.254309 Received DATA (on stdin) 02:02:43.254320 > 18 bytes data, server => client 02:02:43.254330 'WE ROOLZ: 117682\r\n' 02:02:43.254341 Received DATA (on stdin) 02:02:43.254351 > 3 bytes data, server => client 02:02:43.254360 '.\r\n' 02:02:43.298677 < 6 bytes data, client => server 02:02:43.298708 'QUIT\r\n' 02:02:43.298930 Received DATA (on stdin) 02:02:43.298946 > 34 bytes data, server => client 02:02:43.298959 '+OK curl POP3 server signing off\r\n' 02:02:43.299627 ====> Client disconnect 02:02:43.299799 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd # include the '.\r\n' 3-byte trailer to end the transfer properly REPLY LIST +OK 851 100\r\n. Testnum 851 === End of file server.cmd === Start of file valgrind851 ==117881== ==117881== Process terminating with default action of signal 4 (SIGILL) ==117881== Illegal opcode at address 0x10B08D ==117881== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117881== by 0x10B08D: main (tool_main.c:232) === End of file valgrind851 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/pop3_server.pid" --logfile "log/12/pop3_server.log" --logdir "log/12" --portfile "log/12/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44463 (log/12/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:44463/verifiedserver" 2>log/12/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117699 port 44463 * pid pop3 => 117699 117699 test 0852...[POP3 LIST invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind852 ../src/curl -q --output log/12/curl852.out --include --trace-ascii log/12/trace852 --trace-config all --trace-time pop3://127.0.0.1:44463/852 -l -u user:secret > log/12/stdout852 2> log/12/stderr852 852: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 852 === Start of file pop3_server.log 02:02:42.090837 POP3 server listens on port IPv4/44463 02:02:42.090919 logged pid 117699 in log/12/server/pop3_server.pid 02:02:42.090946 Awaiting input 02:02:43.069279 ====> Client connect 02:02:43.069412 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.069817 < "CAPA" 02:02:43.069856 > "-ERR Unrecognized command[CR][LF]" 02:02:43.070024 < "RETR verifiedserver" 02:02:43.070050 return proof we are we 02:02:43.070071 > "+OK Mail transfer starts[CR][LF]" 02:02:43.070088 > "WE ROOLZ: 117699[CR][LF]" 02:02:43.070103 > ".[CR][LF]" 02:02:43.112051 < "QUIT" 02:02:43.112107 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.113004 MAIN sockfilt said DISC 02:02:43.113039 ====> Client disconnected 02:02:43.113111 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.290753 Running IPv4 version 02:02:42.290815 Listening on port 44463 02:02:42.290853 Wrote pid 117711 to log/12/server/pop3_sockfilt.pid 02:02:42.290883 Wrote port 44463 to log/12/server/pop3_server.port 02:02:42.290899 Received PING (on stdin) 02:02:43.269350 ====> Client connect 02:02:43.269650 Received DATA (on stdin) 02:02:43.269668 > 178 bytes data, server => client 02:02:43.269683 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.269695 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.269705 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.269715 've \r\n' 02:02:43.269798 < 6 bytes data, client => server 02:02:43.269812 'CAPA\r\n' 02:02:43.269997 Received DATA (on stdin) 02:02:43.270010 > 27 bytes data, server => client 02:02:43.270021 '-ERR Unrecognized command\r\n' 02:02:43.270076 < 21 bytes data, client => server 02:02:43.270089 'RETR verifiedserver\r\n' 02:02:43.270240 Received DATA (on stdin) 02:02:43.270251 > 26 bytes data, server => client 02:02:43.270261 '+OK Mail transfer starts\r\n' 02:02:43.270284 Received DATA (on stdin) 02:02:43.270295 > 18 bytes data, server => client 02:02:43.270305 'WE ROOLZ: 117699\r\n' 02:02:43.270317 Received DATA (on stdin) 02:02:43.270326 > 3 bytes data, server => client 02:02:43.270335 '.\r\n' 02:02:43.312001 < 6 bytes data, client => server 02:02:43.312034 'QUIT\r\n' 02:02:43.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind854 ../src/curl -q --output log/7/curl854.out --include --trace-ascii log/7/trace854 --trace-config all --trace-time pop3://127.0.0.1:45421/ -u user:secret > log/7/stdout854 2> log/7/stderr854 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind853 ../src/curl -q --output log/1/curl853.out --include --trace-ascii log/1/trace853 --trace-config all --trace-time pop3://127.0.0.1:46745/ -u user:secret > log/1/stdout853 2> log/1/stderr853 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind855 ../src/curl -q --output log/11/curl855.out --include --trace-ascii log/11/trace855 --trace-config all --trace-time pop3://127.0.0.1:39851/855 -u user:secret > log/11/stdout855 2> log/11/stderr855 312249 Received DATA (on stdin) 02:02:43.312261 > 34 bytes data, server => client 02:02:43.312272 '+OK curl POP3 server signing off\r\n' 02:02:43.313087 ====> Client disconnect 02:02:43.313249 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST -ERR no such message Testnum 852 === End of file server.cmd === Start of file valgrind852 ==117905== ==117905== Process terminating with default action of signal 4 (SIGILL) ==117905== Illegal opcode at address 0x10B08D ==117905== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==117905== by 0x10B08D: main (tool_main.c:232) === End of file valgrind852 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/pop3_server.pid" --logfile "log/7/pop3_server.log" --logdir "log/7" --portfile "log/7/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45421 (log/7/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:45421/verifiedserver" 2>log/7/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117766 port 45421 * pid pop3 => 117766 117766 test 0854...[POP3 LIST no messages available] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind854 ../src/curl -q --output log/7/curl854.out --include --trace-ascii log/7/trace854 --trace-config all --trace-time pop3://127.0.0.1:45421/ -u user:secret > log/7/stdout854 2> log/7/stderr854 854: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 854 === Start of file pop3_server.log 02:02:42.291498 POP3 server listens on port IPv4/45421 02:02:42.291571 logged pid 117766 in log/7/server/pop3_server.pid 02:02:42.291591 Awaiting input 02:02:43.278217 ====> Client connect 02:02:43.278381 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.278655 < "CAPA" 02:02:43.278694 > "-ERR Unrecognized command[CR][LF]" 02:02:43.278858 < "RETR verifiedserver" 02:02:43.278885 return proof we are we 02:02:43.278906 > "+OK Mail transfer starts[CR][LF]" 02:02:43.278923 > "WE ROOLZ: 117766[CR][LF]" 02:02:43.278942 > ".[CR][LF]" 02:02:43.321964 < "QUIT" 02:02:43.322016 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.322789 MAIN sockfilt said DISC 02:02:43.322816 ====> Client disconnected 02:02:43.322871 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.491422 Running IPv4 version 02:02:42.491476 Listening on port 45421 02:02:42.491513 Wrote pid 117771 to log/7/server/pop3_sockfilt.pid 02:02:42.491543 Wrote port 45421 to log/7/server/pop3_server.port 02:02:42.491558 Received PING (on stdin) 02:02:43.478280 ====> Client connect 02:02:43.478524 Received DATA (on stdin) 02:02:43.478536 > 178 bytes data, server => client 02:02:43.478547 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.478557 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.478568 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.478576 've \r\n' 02:02:43.478647 < 6 bytes data, client => server 02:02:43.478660 'CAPA\r\n' 02:02:43.478834 Received DATA (on stdin) 02:02:43.478846 > 27 bytes data, server => client 02:02:43.478857 '-ERR Unrecognized command\r\n' 02:02:43.478911 < 21 bytes data, client => server 02:02:43.478924 'RETR verifiedserver\r\n' 02:02:43.479079 Received DATA (on stdin) 02:02:43.479092 > 26 bytes data, server => client 02:02:43.479102 '+OK Mail transfer starts\r\n' 02:02:43.479127 Received DATA (on stdin) 02:02:43.479136 > 18 bytes data, server => client 02:02:43.479146 'WE ROOLZ: 117766\r\n' 02:02:43.479158 Received DATA (on stdin) 02:02:43.479168 > 3 bytes data, server => client 02:02:43.479177 '.\r\n' 02:02:43.521957 < 6 bytes data, client => server 02:02:43.521978 'QUIT\r\n' 02:02:43.522159 Received DATA (on stdin) 02:02:43.522172 > 34 bytes data, server => client 02:02:43.522183 '+OK curl POP3 server signing off\r\n' 02:02:43.522877 ====> Client disconnect 02:02:43.523009 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST +OK but no messages\r\n. Testnum 854 === End of file server.cmd === Start of file valgrind854 ==118071== ==118071== Process terminating with default action of signal 4 (SIGILL) ==118071== Illegal opcode at address 0x10B08D ==118071== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118071== by 0x10B08D: main (tool_main.c:232) === End of file valgrind854 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/pop3_server.pid" --logfile "log/1/pop3_server.log" --logdir "log/1" --portfile "log/1/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46745 (log/1/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:46745/verifiedserver" 2>log/1/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117765 port 46745 * pid pop3 => 117765 117765 test 0853...[POP3 LIST messages from *SLOW* server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind853 ../src/curl -q --output log/1/curl853.out --include --trace-ascii log/1/trace853 --trace-config all --trace-time pop3://127.0.0.1:46745/ -u user:secret > log/1/stdout853 2> log/1/stderr853 853: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 853 === Start of file pop3_server.log 02:02:42.288723 POP3 server listens on port IPv4/46745 02:02:42.288796 logged pid 117765 in log/1/server/pop3_server.pid 02:02:42.288818 Awaiting input 02:02:43.269813 ====> Client connect 02:02:43.269960 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.270241 < "CAPA" 02:02:43.270284 > "-ERR Unrecognized command[CR][LF]" 02:02:43.270437 < "RETR verifiedserver" 02:02:43.270460 return proof we are we 02:02:43.270478 > "+OK Mail transfer starts[CR][LF]" 02:02:43.270493 > "WE ROOLZ: 117765[CR][LF]" 02:02:43.270508 > ".[CR][LF]" 02:02:43.312002 < "QUIT" 02:02:43.312053 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.312192 MAIN sockfilt said DISC 02:02:43.312220 ====> Client disconnected 02:02:43.312279 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.488475 Running IPv4 version 02:02:42.488571 Listening on port 46745 02:02:42.488613 Wrote pid 117770 to log/1/server/pop3_sockfilt.pid 02:02:42.488644 Wrote port 46745 to log/1/server/pop3_server.port 02:02:42.488785 Received PING (on stdin) 02:02:43.469874 ====> Client connect 02:02:43.470106 Received DATA (on stdin) 02:02:43.470119 > 178 bytes data, server => client 02:02:43.470130 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.470141 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.470152 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.470161 've \r\n' 02:02:43.470240 < 6 bytes data, client => server 02:02:43.470251 'CAPA\r\n' 02:02:43.470423 Received DATA (on stdin) 02:02:43.470435 > 27 bytes data, server => client 02:02:43.470445 '-ERR Unrecognized command\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind856 ../src/curl -q --output log/3/curl856.out --include --trace-ascii log/3/trace856 --trace-config all --trace-time pop3://127.0.0.1:44067/856 -u user:wrong > log/3/stdout856 2> log/3/stderr856 02:02:43.470497 < 21 bytes data, client => server 02:02:43.470507 'RETR verifiedserver\r\n' 02:02:43.470644 Received DATA (on stdin) 02:02:43.470654 > 26 bytes data, server => client 02:02:43.470664 '+OK Mail transfer starts\r\n' 02:02:43.470685 Received DATA (on stdin) 02:02:43.470695 > 18 bytes data, server => client 02:02:43.470704 'WE ROOLZ: 117765\r\n' 02:02:43.470716 Received DATA (on stdin) 02:02:43.470725 > 3 bytes data, server => client 02:02:43.470733 '.\r\n' 02:02:43.511970 < 6 bytes data, client => server 02:02:43.511997 'QUIT\r\n' 02:02:43.512193 Received DATA (on stdin) 02:02:43.512205 > 34 bytes data, server => client 02:02:43.512216 '+OK curl POP3 server signing off\r\n' 02:02:43.512275 ====> Client disconnect 02:02:43.512419 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd SLOWDOWN Testnum 853 === End of file server.cmd === Start of file valgrind853 ==118056== ==118056== Process terminating with default action of signal 4 (SIGILL) ==118056== Illegal opcode at address 0x10B08D ==118056== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118056== by 0x10B08D: main (tool_main.c:232) === End of file valgrind853 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/pop3_server.pid" --logfile "log/11/pop3_server.log" --logdir "log/11" --portfile "log/11/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39851 (log/11/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:39851/verifiedserver" 2>log/11/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117767 port 39851 * pid pop3 => 117767 117767 test 0855...[POP3 RETR invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind855 ../src/curl -q --output log/11/curl855.out --include --trace-ascii log/11/trace855 --trace-config all --trace-time pop3://127.0.0.1:39851/855 -u user:secret > log/11/stdout855 2> log/11/stderr855 855: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 855 === Start of file pop3_server.log 02:02:42.307117 POP3 server listens on port IPv4/39851 02:02:42.307192 logged pid 117767 in log/11/server/pop3_server.pid 02:02:42.307215 Awaiting input 02:02:43.288902 ====> Client connect 02:02:43.289035 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.289315 < "CAPA" 02:02:43.289358 > "-ERR Unrecognized command[CR][LF]" 02:02:43.289525 < "RETR verifiedserver" 02:02:43.289553 return proof we are we 02:02:43.289576 > "+OK Mail transfer starts[CR][LF]" 02:02:43.289594 > "WE ROOLZ: 117767[CR][LF]" 02:02:43.289610 > ".[CR][LF]" 02:02:43.335324 < "QUIT" 02:02:43.335374 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.336165 MAIN sockfilt said DISC 02:02:43.336191 ====> Client disconnected 02:02:43.336247 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.507029 Running IPv4 version 02:02:42.507092 Listening on port 39851 02:02:42.507129 Wrote pid 117773 to log/11/server/pop3_sockfilt.pid 02:02:42.507161 Wrote port 39851 to log/11/server/pop3_server.port 02:02:42.507178 Received PING (on stdin) 02:02:43.488974 ====> Client connect 02:02:43.489182 Received DATA (on stdin) 02:02:43.489194 > 178 bytes data, server => client 02:02:43.489206 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.489218 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.489229 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.489238 've \r\n' 02:02:43.489306 < 6 bytes data, client => server 02:02:43.489320 'CAPA\r\n' 02:02:43.489498 Received DATA (on stdin) 02:02:43.489511 > 27 bytes data, server => client 02:02:43.489522 '-ERR Unrecognized command\r\n' 02:02:43.489576 < 21 bytes data, client => server 02:02:43.489589 'RETR verifiedserver\r\n' 02:02:43.489748 Received DATA (on stdin) 02:02:43.489760 > 26 bytes data, server => client 02:02:43.489771 '+OK Mail transfer starts\r\n' 02:02:43.489796 Received DATA (on stdin) 02:02:43.489806 > 18 bytes data, server => client 02:02:43.489816 'WE ROOLZ: 117767\r\n' 02:02:43.489828 Received DATA (on stdin) 02:02:43.489838 > 3 bytes data, server => client 02:02:43.489847 '.\r\n' 02:02:43.535290 < 6 bytes data, client => server 02:02:43.535317 'QUIT\r\n' 02:02:43.535515 Received DATA (on stdin) 02:02:43.535526 > 34 bytes data, server => client 02:02:43.535538 '+OK curl POP3 server signing off\r\n' 02:02:43.536253 ====> Client disconnect 02:02:43.536387 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY RETR -ERR no such message Testnum 855 === End of file server.cmd === Start of file valgrind855 ==118118== ==118118== Process terminating with default action of signal 4 (SIGILL) ==118118== Illegal opcode at address 0x10B08D ==118118== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118118== by 0x10B08D: main (tool_main.c:232) === End of file valgrind855 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/pop3_server.pid" --logfile "log/3/pop3_server.log" --logdir "log/3" --portfile "log/3/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44067 (log/3/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:44067/verifiedserver" 2>log/3/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117768 port 44067 * pid pop3 => 117768 117768 test 0856...[POP3 invalid login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind856 ../src/curl -q --output log/3/curl856.out --include --trace-ascii log/3/trace856 --trace-config all --trace-time pop3://127.0.0.1:44067/856 -u user:wrong > log/3/stdout856 2> log/3/stderr856 856: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 856 === Start of file pop3_server.log 02:02:42.303819 POP3 server listens on port IPv4/44067 02:02:42.303891 logged pid 117768 in log/3/server/pop3_server.pid 02:02:42.303913 Awaiting input 02:02:43.287979 ====> Client connect 02:02:43.288142 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.288501 < "CAPA" 02:02:43.288546 > "-ERR Unrecognized command[CR][LF]" 02:02:43.288726 < "RETR verifiedserver" 02:02:43.288755 return proof we are we 02:02:43.288778 > "+OK Mail transfer starts[CR][LF]" 02:02:43.288797 > "WE ROOLZ: 117768[CR][LF]" 02:02:43.288811 > ".[CR][LF]" 02:02:43.335448 < "QUIT" 02:02:43.335502 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.336200 MAIN sockfilt said DISC 02:02:43.336238 ====> Client disconnected 02:02:43.336294 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.503640 Running IPv4 version 02:02:42.503709 Listening on port 44067 02:02:42.503744 Wrote pid 117772 to log/3/server/pop3_sockfilt.pid 02:02:42.503773 Wrote port 44067 to log/3/server/pop3_server.port 02:02:42.503884 Received PING (on stdin) 02:02:43.488030 ====> Client connect 02:02:43.488294 Received DATA (on stdin) 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind863 ../src/curl -q --output log/8/curl863.out --include --trace-ascii log/8/trace863 --trace-config all --trace-time pop3://127.0.0.1:43389 -u user:secret -X RSET -I > log/8/stdout863 2> log/8/stderr863 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind857 ../src/curl -q --output log/9/curl857.out --include --trace-ascii log/9/trace857 --trace-config all --trace-time pop3://127.0.0.1:46125/857 -u user:secret > log/9/stdout857 2> log/9/stderr857 2:02:43.488312 > 178 bytes data, server => client 02:02:43.488325 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.488337 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.488349 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.488358 've \r\n' 02:02:43.488439 < 6 bytes data, client => server 02:02:43.488453 'CAPA\r\n' 02:02:43.488690 Received DATA (on stdin) 02:02:43.488704 > 27 bytes data, server => client 02:02:43.488716 '-ERR Unrecognized command\r\n' 02:02:43.488776 < 21 bytes data, client => server 02:02:43.488789 'RETR verifiedserver\r\n' 02:02:43.488947 Received DATA (on stdin) 02:02:43.488958 > 26 bytes data, server => client 02:02:43.488968 '+OK Mail transfer starts\r\n' 02:02:43.488991 Received DATA (on stdin) 02:02:43.489000 > 18 bytes data, server => client 02:02:43.489010 'WE ROOLZ: 117768\r\n' 02:02:43.489021 Received DATA (on stdin) 02:02:43.489030 > 3 bytes data, server => client 02:02:43.489040 '.\r\n' 02:02:43.535437 < 6 bytes data, client => server 02:02:43.535460 'QUIT\r\n' 02:02:43.535651 Received DATA (on stdin) 02:02:43.535666 > 34 bytes data, server => client 02:02:43.535678 '+OK curl POP3 server signing off\r\n' 02:02:43.536134 ====> Client disconnect 02:02:43.536436 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY PASS -ERR Login failure Testnum 856 === End of file server.cmd === Start of file valgrind856 ==118119== ==118119== Process terminating with default action of signal 4 (SIGILL) ==118119== Illegal opcode at address 0x10B08D ==118119== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118119== by 0x10B08D: main (tool_main.c:232) === End of file valgrind856 test 0863...[POP3 RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind863 ../src/curl -q --output log/8/curl863.out --include --trace-ascii log/8/trace863 --trace-config all --trace-time pop3://127.0.0.1:43389 -u user:secret -X RSET -I > log/8/stdout863 2> log/8/stderr863 863: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 863 === Start of file pop3_server.log 02:02:43.299536 ====> Client connect 02:02:43.299667 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.299960 < "CAPA" 02:02:43.299996 > "-ERR Unrecognized command[CR][LF]" 02:02:43.300161 < "RETR verifiedserver" 02:02:43.300188 return proof we are we 02:02:43.300209 > "+OK Mail transfer starts[CR][LF]" 02:02:43.300227 > "WE ROOLZ: 101957[CR][LF]" 02:02:43.300242 > ".[CR][LF]" 02:02:43.345347 < "QUIT" 02:02:43.345393 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.345909 MAIN sockfilt said DISC 02:02:43.345936 ====> Client disconnected 02:02:43.345988 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:43.499562 ====> Client connect 02:02:43.499815 Received DATA (on stdin) 02:02:43.499829 > 178 bytes data, server => client 02:02:43.499842 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.499854 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.499865 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.499875 've \r\n' 02:02:43.499945 < 6 bytes data, client => server 02:02:43.499957 'CAPA\r\n' 02:02:43.500136 Received DATA (on stdin) 02:02:43.500148 > 27 bytes data, server => client 02:02:43.500159 '-ERR Unrecognized command\r\n' 02:02:43.500214 < 21 bytes data, client => server 02:02:43.500227 'RETR verifiedserver\r\n' 02:02:43.500380 Received DATA (on stdin) 02:02:43.500392 > 26 bytes data, server => client 02:02:43.500401 '+OK Mail transfer starts\r\n' 02:02:43.500425 Received DATA (on stdin) 02:02:43.500435 > 18 bytes data, server => client 02:02:43.500445 'WE ROOLZ: 101957\r\n' 02:02:43.500457 Received DATA (on stdin) 02:02:43.500467 > 3 bytes data, server => client 02:02:43.500476 '.\r\n' 02:02:43.545327 < 6 bytes data, client => server 02:02:43.545354 'QUIT\r\n' 02:02:43.545534 Received DATA (on stdin) 02:02:43.545546 > 34 bytes data, server => client 02:02:43.545557 '+OK curl POP3 server signing off\r\n' 02:02:43.545996 ====> Client disconnect 02:02:43.546124 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 863 === End of file server.cmd === Start of file valgrind863 ==118164== ==118164== Process terminating with default action of signal 4 (SIGILL) ==118164== Illegal opcode at address 0x10B08D ==118164== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118164== by 0x10B08D: main (tool_main.c:232) === End of file valgrind863 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/pop3_server.pid" --logfile "log/9/pop3_server.log" --logdir "log/9" --portfile "log/9/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46125 (log/9/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:46125/verifiedserver" 2>log/9/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117774 port 46125 * pid pop3 => 117774 117774 test 0857...[POP3 RETR message with dot-prefixed line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind857 ../src/curl -q --output log/9/curl857.out --include --trace-ascii log/9/trace857 --trace-config all --trace-time pop3://127.0.0.1:46125/857 -u user:secret > log/9/stdout857 2> log/9/stderr857 857: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 857 === Start of file pop3_server.log 02:02:42.491975 POP3 server listens on port IPv4/46125 02:02:42.492051 logged pid 117774 in log/9/server/pop3_server.pid 02:02:42.492077 Awaiting input 02:02:43.490133 ====> Client connect 02:02:43.490302 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.490625 < "CAPA" 02:02:43.490670 > "-ERR Unrecognized command[CR][LF]" 02:02:43.490846 < "RETR verifiedserver" 02:02:43.490877 return proof we are we 02:02:43.490899 > "+OK Mail transfer starts[CR][LF]" 02:02:43.490918 > "WE ROOLZ: 117774[CR][LF]" 02:02:43.490935 > ".[CR][LF]" 02:02:43.535373 < "QUIT" 02:02:43.535436 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.536303 MAIN sockfilt said DISC 02:02:43.536336 ====> Client disconnected 02:02:43.536409 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.691850 Running IPv4 version 02:02:42.691929 Listening on port 46125 02:02:42.691975 Wrote pid 117778 to log/9/server/pop3_sockfilt.pid 02:02:42.692010 Wrote port 46125 to log/9/server/pop3_server.port 02:02:42.692029 Received PING (on stdin) 02:02:43.690197 ====> Client connect 02:02:43.690452 Received DATA (on stdin) 02:02:43.690467 > 178 bytes data, server => client 02:02:43.690480 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.690496 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.690507 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.690517 've \r\n' 02:02:43.690601 < 6 bytes data, client => server 02:02:43.690617 'CAPA\r\n' 02:02:43.690812 Received DATA (on stdin) 02:02:43.690825 > 27 bytes data, server => cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind858 ../src/curl -q --output log/5/curl858.out --include --trace-ascii log/5/trace858 --trace-config all --trace-time pop3://127.0.0.1:41423/858 -u user:secret -X DELE -I > log/5/stdout858 2> log/5/stderr858 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind860 ../src/curl -q --output log/2/curl860.out --include --trace-ascii log/2/trace860 --trace-config all --trace-time pop3://127.0.0.1:38491 -u user:secret -X NOOP -I > log/2/stdout860 2> log/2/stderr860 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind859 ../src/curl -q --output log/10/curl859.out --include --trace-ascii log/10/trace859 --trace-config all --trace-time pop3://127.0.0.1:34489 -u user:secret -X STAT -I > log/10/stdout859 2> log/10/stderr859 lient 02:02:43.690836 '-ERR Unrecognized command\r\n' 02:02:43.690893 < 21 bytes data, client => server 02:02:43.690907 'RETR verifiedserver\r\n' 02:02:43.691073 Received DATA (on stdin) 02:02:43.691085 > 26 bytes data, server => client 02:02:43.691097 '+OK Mail transfer starts\r\n' 02:02:43.691122 Received DATA (on stdin) 02:02:43.691133 > 18 bytes data, server => client 02:02:43.691143 'WE ROOLZ: 117774\r\n' 02:02:43.691156 Received DATA (on stdin) 02:02:43.691166 > 3 bytes data, server => client 02:02:43.691176 '.\r\n' 02:02:43.735281 < 6 bytes data, client => server 02:02:43.735321 'QUIT\r\n' 02:02:43.735587 Received DATA (on stdin) 02:02:43.735604 > 34 bytes data, server => client 02:02:43.735616 '+OK curl POP3 server signing off\r\n' 02:02:43.736385 ====> Client disconnect 02:02:43.736553 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 857 === End of file server.cmd === Start of file valgrind857 ==118385== ==118385== Process terminating with default action of signal 4 (SIGILL) ==118385== Illegal opcode at address 0x10B08D ==118385== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118385== by 0x10B08D: main (tool_main.c:232) === End of file valgrind857 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/pop3_server.pid" --logfile "log/5/pop3_server.log" --logdir "log/5" --portfile "log/5/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41423 (log/5/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:41423/verifiedserver" 2>log/5/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117775 port 41423 * pid pop3 => 117775 117775 test 0858...[POP3 DELE message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind858 ../src/curl -q --output log/5/curl858.out --include --trace-ascii log/5/trace858 --trace-config all --trace-time pop3://127.0.0.1:41423/858 -u user:secret -X DELE -I > log/5/stdout858 2> log/5/stderr858 858: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 858 === Start of file pop3_server.log 02:02:42.492967 POP3 server listens on port IPv4/41423 02:02:42.493034 logged pid 117775 in log/5/server/pop3_server.pid 02:02:42.493053 Awaiting input 02:02:43.494222 ====> Client connect 02:02:43.494348 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.494604 < "CAPA" 02:02:43.494636 > "-ERR Unrecognized command[CR][LF]" 02:02:43.494769 < "RETR verifiedserver" 02:02:43.494788 return proof we are we 02:02:43.494804 > "+OK Mail transfer starts[CR][LF]" 02:02:43.494817 > "WE ROOLZ: 117775[CR][LF]" 02:02:43.494829 > ".[CR][LF]" 02:02:43.535393 < "QUIT" 02:02:43.535446 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.536302 MAIN sockfilt said DISC 02:02:43.536337 ====> Client disconnected 02:02:43.536409 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.692903 Running IPv4 version 02:02:42.692950 Listening on port 41423 02:02:42.692979 Wrote pid 117779 to log/5/server/pop3_sockfilt.pid 02:02:42.693003 Wrote port 41423 to log/5/server/pop3_server.port 02:02:42.693016 Received PING (on stdin) 02:02:43.694290 ====> Client connect 02:02:43.694497 Received DATA (on stdin) 02:02:43.694513 > 178 bytes data, server => client 02:02:43.694525 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.694537 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.694548 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.694557 've \r\n' 02:02:43.694623 < 6 bytes data, client => server 02:02:43.694637 'CAPA\r\n' 02:02:43.694772 Received DATA (on stdin) 02:02:43.694782 > 27 bytes data, server => client 02:02:43.694790 '-ERR Unrecognized command\r\n' 02:02:43.694838 < 21 bytes data, client => server 02:02:43.694847 'RETR verifiedserver\r\n' 02:02:43.694962 Received DATA (on stdin) 02:02:43.694971 > 26 bytes data, server => client 02:02:43.694979 '+OK Mail transfer starts\r\n' 02:02:43.694997 Received DATA (on stdin) 02:02:43.695005 > 18 bytes data, server => client 02:02:43.695013 'WE ROOLZ: 117775\r\n' 02:02:43.695022 Received DATA (on stdin) 02:02:43.695031 > 3 bytes data, server => client 02:02:43.695040 '.\r\n' 02:02:43.735369 < 6 bytes data, client => server 02:02:43.735398 'QUIT\r\n' 02:02:43.735594 Received DATA (on stdin) 02:02:43.735608 > 34 bytes data, server => client 02:02:43.735619 '+OK curl POP3 server signing off\r\n' 02:02:43.736380 ====> Client disconnect 02:02:43.736549 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 858 === End of file server.cmd === Start of file valgrind858 ==118383== ==118383== Process terminating with default action of signal 4 (SIGILL) ==118383== Illegal opcode at address 0x10B08D ==118383== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118383== by 0x10B08D: main (tool_main.c:232) === End of file valgrind858 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/pop3_server.pid" --logfile "log/2/pop3_server.log" --logdir "log/2" --portfile "log/2/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38491 (log/2/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:38491/verifiedserver" 2>log/2/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117777 port 38491 * pid pop3 => 117777 117777 test 0860...[POP3 NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind860 ../src/curl -q --output log/2/curl860.out --include --trace-ascii log/2/trace860 --trace-config all --trace-time pop3://127.0.0.1:38491 -u user:secret -X NOOP -I > log/2/stdout860 2> log/2/stderr860 860: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 860 === Start of file pop3_server.log 02:02:42.497785 POP3 server listens on port IPv4/38491 02:02:42.497837 logged pid 117777 in log/2/server/pop3_server.pid 02:02:42.497853 Awaiting input 02:02:43.500879 ====> Client connect 02:02:43.501036 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.501305 < "CAPA" 02:02:43.501342 > "-ERR Unrecognized command[CR][LF]" 02:02:43.501490 < "RETR verifiedserver" 02:02:43.501513 return proof we are we 02:02:43.501532 > "+OK Mail transfer starts[CR][LF]" 02:02:43.501546 > "WE ROOLZ: 117777[CR][LF]" 02:02:43.501561 > ".[CR][LF]" 02:02:43.545202 < "QUIT" 02:02:43.545255 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.549291 MAIN sockfilt said DISC 02:02:43.549338 ====> Client disconnected 02:02:43.549398 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.697738 Running IPv4 version 02:02:42.697786 Listening on port 38491 02:02:42.697817 Wrote pid 117781 to log/2/server/pop3_sockfilt.pid 02:02:42.697840 Wrote port 38491 to log/2/server/pop3_server.port 02:02:42.697853 Received PING (on stdin) 02:02:43.700942 ====> Client connect 02:02:43.701CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind861 ../src/curl -q --output log/4/curl861.out --include --trace-ascii log/4/trace861 --trace-config all --trace-time pop3://127.0.0.1:44961 -u user:secret -X UIDL > log/4/stdout861 2> log/4/stderr861 181 Received DATA (on stdin) 02:02:43.701192 > 178 bytes data, server => client 02:02:43.701204 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.701215 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.701226 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.701234 've \r\n' 02:02:43.701302 < 6 bytes data, client => server 02:02:43.701313 'CAPA\r\n' 02:02:43.701480 Received DATA (on stdin) 02:02:43.701491 > 27 bytes data, server => client 02:02:43.701501 '-ERR Unrecognized command\r\n' 02:02:43.701553 < 21 bytes data, client => server 02:02:43.701563 'RETR verifiedserver\r\n' 02:02:43.701696 Received DATA (on stdin) 02:02:43.701707 > 26 bytes data, server => client 02:02:43.701716 '+OK Mail transfer starts\r\n' 02:02:43.701737 Received DATA (on stdin) 02:02:43.701747 > 18 bytes data, server => client 02:02:43.701755 'WE ROOLZ: 117777\r\n' 02:02:43.701766 Received DATA (on stdin) 02:02:43.701774 > 3 bytes data, server => client 02:02:43.701784 '.\r\n' 02:02:43.745174 < 6 bytes data, client => server 02:02:43.745200 'QUIT\r\n' 02:02:43.748502 Received DATA (on stdin) 02:02:43.748529 > 34 bytes data, server => client 02:02:43.748542 '+OK curl POP3 server signing off\r\n' 02:02:43.749360 ====> Client disconnect 02:02:43.749539 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 860 === End of file server.cmd === Start of file valgrind860 ==118425== ==118425== Process terminating with default action of signal 4 (SIGILL) ==118425== Illegal opcode at address 0x10B08D ==118425== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118425== by 0x10B08D: main (tool_main.c:232) === End of file valgrind860 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/pop3_server.pid" --logfile "log/10/pop3_server.log" --logdir "log/10" --portfile "log/10/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34489 (log/10/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:34489/verifiedserver" 2>log/10/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117776 port 34489 * pid pop3 => 117776 117776 test 0859...[POP3 STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind859 ../src/curl -q --output log/10/curl859.out --include --trace-ascii log/10/trace859 --trace-config all --trace-time pop3://127.0.0.1:34489 -u user:secret -X STAT -I > log/10/stdout859 2> log/10/stderr859 859: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 859 === Start of file pop3_server.log 02:02:42.493651 POP3 server listens on port IPv4/34489 02:02:42.493705 logged pid 117776 in log/10/server/pop3_server.pid 02:02:42.493722 Awaiting input 02:02:43.492165 ====> Client connect 02:02:43.492307 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.492593 < "CAPA" 02:02:43.492634 > "-ERR Unrecognized command[CR][LF]" 02:02:43.492798 < "RETR verifiedserver" 02:02:43.492824 return proof we are we 02:02:43.492845 > "+OK Mail transfer starts[CR][LF]" 02:02:43.492862 > "WE ROOLZ: 117776[CR][LF]" 02:02:43.492878 > ".[CR][LF]" 02:02:43.538948 < "QUIT" 02:02:43.539002 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.539738 MAIN sockfilt said DISC 02:02:43.539763 ====> Client disconnected 02:02:43.539821 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.693604 Running IPv4 version 02:02:42.693650 Listening on port 34489 02:02:42.693681 Wrote pid 117780 to log/10/server/pop3_sockfilt.pid 02:02:42.693706 Wrote port 34489 to log/10/server/pop3_server.port 02:02:42.693718 Received PING (on stdin) 02:02:43.692236 ====> Client connect 02:02:43.692455 Received DATA (on stdin) 02:02:43.692469 > 178 bytes data, server => client 02:02:43.692481 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.692497 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.692508 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.692517 've \r\n' 02:02:43.692592 < 6 bytes data, client => server 02:02:43.692605 'CAPA\r\n' 02:02:43.692776 Received DATA (on stdin) 02:02:43.692788 > 27 bytes data, server => client 02:02:43.692799 '-ERR Unrecognized command\r\n' 02:02:43.692853 < 21 bytes data, client => server 02:02:43.692864 'RETR verifiedserver\r\n' 02:02:43.693015 Received DATA (on stdin) 02:02:43.693027 > 26 bytes data, server => client 02:02:43.693038 '+OK Mail transfer starts\r\n' 02:02:43.693063 Received DATA (on stdin) 02:02:43.693073 > 18 bytes data, server => client 02:02:43.693083 'WE ROOLZ: 117776\r\n' 02:02:43.693096 Received DATA (on stdin) 02:02:43.693106 > 3 bytes data, server => client 02:02:43.693115 '.\r\n' 02:02:43.738930 < 6 bytes data, client => server 02:02:43.738954 'QUIT\r\n' 02:02:43.739148 Received DATA (on stdin) 02:02:43.739160 > 34 bytes data, server => client 02:02:43.739172 '+OK curl POP3 server signing off\r\n' 02:02:43.739825 ====> Client disconnect 02:02:43.739959 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 859 === End of file server.cmd === Start of file valgrind859 ==118386== ==118386== Process terminating with default action of signal 4 (SIGILL) ==118386== Illegal opcode at address 0x10B08D ==118386== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118386== by 0x10B08D: main (tool_main.c:232) === End of file valgrind859 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/pop3_server.pid" --logfile "log/4/pop3_server.log" --logdir "log/4" --portfile "log/4/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44961 (log/4/server/pop3_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "pop3://127.0.0.1:44961/verifiedserver" 2>log/4/pop3_verify.log RUN: Verifying our test pop3 server took 0 seconds RUN: POP3 server is PID 117782 port 44961 * pid pop3 => 117782 117782 test 0861...[POP3 UIDL (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind861 ../src/curl -q --output log/4/curl861.out --include --trace-ascii log/4/trace861 --trace-config all --trace-time pop3://127.0.0.1:44961 -u user:secret -X UIDL > log/4/stdout861 2> log/4/stderr861 861: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 861 === Start of file pop3_server.log 02:02:42.526201 POP3 server listens on port IPv4/44961 02:02:42.526254 logged pid 117782 in log/4/server/pop3_server.pid 02:02:42.526271 Awaiting input 02:02:43.522198 ====> Client connect 02:02:43.522379 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.522703 < "CAPA" 02:02:43.522749 > "-ERR Unrecognized command[CR][LF]" 02:02:43.522920 < "RETR verifiedserver" 02:02:43.522949 return proof we are we 02:02:43.522969 > "+OK Mail transfer starts[CR][LF]" 02:02:43.522986 > "WE ROOLZ: 117782[CR][LF]" 02:02:43.523001 > ".[CR][LF]" 02:02:43.575164 < "QUIT" 02:02:43.575223 > "+OK curl POP3 seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind864 ../src/curl -q --output log/6/curl864.out --include --trace-ascii log/6/trace864 --trace-config all --trace-time pop3://127.0.0.1:37773/864 -u user:secret > log/6/stdout864 2> log/6/stderr864 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind865 ../src/curl -q --output log/12/curl865.out --include --trace-ascii log/12/trace865 --trace-config all --trace-time pop3://127.0.0.1:44463/865 -u user:secret > log/12/stdout865 2> log/12/stderr865 rver signing off[CR][LF]" 02:02:43.576136 MAIN sockfilt said DISC 02:02:43.576170 ====> Client disconnected 02:02:43.576241 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:42.726139 Running IPv4 version 02:02:42.726203 Listening on port 44961 02:02:42.726235 Wrote pid 117783 to log/4/server/pop3_sockfilt.pid 02:02:42.726258 Wrote port 44961 to log/4/server/pop3_server.port 02:02:42.726270 Received PING (on stdin) 02:02:43.722255 ====> Client connect 02:02:43.722528 Received DATA (on stdin) 02:02:43.722542 > 178 bytes data, server => client 02:02:43.722558 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.722570 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.722581 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.722591 've \r\n' 02:02:43.722670 < 6 bytes data, client => server 02:02:43.722684 'CAPA\r\n' 02:02:43.722889 Received DATA (on stdin) 02:02:43.722902 > 27 bytes data, server => client 02:02:43.722913 '-ERR Unrecognized command\r\n' 02:02:43.722968 < 21 bytes data, client => server 02:02:43.722979 'RETR verifiedserver\r\n' 02:02:43.723138 Received DATA (on stdin) 02:02:43.723149 > 26 bytes data, server => client 02:02:43.723160 '+OK Mail transfer starts\r\n' 02:02:43.723183 Received DATA (on stdin) 02:02:43.723193 > 18 bytes data, server => client 02:02:43.723203 'WE ROOLZ: 117782\r\n' 02:02:43.723215 Received DATA (on stdin) 02:02:43.723224 > 3 bytes data, server => client 02:02:43.723234 '.\r\n' 02:02:43.775079 < 6 bytes data, client => server 02:02:43.775116 'QUIT\r\n' 02:02:43.775371 Received DATA (on stdin) 02:02:43.775387 > 34 bytes data, server => client 02:02:43.775398 '+OK curl POP3 server signing off\r\n' 02:02:43.776215 ====> Client disconnect 02:02:43.776382 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA UIDL USER Testnum 861 === End of file server.cmd === Start of file valgrind861 ==118521== ==118521== Process terminating with default action of signal 4 (SIGILL) ==118521== Illegal opcode at address 0x10B08D ==118521== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118521== by 0x10B08D: main (tool_main.c:232) === End of file valgrind861 test 0864...[POP3 APOP authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind864 ../src/curl -q --output log/6/curl864.out --include --trace-ascii log/6/trace864 --trace-config all --trace-time pop3://127.0.0.1:37773/864 -u user:secret > log/6/stdout864 2> log/6/stderr864 864: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 864 === Start of file pop3_server.log 02:02:43.623025 ====> Client connect 02:02:43.623222 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.623526 < "CAPA" 02:02:43.623559 > "-ERR Unrecognized command[CR][LF]" 02:02:43.623702 < "RETR verifiedserver" 02:02:43.623724 return proof we are we 02:02:43.623741 > "+OK Mail transfer starts[CR][LF]" 02:02:43.623756 > "WE ROOLZ: 117682[CR][LF]" 02:02:43.623770 > ".[CR][LF]" 02:02:43.665929 < "QUIT" 02:02:43.665982 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.666819 MAIN sockfilt said DISC 02:02:43.666848 ====> Client disconnected 02:02:43.666917 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:43.823017 ====> Client connect 02:02:43.823379 Received DATA (on stdin) 02:02:43.823393 > 178 bytes data, server => client 02:02:43.823407 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.823420 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.823431 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.823441 've \r\n' 02:02:43.823526 < 6 bytes data, client => server 02:02:43.823537 'CAPA\r\n' 02:02:43.823697 Received DATA (on stdin) 02:02:43.823708 > 27 bytes data, server => client 02:02:43.823718 '-ERR Unrecognized command\r\n' 02:02:43.823767 < 21 bytes data, client => server 02:02:43.823777 'RETR verifiedserver\r\n' 02:02:43.823907 Received DATA (on stdin) 02:02:43.823917 > 26 bytes data, server => client 02:02:43.823927 '+OK Mail transfer starts\r\n' 02:02:43.823948 Received DATA (on stdin) 02:02:43.823957 > 18 bytes data, server => client 02:02:43.823967 'WE ROOLZ: 117682\r\n' 02:02:43.823978 Received DATA (on stdin) 02:02:43.823987 > 3 bytes data, server => client 02:02:43.823997 '.\r\n' 02:02:43.865878 < 6 bytes data, client => server 02:02:43.865911 'QUIT\r\n' 02:02:43.866124 Received DATA (on stdin) 02:02:43.866136 > 34 bytes data, server => client 02:02:43.866149 '+OK curl POP3 server signing off\r\n' 02:02:43.866909 ====> Client disconnect 02:02:43.867059 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA APOP REPLY welcome +OK curl POP3 server ready to serve <1972.987654321\@curl> Testnum 864 === End of file server.cmd === Start of file valgrind864 ==118661== ==118661== Process terminating with default action of signal 4 (SIGILL) ==118661== Illegal opcode at address 0x10B08D ==118661== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118661== by 0x10B08D: main (tool_main.c:232) === End of file valgrind864 test 0865...[POP3 plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind865 ../src/curl -q --output log/12/curl865.out --include --trace-ascii log/12/trace865 --trace-config all --trace-time pop3://127.0.0.1:44463/865 -u user:secret > log/12/stdout865 2> log/12/stderr865 865: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 865 === Start of file pop3_server.log 02:02:43.634863 ====> Client connect 02:02:43.635008 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.635301 < "CAPA" 02:02:43.635334 > "-ERR Unrecognized command[CR][LF]" 02:02:43.635483 < "RETR verifiedserver" 02:02:43.635505 return proof we are we 02:02:43.635522 > "+OK Mail transfer starts[CR][LF]" 02:02:43.635538 > "WE ROOLZ: 117699[CR][LF]" 02:02:43.635553 > ".[CR][LF]" 02:02:43.686094 < "QUIT" 02:02:43.686144 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.687336 MAIN sockfilt said DISC 02:02:43.687368 ====> Client disconnected 02:02:43.687421 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:43.834883 ====> Client connect 02:02:43.835175 Received DATA (on stdin) 02:02:43.835189 > 178 bytes data, server => client 02:02:43.835202 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:43.835213 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:43.835224 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:43.835234 've \r\n' 02:02:43.835309 < 6 bytes data, client => server 02:02:43.835321 'CAPA\r\n' 02:02:43.835473 Received DATA (on stdin) 02:02:43.835484 > 27 bytes data, server => client 02:02:43.835495 '-ERR Unrecognized command\r\n' 02:02:43.835546 < 21 bytes data, client => server 02:02:43.835557 'RETR verifiedserver\r\n' 02:02:43.835689 Received DATA (on stdin) 02:02:43.835700 > 26 bytes data, server => client 02:02:43.835711 '+OK Mail transfer starts\r\n' 02:02:43.835732 Received DATA (on stdin) 02:02:43.835742 > 18 bytes data, server => client 02:02:43.835752 'WE ROOLZ: 117699\r\n' 02CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind871 ../src/curl -q --output log/8/curl871.out --include --trace-ascii log/8/trace871 --trace-config all --trace-time pop3://127.0.0.1:43389/871 -u user:secret --sasl-ir > log/8/stdout871 2> log/8/stderr871 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind867 ../src/curl -q --output log/1/curl867.out --include --trace-ascii log/1/trace867 --trace-config all --trace-time pop3://127.0.0.1:46745/867 -u user:secret > log/1/stdout867 2> log/1/stderr867 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind870 ../src/curl -q --output log/3/curl870.out --include --trace-ascii log/3/trace870 --trace-config all --trace-time pop3://127.0.0.1:44067/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout870 2> log/3/stderr870 :02:43.835764 Received DATA (on stdin) 02:02:43.835774 > 3 bytes data, server => client 02:02:43.835784 '.\r\n' 02:02:43.885668 < 6 bytes data, client => server 02:02:43.885692 'QUIT\r\n' 02:02:43.886287 Received DATA (on stdin) 02:02:43.886301 > 34 bytes data, server => client 02:02:43.886314 '+OK curl POP3 server signing off\r\n' 02:02:43.887259 ====> Client disconnect 02:02:43.887562 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 865 === End of file server.cmd === Start of file valgrind865 ==118686== ==118686== Process terminating with default action of signal 4 (SIGILL) ==118686== Illegal opcode at address 0x10B08D ==118686== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118686== by 0x10B08D: main (tool_main.c:232) === End of file valgrind865 test 0867...[POP3 CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind867 ../src/curl -q --output log/1/curl867.out --include --trace-ascii log/1/trace867 --trace-config all --trace-time pop3://127.0.0.1:46745/867 -u user:secret > log/1/stdout867 2> log/1/stderr867 867: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 867 === Start of file pop3_server.log 02:02:43.939307 ====> Client connect 02:02:43.939447 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.939713 < "CAPA" 02:02:43.939750 > "-ERR Unrecognized command[CR][LF]" 02:02:43.939909 < "RETR verifiedserver" 02:02:43.939932 return proof we are we 02:02:43.939951 > "+OK Mail transfer starts[CR][LF]" 02:02:43.939967 > "WE ROOLZ: 117765[CR][LF]" 02:02:43.939982 > ".[CR][LF]" 02:02:43.981968 < "QUIT" 02:02:43.982013 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.982798 MAIN sockfilt said DISC 02:02:43.982832 ====> Client disconnected 02:02:43.982888 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.139344 ====> Client connect 02:02:44.139595 Received DATA (on stdin) 02:02:44.139609 > 178 bytes data, server => client 02:02:44.139622 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.139633 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.139644 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.139653 've \r\n' 02:02:44.139724 < 6 bytes data, client => server 02:02:44.139735 'CAPA\r\n' 02:02:44.139890 Received DATA (on stdin) 02:02:44.139902 > 27 bytes data, server => client 02:02:44.139913 '-ERR Unrecognized command\r\n' 02:02:44.139966 < 21 bytes data, client => server 02:02:44.139977 'RETR verifiedserver\r\n' 02:02:44.140119 Received DATA (on stdin) 02:02:44.140129 > 26 bytes data, server => client 02:02:44.140140 '+OK Mail transfer starts\r\n' 02:02:44.140161 Received DATA (on stdin) 02:02:44.140171 > 18 bytes data, server => client 02:02:44.140181 'WE ROOLZ: 117765\r\n' 02:02:44.140193 Received DATA (on stdin) 02:02:44.140203 > 3 bytes data, server => client 02:02:44.140212 '.\r\n' 02:02:44.181965 < 6 bytes data, client => server 02:02:44.181987 'QUIT\r\n' 02:02:44.182154 Received DATA (on stdin) 02:02:44.182166 > 34 bytes data, server => client 02:02:44.182178 '+OK curl POP3 server signing off\r\n' 02:02:44.182883 ====> Client disconnect 02:02:44.183028 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH + PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== +OK Login successful Testnum 867 === End of file server.cmd === Start of file valgrind867 ==118848== ==118848== Process terminating with default action of signal 4 (SIGILL) ==118848== Illegal opcode at address 0x10B08D ==118848== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118848== by 0x10B08D: main (tool_main.c:232) === End of file valgrind867 test 0871...[POP3 plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind871 ../src/curl -q --output log/8/curl871.out --include --trace-ascii log/8/trace871 --trace-config all --trace-time pop3://127.0.0.1:43389/871 -u user:secret --sasl-ir > log/8/stdout871 2> log/8/stderr871 871: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 871 === Start of file pop3_server.log 02:02:43.947976 ====> Client connect 02:02:43.948092 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.948348 < "CAPA" 02:02:43.948407 > "-ERR Unrecognized command[CR][LF]" 02:02:43.948568 < "RETR verifiedserver" 02:02:43.948591 return proof we are we 02:02:43.948609 > "+OK Mail transfer starts[CR][LF]" 02:02:43.948625 > "WE ROOLZ: 101957[CR][LF]" 02:02:43.948640 > ".[CR][LF]" 02:02:43.992087 < "QUIT" 02:02:43.992135 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.992332 MAIN sockfilt said DISC 02:02:43.992365 ====> Client disconnected 02:02:43.992424 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.148029 ====> Client connect 02:02:44.148238 Received DATA (on stdin) 02:02:44.148252 > 178 bytes data, server => client 02:02:44.148264 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.148275 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.148286 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.148295 've \r\n' 02:02:44.148365 < 6 bytes data, client => server 02:02:44.148377 'CAPA\r\n' 02:02:44.148549 Received DATA (on stdin) 02:02:44.148562 > 27 bytes data, server => client 02:02:44.148572 '-ERR Unrecognized command\r\n' 02:02:44.148626 < 21 bytes data, client => server 02:02:44.148639 'RETR verifiedserver\r\n' 02:02:44.148776 Received DATA (on stdin) 02:02:44.148788 > 26 bytes data, server => client 02:02:44.148798 '+OK Mail transfer starts\r\n' 02:02:44.148821 Received DATA (on stdin) 02:02:44.148832 > 18 bytes data, server => client 02:02:44.148842 'WE ROOLZ: 101957\r\n' 02:02:44.148854 Received DATA (on stdin) 02:02:44.148864 > 3 bytes data, server => client 02:02:44.148874 '.\r\n' 02:02:44.192077 < 6 bytes data, client => server 02:02:44.192100 'QUIT\r\n' 02:02:44.192278 Received DATA (on stdin) 02:02:44.192293 > 34 bytes data, server => client 02:02:44.192305 '+OK curl POP3 server signing off\r\n' 02:02:44.192422 ====> Client disconnect 02:02:44.192570 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH +OK Login successful Testnum 871 === End of file server.cmd === Start of file valgrind871 ==118863== ==118863== Process terminating with default action of signal 4 (SIGILL) ==118863== Illegal opcode at address 0x10B08D ==118863== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118863== by 0x10B08D: main (tool_main.c:232) === End of file valgrind871 test 0870...[POP3 OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind870 ../src/curl -q --output log/3/curl870.out --include --trace-ascii log/3/trace870 --trace-config all --trace-time pop3://127.0.0.1:44067/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout87CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind866 ../src/curl -q --output log/7/curl866.out --include --trace-ascii log/7/trace866 --trace-config all --trace-time pop3://127.0.0.1:45421/866 -u user:secret > log/7/stdout866 2> log/7/stderr866 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind868 ../src/curl -q --output log/11/curl868.out --include --trace-ascii log/11/trace868 --trace-config all --trace-time pop3://127.0.0.1:39851/868 -u testuser:testpass > log/11/stdout868 2> log/11/stderr868 0 2> log/3/stderr870 870: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 870 === Start of file pop3_server.log 02:02:43.950492 ====> Client connect 02:02:43.950608 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.951853 < "CAPA" 02:02:43.951889 > "-ERR Unrecognized command[CR][LF]" 02:02:43.952054 < "RETR verifiedserver" 02:02:43.952077 return proof we are we 02:02:43.952095 > "+OK Mail transfer starts[CR][LF]" 02:02:43.952110 > "WE ROOLZ: 117768[CR][LF]" 02:02:43.952126 > ".[CR][LF]" 02:02:43.999790 < "QUIT" 02:02:43.999840 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.000906 MAIN sockfilt said DISC 02:02:44.000939 ====> Client disconnected 02:02:44.001000 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.150549 ====> Client connect 02:02:44.150754 Received DATA (on stdin) 02:02:44.150768 > 178 bytes data, server => client 02:02:44.150780 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.150792 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.150804 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.150813 've \r\n' 02:02:44.151856 < 6 bytes data, client => server 02:02:44.151875 'CAPA\r\n' 02:02:44.152029 Received DATA (on stdin) 02:02:44.152040 > 27 bytes data, server => client 02:02:44.152051 '-ERR Unrecognized command\r\n' 02:02:44.152111 < 21 bytes data, client => server 02:02:44.152123 'RETR verifiedserver\r\n' 02:02:44.152271 Received DATA (on stdin) 02:02:44.152283 > 26 bytes data, server => client 02:02:44.152293 '+OK Mail transfer starts\r\n' 02:02:44.152316 Received DATA (on stdin) 02:02:44.152326 > 18 bytes data, server => client 02:02:44.152336 'WE ROOLZ: 117768\r\n' 02:02:44.152349 Received DATA (on stdin) 02:02:44.152358 > 3 bytes data, server => client 02:02:44.152368 '.\r\n' 02:02:44.198650 < 6 bytes data, client => server 02:02:44.198673 'QUIT\r\n' 02:02:44.199996 Received DATA (on stdin) 02:02:44.200010 > 34 bytes data, server => client 02:02:44.200023 '+OK curl POP3 server signing off\r\n' 02:02:44.200917 ====> Client disconnect 02:02:44.201141 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB +OK Login successful Testnum 870 === End of file server.cmd === Start of file valgrind870 ==118890== ==118890== Process terminating with default action of signal 4 (SIGILL) ==118890== Illegal opcode at address 0x10B08D ==118890== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118890== by 0x10B08D: main (tool_main.c:232) === End of file valgrind870 test 0866...[POP3 login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind866 ../src/curl -q --output log/7/curl866.out --include --trace-ascii log/7/trace866 --trace-config all --trace-time pop3://127.0.0.1:45421/866 -u user:secret > log/7/stdout866 2> log/7/stderr866 866: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 866 === Start of file pop3_server.log 02:02:43.929555 ====> Client connect 02:02:43.929700 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.929971 < "CAPA" 02:02:43.930005 > "-ERR Unrecognized command[CR][LF]" 02:02:43.930159 < "RETR verifiedserver" 02:02:43.930182 return proof we are we 02:02:43.930204 > "+OK Mail transfer starts[CR][LF]" 02:02:43.930220 > "WE ROOLZ: 117766[CR][LF]" 02:02:43.930234 > ".[CR][LF]" 02:02:43.972036 < "QUIT" 02:02:43.972087 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.972970 MAIN sockfilt said DISC 02:02:43.973004 ====> Client disconnected 02:02:43.973068 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.128710 ====> Client connect 02:02:44.129849 Received DATA (on stdin) 02:02:44.129866 > 178 bytes data, server => client 02:02:44.129878 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.129890 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.129901 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.129910 've \r\n' 02:02:44.129983 < 6 bytes data, client => server 02:02:44.129994 'CAPA\r\n' 02:02:44.130144 Received DATA (on stdin) 02:02:44.130155 > 27 bytes data, server => client 02:02:44.130166 '-ERR Unrecognized command\r\n' 02:02:44.130217 < 21 bytes data, client => server 02:02:44.130228 'RETR verifiedserver\r\n' 02:02:44.130370 Received DATA (on stdin) 02:02:44.130381 > 26 bytes data, server => client 02:02:44.130391 '+OK Mail transfer starts\r\n' 02:02:44.130413 Received DATA (on stdin) 02:02:44.130423 > 18 bytes data, server => client 02:02:44.130433 'WE ROOLZ: 117766\r\n' 02:02:44.130445 Received DATA (on stdin) 02:02:44.130455 > 3 bytes data, server => client 02:02:44.130465 '.\r\n' 02:02:44.171985 < 6 bytes data, client => server 02:02:44.172014 'QUIT\r\n' 02:02:44.172244 Received DATA (on stdin) 02:02:44.172259 > 34 bytes data, server => client 02:02:44.172271 '+OK curl POP3 server signing off\r\n' 02:02:44.173057 ====> Client disconnect 02:02:44.173204 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTH + VXNlcm5hbWU6 REPLY dXNlcg== + UGFzc3dvcmQ6 REPLY c2VjcmV0 +OK Login successful Testnum 866 === End of file server.cmd === Start of file valgrind866 ==118841== ==118841== Process terminating with default action of signal 4 (SIGILL) ==118841== Illegal opcode at address 0x10B08D ==118841== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118841== by 0x10B08D: main (tool_main.c:232) === End of file valgrind866 test 0868...[POP3 NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind868 ../src/curl -q --output log/11/curl868.out --include --trace-ascii log/11/trace868 --trace-config all --trace-time pop3://127.0.0.1:39851/868 -u testuser:testpass > log/11/stdout868 2> log/11/stderr868 868: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 868 === Start of file pop3_server.log 02:02:43.947496 ====> Client connect 02:02:43.947621 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:43.947894 < "CAPA" 02:02:43.947928 > "-ERR Unrecognized command[CR][LF]" 02:02:43.948084 < "RETR verifiedserver" 02:02:43.948107 return proof we are we 02:02:43.948126 > "+OK Mail transfer starts[CR][LF]" 02:02:43.948142 > "WE ROOLZ: 117767[CR][LF]" 02:02:43.948156 > ".[CR][LF]" 02:02:43.992662 < "QUIT" 02:02:43.992707 > "+OK curl POP3 server signing off[CR][LF]" 02:02:43.993568 MAIN sockfilt said DISC 02:02:43.993596 ====> Client disconnected 02:02:43.993648 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.147538 ====> Client connect 02:02:44.147769 Received DATA (on stdin) 02:02:44.147783 > 178 bytes data, server => client 02:02:44.147795 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.147807 ' / __| | | | |_) | | CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind875 ../src/curl -q --output log/10/curl875.out --include --trace-ascii log/10/trace875 --trace-config all --trace-time pop3://127.0.0.1:34489/%0d%0a/875 > log/10/stdout875 2> log/10/stderr875 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind874 ../src/curl -q --output log/2/curl874.out --include --trace-ascii log/2/trace874 --trace-config all --trace-time pop3://127.0.0.1:38491/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/2/stdout874 2> log/2/stderr874 \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.147818 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.147827 've \r\n' 02:02:44.147905 < 6 bytes data, client => server 02:02:44.147918 'CAPA\r\n' 02:02:44.148066 Received DATA (on stdin) 02:02:44.148078 > 27 bytes data, server => client 02:02:44.148089 '-ERR Unrecognized command\r\n' 02:02:44.148141 < 21 bytes data, client => server 02:02:44.148153 'RETR verifiedserver\r\n' 02:02:44.148292 Received DATA (on stdin) 02:02:44.148303 > 26 bytes data, server => client 02:02:44.148314 '+OK Mail transfer starts\r\n' 02:02:44.148337 Received DATA (on stdin) 02:02:44.148347 > 18 bytes data, server => client 02:02:44.148361 'WE ROOLZ: 117767\r\n' 02:02:44.148373 Received DATA (on stdin) 02:02:44.148383 > 3 bytes data, server => client 02:02:44.148392 '.\r\n' 02:02:44.192660 < 6 bytes data, client => server 02:02:44.192680 'QUIT\r\n' 02:02:44.192847 Received DATA (on stdin) 02:02:44.192859 > 34 bytes data, server => client 02:02:44.192870 '+OK curl POP3 server signing off\r\n' 02:02:44.193659 ====> Client disconnect 02:02:44.193786 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful Testnum 868 === End of file server.cmd === Start of file valgrind868 ==118867== ==118867== Process terminating with default action of signal 4 (SIGILL) ==118867== Illegal opcode at address 0x10B08D ==118867== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==118867== by 0x10B08D: main (tool_main.c:232) === End of file valgrind868 test 0875...[POP3 with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind875 ../src/curl -q --output log/10/curl875.out --include --trace-ascii log/10/trace875 --trace-config all --trace-time pop3://127.0.0.1:34489/%0d%0a/875 > log/10/stdout875 2> log/10/stderr875 curl returned 132, when expecting 3 875: exit FAILED == Contents of files in the log/10/ dir after test 875 === Start of file pop3_server.log 02:02:44.252234 ====> Client connect 02:02:44.252374 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.252662 < "CAPA" 02:02:44.252700 > "-ERR Unrecognized command[CR][LF]" 02:02:44.252876 < "RETR verifiedserver" 02:02:44.252902 return proof we are we 02:02:44.252924 > "+OK Mail transfer starts[CR][LF]" 02:02:44.252940 > "WE ROOLZ: 117776[CR][LF]" 02:02:44.252956 > ".[CR][LF]" 02:02:44.298828 < "QUIT" 02:02:44.298875 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.299662 MAIN sockfilt said DISC 02:02:44.299689 ====> Client disconnected 02:02:44.299742 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.452251 ====> Client connect 02:02:44.452524 Received DATA (on stdin) 02:02:44.452539 > 178 bytes data, server => client 02:02:44.452552 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.452563 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.452575 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.452585 've \r\n' 02:02:44.452662 < 6 bytes data, client => server 02:02:44.452675 'CAPA\r\n' 02:02:44.452840 Received DATA (on stdin) 02:02:44.452853 > 27 bytes data, server => client 02:02:44.452863 '-ERR Unrecognized command\r\n' 02:02:44.452918 < 21 bytes data, client => server 02:02:44.452929 'RETR verifiedserver\r\n' 02:02:44.453094 Received DATA (on stdin) 02:02:44.453107 > 26 bytes data, server => client 02:02:44.453118 '+OK Mail transfer starts\r\n' 02:02:44.453143 Received DATA (on stdin) 02:02:44.453153 > 18 bytes data, server => client 02:02:44.453164 'WE ROOLZ: 117776\r\n' 02:02:44.453176 Received DATA (on stdin) 02:02:44.453186 > 3 bytes data, server => client 02:02:44.453195 '.\r\n' 02:02:44.498819 < 6 bytes data, client => server 02:02:44.498842 'QUIT\r\n' 02:02:44.499005 Received DATA (on stdin) 02:02:44.499026 > 34 bytes data, server => client 02:02:44.499042 '+OK curl POP3 server signing off\r\n' 02:02:44.499753 ====> Client disconnect 02:02:44.499883 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 875 === End of file server.cmd === Start of file valgrind875 ==119204== ==119204== Process terminating with default action of signal 4 (SIGILL) ==119204== Illegal opcode at address 0x10B08D ==119204== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119204== by 0x10B08D: main (tool_main.c:232) === End of file valgrind875 test 0874...[POP3 OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind874 ../src/curl -q --output log/2/curl874.out --include --trace-ascii log/2/trace874 --trace-config all --trace-time pop3://127.0.0.1:38491/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/2/stdout874 2> log/2/stderr874 874: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 874 === Start of file pop3_server.log 02:02:44.243725 ====> Client connect 02:02:44.243845 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.244109 < "CAPA" 02:02:44.244149 > "-ERR Unrecognized command[CR][LF]" 02:02:44.244318 < "RETR verifiedserver" 02:02:44.244345 return proof we are we 02:02:44.244367 > "+OK Mail transfer starts[CR][LF]" 02:02:44.244384 > "WE ROOLZ: 117777[CR][LF]" 02:02:44.244398 > ".[CR][LF]" 02:02:44.291286 < "QUIT" 02:02:44.291330 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.291528 MAIN sockfilt said DISC 02:02:44.291556 ====> Client disconnected 02:02:44.291610 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.443772 ====> Client connect 02:02:44.443972 Received DATA (on stdin) 02:02:44.443995 > 178 bytes data, server => client 02:02:44.444007 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.444019 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.444030 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.444039 've \r\n' 02:02:44.444114 < 6 bytes data, client => server 02:02:44.444127 'CAPA\r\n' 02:02:44.444284 Received DATA (on stdin) 02:02:44.444298 > 27 bytes data, server => client 02:02:44.444308 '-ERR Unrecognized command\r\n' 02:02:44.444361 < 21 bytes data, client => server 02:02:44.444372 'RETR verifiedserver\r\n' 02:02:44.444536 Received DATA (on stdin) 02:02:44.444547 > 26 bytes data, server => client 02:02:44.444557 '+OK Mail transfer starts\r\n' 02:02:44.444580 Received DATA (on stdin) 02:02:44.444590 > 18 bytes data, server => client 02:02:44.444600 'WE ROOLZ: 117777\r\n' 02:02:44.444612 Received DATA (on stdin) 02:02:44.444621 > 3 bytes data, server => client 02:02:44.444631 '.\r\n' 02:02:44.491277 < 6 bytes data, client => server 02:02:44.491302 'QUIT\r\n' 02:02:44.491470 Received DATA (on stdin) 02:02:44.491481 > 34 bytes data, server => client 02:02:44.491492 '+OK curl POP3 server sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind873 ../src/curl -q --output log/5/curl873.out --include --trace-ascii log/5/trace873 --trace-config all --trace-time pop3://127.0.0.1:41423/873 -u testuser:testpass --sasl-ir > log/5/stdout873 2> log/5/stderr873 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind872 ../src/curl -q --output log/9/curl872.out --include --trace-ascii log/9/trace872 --trace-config all --trace-time pop3://127.0.0.1:46125/872 -u user:secret --sasl-ir > log/9/stdout872 2> log/9/stderr872 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind876 ../src/curl -q --output log/4/curl876.out --include --trace-ascii log/4/trace876 --trace-config all --trace-time pop3://127.0.0.1:44961/876 -u user:secret > log/4/stdout876 2> log/4/stderr876 igning off\r\n' 02:02:44.491610 ====> Client disconnect 02:02:44.491748 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH +OK Login successful Testnum 874 === End of file server.cmd === Start of file valgrind874 ==119195== ==119195== Process terminating with default action of signal 4 (SIGILL) ==119195== Illegal opcode at address 0x10B08D ==119195== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119195== by 0x10B08D: main (tool_main.c:232) === End of file valgrind874 test 0873...[POP3 NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind873 ../src/curl -q --output log/5/curl873.out --include --trace-ascii log/5/trace873 --trace-config all --trace-time pop3://127.0.0.1:41423/873 -u testuser:testpass --sasl-ir > log/5/stdout873 2> log/5/stderr873 873: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 873 === Start of file pop3_server.log 02:02:44.239330 ====> Client connect 02:02:44.239455 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.239735 < "CAPA" 02:02:44.239769 > "-ERR Unrecognized command[CR][LF]" 02:02:44.239933 < "RETR verifiedserver" 02:02:44.239956 return proof we are we 02:02:44.239977 > "+OK Mail transfer starts[CR][LF]" 02:02:44.239993 > "WE ROOLZ: 117775[CR][LF]" 02:02:44.240009 > ".[CR][LF]" 02:02:44.285690 < "QUIT" 02:02:44.285738 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.286571 MAIN sockfilt said DISC 02:02:44.286599 ====> Client disconnected 02:02:44.286662 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.439363 ====> Client connect 02:02:44.439604 Received DATA (on stdin) 02:02:44.439620 > 178 bytes data, server => client 02:02:44.439633 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.439644 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.439656 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.439666 've \r\n' 02:02:44.439742 < 6 bytes data, client => server 02:02:44.439755 'CAPA\r\n' 02:02:44.439909 Received DATA (on stdin) 02:02:44.439925 > 27 bytes data, server => client 02:02:44.439936 '-ERR Unrecognized command\r\n' 02:02:44.439991 < 21 bytes data, client => server 02:02:44.440003 'RETR verifiedserver\r\n' 02:02:44.440147 Received DATA (on stdin) 02:02:44.440159 > 26 bytes data, server => client 02:02:44.440170 '+OK Mail transfer starts\r\n' 02:02:44.440193 Received DATA (on stdin) 02:02:44.440202 > 18 bytes data, server => client 02:02:44.440213 'WE ROOLZ: 117775\r\n' 02:02:44.440225 Received DATA (on stdin) 02:02:44.440234 > 3 bytes data, server => client 02:02:44.440244 '.\r\n' 02:02:44.485649 < 6 bytes data, client => server 02:02:44.485679 'QUIT\r\n' 02:02:44.485878 Received DATA (on stdin) 02:02:44.485890 > 34 bytes data, server => client 02:02:44.485902 '+OK curl POP3 server signing off\r\n' 02:02:44.486655 ====> Client disconnect 02:02:44.486849 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful Testnum 873 === End of file server.cmd === Start of file valgrind873 ==119188== ==119188== Process terminating with default action of signal 4 (SIGILL) ==119188== Illegal opcode at address 0x10B08D ==119188== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119188== by 0x10B08D: main (tool_main.c:232) === End of file valgrind873 test 0872...[POP3 login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind872 ../src/curl -q --output log/9/curl872.out --include --trace-ascii log/9/trace872 --trace-config all --trace-time pop3://127.0.0.1:46125/872 -u user:secret --sasl-ir > log/9/stdout872 2> log/9/stderr872 872: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 872 === Start of file pop3_server.log 02:02:44.223739 ====> Client connect 02:02:44.223853 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.224122 < "CAPA" 02:02:44.224158 > "-ERR Unrecognized command[CR][LF]" 02:02:44.224313 < "RETR verifiedserver" 02:02:44.224336 return proof we are we 02:02:44.224355 > "+OK Mail transfer starts[CR][LF]" 02:02:44.224371 > "WE ROOLZ: 117774[CR][LF]" 02:02:44.224386 > ".[CR][LF]" 02:02:44.265389 < "QUIT" 02:02:44.265439 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.266364 MAIN sockfilt said DISC 02:02:44.266395 ====> Client disconnected 02:02:44.266466 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.423783 ====> Client connect 02:02:44.423999 Received DATA (on stdin) 02:02:44.424014 > 178 bytes data, server => client 02:02:44.424027 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.424039 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.424050 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.424060 've \r\n' 02:02:44.424136 < 6 bytes data, client => server 02:02:44.424148 'CAPA\r\n' 02:02:44.424297 Received DATA (on stdin) 02:02:44.424308 > 27 bytes data, server => client 02:02:44.424320 '-ERR Unrecognized command\r\n' 02:02:44.424373 < 21 bytes data, client => server 02:02:44.424384 'RETR verifiedserver\r\n' 02:02:44.424523 Received DATA (on stdin) 02:02:44.424534 > 26 bytes data, server => client 02:02:44.424545 '+OK Mail transfer starts\r\n' 02:02:44.424567 Received DATA (on stdin) 02:02:44.424577 > 18 bytes data, server => client 02:02:44.424587 'WE ROOLZ: 117774\r\n' 02:02:44.424599 Received DATA (on stdin) 02:02:44.424609 > 3 bytes data, server => client 02:02:44.424619 '.\r\n' 02:02:44.465343 < 6 bytes data, client => server 02:02:44.465376 'QUIT\r\n' 02:02:44.465625 Received DATA (on stdin) 02:02:44.465645 > 34 bytes data, server => client 02:02:44.465657 '+OK curl POP3 server signing off\r\n' 02:02:44.466455 ====> Client disconnect 02:02:44.466605 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTH + UGFzc3dvcmQ6 REPLY c2VjcmV0 +OK Login successful Testnum 872 === End of file server.cmd === Start of file valgrind872 ==119167== ==119167== Process terminating with default action of signal 4 (SIGILL) ==119167== Illegal opcode at address 0x10B08D ==119167== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119167== by 0x10B08D: main (tool_main.c:232) === End of file valgrind872 test 0876...[POP3 CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind876 ../src/curl -q --output log/4/curl876.out --include --trace-ascii log/4/trace876 --trace-config all --trace-time pop3://127.0.0.1:44961/876 -u user:secret > log/4/stdout876 2> CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind877 ../src/curl -q --output log/12/curl877.out --include --trace-ascii log/12/trace877 --trace-config all --trace-time pop3://127.0.0.1:44463/877 -u testuser:testpass > log/12/stdout877 2> log/12/stderr877 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind879 ../src/curl -q --output log/6/curl879.out --include --trace-ascii log/6/trace879 --trace-config all --trace-time pop3://127.0.0.1:37773/879 -u user:secret > log/6/stdout879 2> log/6/stderr879 log/4/stderr876 876: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 876 === Start of file pop3_server.log 02:02:44.269903 ====> Client connect 02:02:44.270017 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.270288 < "CAPA" 02:02:44.270326 > "-ERR Unrecognized command[CR][LF]" 02:02:44.270487 < "RETR verifiedserver" 02:02:44.270513 return proof we are we 02:02:44.270534 > "+OK Mail transfer starts[CR][LF]" 02:02:44.270551 > "WE ROOLZ: 117782[CR][LF]" 02:02:44.270566 > ".[CR][LF]" 02:02:44.312212 < "QUIT" 02:02:44.312269 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.312421 MAIN sockfilt said DISC 02:02:44.312448 ====> Client disconnected 02:02:44.312499 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.469948 ====> Client connect 02:02:44.470165 Received DATA (on stdin) 02:02:44.470181 > 178 bytes data, server => client 02:02:44.470193 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.470205 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.470217 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.470226 've \r\n' 02:02:44.470298 < 6 bytes data, client => server 02:02:44.470311 'CAPA\r\n' 02:02:44.470465 Received DATA (on stdin) 02:02:44.470476 > 27 bytes data, server => client 02:02:44.470488 '-ERR Unrecognized command\r\n' 02:02:44.470542 < 21 bytes data, client => server 02:02:44.470553 'RETR verifiedserver\r\n' 02:02:44.470705 Received DATA (on stdin) 02:02:44.470716 > 26 bytes data, server => client 02:02:44.470727 '+OK Mail transfer starts\r\n' 02:02:44.470751 Received DATA (on stdin) 02:02:44.470761 > 18 bytes data, server => client 02:02:44.470771 'WE ROOLZ: 117782\r\n' 02:02:44.470784 Received DATA (on stdin) 02:02:44.470794 > 3 bytes data, server => client 02:02:44.470804 '.\r\n' 02:02:44.512174 < 6 bytes data, client => server 02:02:44.512198 'QUIT\r\n' 02:02:44.512410 Received DATA (on stdin) 02:02:44.512423 > 34 bytes data, server => client 02:02:44.512434 '+OK curl POP3 server signing off\r\n' 02:02:44.512516 ====> Client disconnect 02:02:44.512635 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH + Rubbish REPLY * -ERR AUTH exchange cancelled by client Testnum 876 === End of file server.cmd === Start of file valgrind876 ==119258== ==119258== Process terminating with default action of signal 4 (SIGILL) ==119258== Illegal opcode at address 0x10B08D ==119258== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119258== by 0x10B08D: main (tool_main.c:232) === End of file valgrind876 test 0879...[POP3 CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind879 ../src/curl -q --output log/6/curl879.out --include --trace-ascii log/6/trace879 --trace-config all --trace-time pop3://127.0.0.1:37773/879 -u user:secret > log/6/stdout879 2> log/6/stderr879 879: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 879 === Start of file pop3_server.log 02:02:44.542079 ====> Client connect 02:02:44.542223 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.545537 < "CAPA" 02:02:44.545590 > "-ERR Unrecognized command[CR][LF]" 02:02:44.545780 < "RETR verifiedserver" 02:02:44.545806 return proof we are we 02:02:44.545829 > "+OK Mail transfer starts[CR][LF]" 02:02:44.545845 > "WE ROOLZ: 117682[CR][LF]" 02:02:44.545862 > ".[CR][LF]" 02:02:44.596120 < "QUIT" 02:02:44.596177 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.598646 MAIN sockfilt said DISC 02:02:44.598689 ====> Client disconnected 02:02:44.598755 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.742103 ====> Client connect 02:02:44.742377 Received DATA (on stdin) 02:02:44.742391 > 178 bytes data, server => client 02:02:44.742404 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.742416 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.742427 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.742436 've \r\n' 02:02:44.745225 < 6 bytes data, client => server 02:02:44.745487 'CAPA\r\n' 02:02:44.745736 Received DATA (on stdin) 02:02:44.745750 > 27 bytes data, server => client 02:02:44.745763 '-ERR Unrecognized command\r\n' 02:02:44.745826 < 21 bytes data, client => server 02:02:44.745841 'RETR verifiedserver\r\n' 02:02:44.746002 Received DATA (on stdin) 02:02:44.746016 > 26 bytes data, server => client 02:02:44.746027 '+OK Mail transfer starts\r\n' 02:02:44.746053 Received DATA (on stdin) 02:02:44.746065 > 18 bytes data, server => client 02:02:44.746075 'WE ROOLZ: 117682\r\n' 02:02:44.746089 Received DATA (on stdin) 02:02:44.746099 > 3 bytes data, server => client 02:02:44.746110 '.\r\n' 02:02:44.796044 < 6 bytes data, client => server 02:02:44.796080 'QUIT\r\n' 02:02:44.797462 Received DATA (on stdin) 02:02:44.797483 > 34 bytes data, server => client 02:02:44.797494 '+OK curl POP3 server signing off\r\n' 02:02:44.798729 ====> Client disconnect 02:02:44.798895 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" + Rubbish REPLY * -ERR AUTH exchange cancelled by client REPLY "AUTH PLAIN" + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 879 === End of file server.cmd === Start of file valgrind879 ==119451== ==119451== Process terminating with default action of signal 4 (SIGILL) ==119451== Illegal opcode at address 0x10B08D ==119451== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119451== by 0x10B08D: main (tool_main.c:232) === End of file valgrind879 test 0877...[POP3 NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind877 ../src/curl -q --output log/12/curl877.out --include --trace-ascii log/12/trace877 --trace-config all --trace-time pop3://127.0.0.1:44463/877 -u testuser:testpass > log/12/stdout877 2> log/12/stderr877 877: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 877 === Start of file pop3_server.log 02:02:44.572405 ====> Client connect 02:02:44.572558 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.575095 < "CAPA" 02:02:44.575133 > "-ERR Unrecognized command[CR][LF]" 02:02:44.576124 < "RETR verifiedserver" 02:02:44.576148 return proof we are we 02:02:44.576167 > "+OK Mail transfer starts[CR][LF]" 02:02:44.576183 > "WE ROOLZ: 117699[CR][LF]" 02:02:44.576197 > ".[CR][LF]" 02:02:44.618830 < "QUIT" 02:02:44.618882 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.619723 MAIN sockfilt said DISC 02:02:44.619751 ====> Client disconnected 02:02:44.619815 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.771833 ====> Client connect 02:02:44.772710 Received DATA (on stdin) 02:02:44.772725 > 178 bytes data, server => client 02:02:44.772739 ' _ _ ____ _ \r\n ___| | |CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind883 ../src/curl -q --output log/1/curl883.out --include --trace-ascii log/1/trace883 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:46745/883' > log/1/stdout883 2> log/1/stderr883 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind884 ../src/curl -q --output log/3/curl884.out --include --trace-ascii log/3/trace884 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:44067/884' > log/3/stdout884 2> log/3/stderr884 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind886 ../src/curl -q --output log/11/curl886.out --include --trace-ascii log/11/trace886 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:39851/886' --sasl-ir > log/11/stdout886 2> log/11/stderr886 | _ \| | \r\n ' 02:02:44.772750 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.772761 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.772771 've \r\n' 02:02:44.775025 < 6 bytes data, client => server 02:02:44.775043 'CAPA\r\n' 02:02:44.775996 Received DATA (on stdin) 02:02:44.776015 > 27 bytes data, server => client 02:02:44.776025 '-ERR Unrecognized command\r\n' 02:02:44.776174 < 21 bytes data, client => server 02:02:44.776188 'RETR verifiedserver\r\n' 02:02:44.776334 Received DATA (on stdin) 02:02:44.776345 > 26 bytes data, server => client 02:02:44.776355 '+OK Mail transfer starts\r\n' 02:02:44.776377 Received DATA (on stdin) 02:02:44.776387 > 18 bytes data, server => client 02:02:44.776396 'WE ROOLZ: 117699\r\n' 02:02:44.776408 Received DATA (on stdin) 02:02:44.776417 > 3 bytes data, server => client 02:02:44.776426 '.\r\n' 02:02:44.818787 < 6 bytes data, client => server 02:02:44.818815 'QUIT\r\n' 02:02:44.819023 Received DATA (on stdin) 02:02:44.819036 > 34 bytes data, server => client 02:02:44.819047 '+OK curl POP3 server signing off\r\n' 02:02:44.819812 ====> Client disconnect 02:02:44.819954 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * -ERR AUTH exchange cancelled by client Testnum 877 === End of file server.cmd === Start of file valgrind877 ==119447== ==119447== Process terminating with default action of signal 4 (SIGILL) ==119447== Illegal opcode at address 0x10B08D ==119447== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119447== by 0x10B08D: main (tool_main.c:232) === End of file valgrind877 test 0883...[POP3 external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind883 ../src/curl -q --output log/1/curl883.out --include --trace-ascii log/1/trace883 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:46745/883' > log/1/stdout883 2> log/1/stderr883 883: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 883 === Start of file pop3_server.log 02:02:44.735052 ====> Client connect 02:02:44.735254 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.737112 < "CAPA" 02:02:44.737153 > "-ERR Unrecognized command[CR][LF]" 02:02:44.737431 < "RETR verifiedserver" 02:02:44.737456 return proof we are we 02:02:44.737478 > "+OK Mail transfer starts[CR][LF]" 02:02:44.737494 > "WE ROOLZ: 117765[CR][LF]" 02:02:44.737509 > ".[CR][LF]" 02:02:44.784724 < "QUIT" 02:02:44.784778 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.785210 MAIN sockfilt said DISC 02:02:44.785237 ====> Client disconnected 02:02:44.785301 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.934417 ====> Client connect 02:02:44.935405 Received DATA (on stdin) 02:02:44.935422 > 178 bytes data, server => client 02:02:44.935435 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.935447 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.935458 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.935467 've \r\n' 02:02:44.937105 < 6 bytes data, client => server 02:02:44.937125 'CAPA\r\n' 02:02:44.937294 Received DATA (on stdin) 02:02:44.937307 > 27 bytes data, server => client 02:02:44.937318 '-ERR Unrecognized command\r\n' 02:02:44.937483 < 21 bytes data, client => server 02:02:44.937497 'RETR verifiedserver\r\n' 02:02:44.937646 Received DATA (on stdin) 02:02:44.937658 > 26 bytes data, server => client 02:02:44.937668 '+OK Mail transfer starts\r\n' 02:02:44.937692 Received DATA (on stdin) 02:02:44.937702 > 18 bytes data, server => client 02:02:44.937712 'WE ROOLZ: 117765\r\n' 02:02:44.937725 Received DATA (on stdin) 02:02:44.937734 > 3 bytes data, server => client 02:02:44.937744 '.\r\n' 02:02:44.984675 < 6 bytes data, client => server 02:02:44.984702 'QUIT\r\n' 02:02:44.984936 Received DATA (on stdin) 02:02:44.984948 > 34 bytes data, server => client 02:02:44.984959 '+OK curl POP3 server signing off\r\n' 02:02:44.985302 ====> Client disconnect 02:02:44.985438 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY dXNlcg== +OK Login successful Testnum 883 === End of file server.cmd === Start of file valgrind883 ==119619== ==119619== Process terminating with default action of signal 4 (SIGILL) ==119619== Illegal opcode at address 0x10B08D ==119619== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119619== by 0x10B08D: main (tool_main.c:232) === End of file valgrind883 test 0884...[POP3 external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind884 ../src/curl -q --output log/3/curl884.out --include --trace-ascii log/3/trace884 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:44067/884' > log/3/stdout884 2> log/3/stderr884 884: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 884 === Start of file pop3_server.log 02:02:44.760814 ====> Client connect 02:02:44.760950 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.761237 < "CAPA" 02:02:44.761268 > "-ERR Unrecognized command[CR][LF]" 02:02:44.761417 < "RETR verifiedserver" 02:02:44.761439 return proof we are we 02:02:44.761457 > "+OK Mail transfer starts[CR][LF]" 02:02:44.761472 > "WE ROOLZ: 117768[CR][LF]" 02:02:44.761488 > ".[CR][LF]" 02:02:44.806038 < "QUIT" 02:02:44.806088 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.806793 MAIN sockfilt said DISC 02:02:44.806825 ====> Client disconnected 02:02:44.806883 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.960850 ====> Client connect 02:02:44.961098 Received DATA (on stdin) 02:02:44.961112 > 178 bytes data, server => client 02:02:44.961124 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.961136 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.961147 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.961156 've \r\n' 02:02:44.961243 < 6 bytes data, client => server 02:02:44.961256 'CAPA\r\n' 02:02:44.961406 Received DATA (on stdin) 02:02:44.961418 > 27 bytes data, server => client 02:02:44.961429 '-ERR Unrecognized command\r\n' 02:02:44.961479 < 21 bytes data, client => server 02:02:44.961490 'RETR verifiedserver\r\n' 02:02:44.961624 Received DATA (on stdin) 02:02:44.961635 > 26 bytes data, server => client 02:02:44.961645 '+OK Mail transfer starts\r\n' 02:02:44.961666 Received DATA (on stdin) 02:02:44.961676 > 18 bytes data, server => client 02:02:44.961686 'WE ROOLZ: 117768\r\n' 02:02:44.961698 Received DATA (on stdin) 02:02:44.961707 > 3 bytes data, server => client 02:02:44.961717 '.\r\n' 02:02:45.005588 < 6 bytes data, client => server 02:02:45.005614 'QUIT\r\n' 02:02:45.006232 Received DATA (on stdin) 02:02:45.006247 > 34 bytes data, server => client 02:02:45.006259 '+OK curl POP3 server signing off\r\n' 02:02:45.006881 ====> Client disconnect 02:02:45.007025 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY = +OK LCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind880 ../src/curl -q --output log/8/curl880.out --include --trace-ascii log/8/trace880 --trace-config all --trace-time pop3://127.0.0.1:43389/880 -u user:secret > log/8/stdout880 2> log/8/stderr880 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind885 ../src/curl -q --output log/7/curl885.out --include --trace-ascii log/7/trace885 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:45421/885' --sasl-ir > log/7/stdout885 2> log/7/stderr885 ogin successful Testnum 884 === End of file server.cmd === Start of file valgrind884 ==119637== ==119637== Process terminating with default action of signal 4 (SIGILL) ==119637== Illegal opcode at address 0x10B08D ==119637== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119637== by 0x10B08D: main (tool_main.c:232) === End of file valgrind884 test 0886...[POP3 external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind886 ../src/curl -q --output log/11/curl886.out --include --trace-ascii log/11/trace886 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:39851/886' --sasl-ir > log/11/stdout886 2> log/11/stderr886 886: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 886 === Start of file pop3_server.log 02:02:44.768041 ====> Client connect 02:02:44.768156 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.768425 < "CAPA" 02:02:44.768462 > "-ERR Unrecognized command[CR][LF]" 02:02:44.768630 < "RETR verifiedserver" 02:02:44.768656 return proof we are we 02:02:44.768676 > "+OK Mail transfer starts[CR][LF]" 02:02:44.768694 > "WE ROOLZ: 117767[CR][LF]" 02:02:44.768709 > ".[CR][LF]" 02:02:44.815555 < "QUIT" 02:02:44.815622 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.816378 MAIN sockfilt said DISC 02:02:44.816404 ====> Client disconnected 02:02:44.816459 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.968087 ====> Client connect 02:02:44.968305 Received DATA (on stdin) 02:02:44.968319 > 178 bytes data, server => client 02:02:44.968331 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.968344 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.968355 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.968365 've \r\n' 02:02:44.968431 < 6 bytes data, client => server 02:02:44.968444 'CAPA\r\n' 02:02:44.968602 Received DATA (on stdin) 02:02:44.968614 > 27 bytes data, server => client 02:02:44.968625 '-ERR Unrecognized command\r\n' 02:02:44.968680 < 21 bytes data, client => server 02:02:44.968693 'RETR verifiedserver\r\n' 02:02:44.968847 Received DATA (on stdin) 02:02:44.968860 > 26 bytes data, server => client 02:02:44.968870 '+OK Mail transfer starts\r\n' 02:02:44.968895 Received DATA (on stdin) 02:02:44.968904 > 18 bytes data, server => client 02:02:44.968914 'WE ROOLZ: 117767\r\n' 02:02:44.968926 Received DATA (on stdin) 02:02:44.968936 > 3 bytes data, server => client 02:02:44.968945 '.\r\n' 02:02:45.015548 < 6 bytes data, client => server 02:02:45.015569 'QUIT\r\n' 02:02:45.015764 Received DATA (on stdin) 02:02:45.015776 > 34 bytes data, server => client 02:02:45.015788 '+OK curl POP3 server signing off\r\n' 02:02:45.016469 ====> Client disconnect 02:02:45.016597 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH +OK Login successful Testnum 886 === End of file server.cmd === Start of file valgrind886 ==119642== ==119642== Process terminating with default action of signal 4 (SIGILL) ==119642== Illegal opcode at address 0x10B08D ==119642== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119642== by 0x10B08D: main (tool_main.c:232) === End of file valgrind886 test 0880...[POP3 NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind880 ../src/curl -q --output log/8/curl880.out --include --trace-ascii log/8/trace880 --trace-config all --trace-time pop3://127.0.0.1:43389/880 -u user:secret > log/8/stdout880 2> log/8/stderr880 880: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 880 === Start of file pop3_server.log 02:02:44.761756 ====> Client connect 02:02:44.761891 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.762499 < "CAPA" 02:02:44.762534 > "-ERR Unrecognized command[CR][LF]" 02:02:44.762684 < "RETR verifiedserver" 02:02:44.762705 return proof we are we 02:02:44.762724 > "+OK Mail transfer starts[CR][LF]" 02:02:44.762739 > "WE ROOLZ: 101957[CR][LF]" 02:02:44.762753 > ".[CR][LF]" 02:02:44.805729 < "QUIT" 02:02:44.805779 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.806234 MAIN sockfilt said DISC 02:02:44.806263 ====> Client disconnected 02:02:44.806324 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.958273 ====> Client connect 02:02:44.962359 Received DATA (on stdin) 02:02:44.962384 > 178 bytes data, server => client 02:02:44.962397 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.962409 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.962420 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.962429 've \r\n' 02:02:44.962507 < 6 bytes data, client => server 02:02:44.962519 'CAPA\r\n' 02:02:44.962673 Received DATA (on stdin) 02:02:44.962684 > 27 bytes data, server => client 02:02:44.962695 '-ERR Unrecognized command\r\n' 02:02:44.962746 < 21 bytes data, client => server 02:02:44.962757 'RETR verifiedserver\r\n' 02:02:44.962889 Received DATA (on stdin) 02:02:44.962900 > 26 bytes data, server => client 02:02:44.962911 '+OK Mail transfer starts\r\n' 02:02:44.962933 Received DATA (on stdin) 02:02:44.962943 > 18 bytes data, server => client 02:02:44.962953 'WE ROOLZ: 101957\r\n' 02:02:44.962964 Received DATA (on stdin) 02:02:44.962974 > 3 bytes data, server => client 02:02:44.962983 '.\r\n' 02:02:45.005698 < 6 bytes data, client => server 02:02:45.005720 'QUIT\r\n' 02:02:45.005919 Received DATA (on stdin) 02:02:45.005931 > 34 bytes data, server => client 02:02:45.005941 '+OK curl POP3 server signing off\r\n' 02:02:45.006324 ====> Client disconnect 02:02:45.006461 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTH NTLM" + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * -ERR AUTH exchange cancelled by client REPLY "AUTH PLAIN" + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 880 === End of file server.cmd === Start of file valgrind880 ==119639== ==119639== Process terminating with default action of signal 4 (SIGILL) ==119639== Illegal opcode at address 0x10B08D ==119639== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119639== by 0x10B08D: main (tool_main.c:232) === End of file valgrind880 test 0885...[POP3 external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind885 ../src/curl -q --output log/7/curl885.out --include --trace-ascii log/7/trace885 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:45421/885' --sasl-ir > log/7/stdout885 2> log/7/stderr885 885: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 885 === Start of file pop3_server.log 02:02:44.766131 ====> Client connect 02:02:44.766254 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind887 ../src/curl -q --output log/10/curl887.out --include --trace-ascii log/10/trace887 --trace-config all --trace-time pop3://127.0.0.1:34489/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout887 2> log/10/stderr887 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind889 ../src/curl -q --output log/5/curl889.out --include --trace-ascii log/5/trace889 --trace-config all --trace-time pop3://127.0.0.1:41423/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout889 2> log/5/stderr889 |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:44.766520 < "CAPA" 02:02:44.766554 > "-ERR Unrecognized command[CR][LF]" 02:02:44.766710 < "RETR verifiedserver" 02:02:44.766733 return proof we are we 02:02:44.766751 > "+OK Mail transfer starts[CR][LF]" 02:02:44.766766 > "WE ROOLZ: 117766[CR][LF]" 02:02:44.766781 > ".[CR][LF]" 02:02:44.814195 < "QUIT" 02:02:44.814242 > "+OK curl POP3 server signing off[CR][LF]" 02:02:44.815447 MAIN sockfilt said DISC 02:02:44.815489 ====> Client disconnected 02:02:44.823450 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:44.966171 ====> Client connect 02:02:44.966401 Received DATA (on stdin) 02:02:44.966416 > 178 bytes data, server => client 02:02:44.966429 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.966441 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.966453 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:44.966462 've \r\n' 02:02:44.966532 < 6 bytes data, client => server 02:02:44.966545 'CAPA\r\n' 02:02:44.966693 Received DATA (on stdin) 02:02:44.966705 > 27 bytes data, server => client 02:02:44.966716 '-ERR Unrecognized command\r\n' 02:02:44.966768 < 21 bytes data, client => server 02:02:44.966781 'RETR verifiedserver\r\n' 02:02:44.966917 Received DATA (on stdin) 02:02:44.966928 > 26 bytes data, server => client 02:02:44.966939 '+OK Mail transfer starts\r\n' 02:02:44.966966 Received DATA (on stdin) 02:02:44.966977 > 18 bytes data, server => client 02:02:44.966988 'WE ROOLZ: 117766\r\n' 02:02:44.967000 Received DATA (on stdin) 02:02:44.967010 > 3 bytes data, server => client 02:02:44.967019 '.\r\n' 02:02:45.014172 < 6 bytes data, client => server 02:02:45.014200 'QUIT\r\n' 02:02:45.014384 Received DATA (on stdin) 02:02:45.014397 > 34 bytes data, server => client 02:02:45.014409 '+OK curl POP3 server signing off\r\n' 02:02:45.015525 ====> Client disconnect 02:02:45.015646 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH +OK Login successful Testnum 885 === End of file server.cmd === Start of file valgrind885 ==119744== ==119744== Process terminating with default action of signal 4 (SIGILL) ==119744== Illegal opcode at address 0x10B08D ==119744== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119744== by 0x10B08D: main (tool_main.c:232) === End of file valgrind885 test 0887...[POP3 OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind887 ../src/curl -q --output log/10/curl887.out --include --trace-ascii log/10/trace887 --trace-config all --trace-time pop3://127.0.0.1:34489/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout887 2> log/10/stderr887 887: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 887 === Start of file pop3_server.log 02:02:45.049930 ====> Client connect 02:02:45.050079 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:45.052083 < "CAPA" 02:02:45.052125 > "-ERR Unrecognized command[CR][LF]" 02:02:45.052321 < "RETR verifiedserver" 02:02:45.052348 return proof we are we 02:02:45.052370 > "+OK Mail transfer starts[CR][LF]" 02:02:45.052392 > "WE ROOLZ: 117776[CR][LF]" 02:02:45.052408 > ".[CR][LF]" 02:02:45.095327 < "QUIT" 02:02:45.095379 > "+OK curl POP3 server signing off[CR][LF]" 02:02:45.096239 MAIN sockfilt said DISC 02:02:45.096271 ====> Client disconnected 02:02:45.096334 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:45.249974 ====> Client connect 02:02:45.250235 Received DATA (on stdin) 02:02:45.250249 > 178 bytes data, server => client 02:02:45.250261 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.250273 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.250284 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:45.250293 've \r\n' 02:02:45.252067 < 6 bytes data, client => server 02:02:45.252089 'CAPA\r\n' 02:02:45.252269 Received DATA (on stdin) 02:02:45.252283 > 27 bytes data, server => client 02:02:45.252294 '-ERR Unrecognized command\r\n' 02:02:45.252358 < 21 bytes data, client => server 02:02:45.252375 'RETR verifiedserver\r\n' 02:02:45.252546 Received DATA (on stdin) 02:02:45.252559 > 26 bytes data, server => client 02:02:45.252570 '+OK Mail transfer starts\r\n' 02:02:45.252597 Received DATA (on stdin) 02:02:45.252608 > 18 bytes data, server => client 02:02:45.252618 'WE ROOLZ: 117776\r\n' 02:02:45.252631 Received DATA (on stdin) 02:02:45.252641 > 3 bytes data, server => client 02:02:45.252652 '.\r\n' 02:02:45.295307 < 6 bytes data, client => server 02:02:45.295329 'QUIT\r\n' 02:02:45.295521 Received DATA (on stdin) 02:02:45.295536 > 34 bytes data, server => client 02:02:45.295547 '+OK curl POP3 server signing off\r\n' 02:02:45.295734 ====> Client disconnect 02:02:45.296395 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzQ0ODkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 ==119943== ==119943== Process terminating with default action of signal 4 (SIGILL) ==119943== Illegal opcode at address 0x10B08D ==119943== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119943== by 0x10B08D: main (tool_main.c:232) === End of file valgrind887 test 0889...[POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind889 ../src/curl -q --output log/5/curl889.out --include --trace-ascii log/5/trace889 --trace-config all --trace-time pop3://127.0.0.1:41423/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout889 2> log/5/stderr889 889: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 889 === Start of file pop3_server.log 02:02:45.060116 ====> Client connect 02:02:45.060240 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:45.060494 < "CAPA" 02:02:45.060526 > "-ERR Unrecognized command[CR][LF]" 02:02:45.060667 < "RETR verifiedserver" 02:02:45.060689 return proof we are we 02:02:45.060707 > "+OK Mail transfer starts[CR][LF]" 02:02:45.060722 > "WE ROOLZ: 117775[CR][LF]" 02:02:45.060736 > ".[CR][LF]" 02:02:45.102056 < "QUIT" 02:02:45.102106 > "+OK curl POP3 server signing off[CR][LF]" 02:02:45.102625 MAIN sockfilt said DISC 02:02:45.102651 ====> Client disconnected 02:02:45.102709 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:45.260158 ====> Client connect 02:02:45.260385 Received DATA (on stdin) 02:02:45.260399 > 178 bytes data, server => client 02:02:45.260411 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.260422 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.260433 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:45.260441 've \r\n' 02:02:45.260505 < 6 bytes data, client => server 02:02:45.260516 'CAPA\r\n' 02:02:45.260662 Received DATA (on stdin) 02:02:45.260673 > 27 bytes data, server => client 02:02:45.260683 '-ERR UCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind890 ../src/curl -q --output log/9/curl890.out --include --trace-ascii log/9/trace890 --trace-config all --trace-time pop3://127.0.0.1:46125/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/9/stdout890 2> log/9/stderr890 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind891 ../src/curl -q --output log/4/curl891.out --include --trace-ascii log/4/trace891 --trace-config all --trace-time pop3://127.0.0.1:44961/891 -u user:secret > log/4/stdout891 2> log/4/stderr891 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind888 ../src/curl -q --output log/2/curl888.out --include --trace-ascii log/2/trace888 --trace-config all --trace-time pop3://127.0.0.1:38491/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/2/stdout888 2> log/2/stderr888 nrecognized command\r\n' 02:02:45.260731 < 21 bytes data, client => server 02:02:45.260742 'RETR verifiedserver\r\n' 02:02:45.260872 Received DATA (on stdin) 02:02:45.260884 > 26 bytes data, server => client 02:02:45.260894 '+OK Mail transfer starts\r\n' 02:02:45.260915 Received DATA (on stdin) 02:02:45.260925 > 18 bytes data, server => client 02:02:45.260935 'WE ROOLZ: 117775\r\n' 02:02:45.260947 Received DATA (on stdin) 02:02:45.260956 > 3 bytes data, server => client 02:02:45.260965 '.\r\n' 02:02:45.302041 < 6 bytes data, client => server 02:02:45.302064 'QUIT\r\n' 02:02:45.302259 Received DATA (on stdin) 02:02:45.302274 > 34 bytes data, server => client 02:02:45.302286 '+OK curl POP3 server signing off\r\n' 02:02:45.302721 ====> Client disconnect 02:02:45.302852 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDE0MjMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 ==119947== ==119947== Process terminating with default action of signal 4 (SIGILL) ==119947== Illegal opcode at address 0x10B08D ==119947== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119947== by 0x10B08D: main (tool_main.c:232) === End of file valgrind889 test 0890...[POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind890 ../src/curl -q --output log/9/curl890.out --include --trace-ascii log/9/trace890 --trace-config all --trace-time pop3://127.0.0.1:46125/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/9/stdout890 2> log/9/stderr890 890: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 890 === Start of file pop3_server.log 02:02:45.088005 ====> Client connect 02:02:45.088141 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:45.088432 < "CAPA" 02:02:45.088471 > "-ERR Unrecognized command[CR][LF]" 02:02:45.088627 < "RETR verifiedserver" 02:02:45.088650 return proof we are we 02:02:45.088669 > "+OK Mail transfer starts[CR][LF]" 02:02:45.088686 > "WE ROOLZ: 117774[CR][LF]" 02:02:45.088702 > ".[CR][LF]" 02:02:45.132119 < "QUIT" 02:02:45.132170 > "+OK curl POP3 server signing off[CR][LF]" 02:02:45.132947 MAIN sockfilt said DISC 02:02:45.132979 ====> Client disconnected 02:02:45.133044 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:45.288029 ====> Client connect 02:02:45.288288 Received DATA (on stdin) 02:02:45.288303 > 178 bytes data, server => client 02:02:45.288317 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.288329 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.288341 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:45.288351 've \r\n' 02:02:45.288424 < 6 bytes data, client => server 02:02:45.288436 'CAPA\r\n' 02:02:45.288611 Received DATA (on stdin) 02:02:45.288623 > 27 bytes data, server => client 02:02:45.288634 '-ERR Unrecognized command\r\n' 02:02:45.288685 < 21 bytes data, client => server 02:02:45.288697 'RETR verifiedserver\r\n' 02:02:45.288839 Received DATA (on stdin) 02:02:45.288851 > 26 bytes data, server => client 02:02:45.288861 '+OK Mail transfer starts\r\n' 02:02:45.288885 Received DATA (on stdin) 02:02:45.288896 > 18 bytes data, server => client 02:02:45.288906 'WE ROOLZ: 117774\r\n' 02:02:45.288918 Received DATA (on stdin) 02:02:45.288927 > 3 bytes data, server => client 02:02:45.288937 '.\r\n' 02:02:45.332078 < 6 bytes data, client => server 02:02:45.332109 'QUIT\r\n' 02:02:45.332310 Received DATA (on stdin) 02:02:45.332322 > 34 bytes data, server => client 02:02:45.332333 '+OK curl POP3 server signing off\r\n' 02:02:45.332728 ====> Client disconnect 02:02:45.333182 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 REPLY AQ== -ERR Authentication failed Testnum 890 === End of file server.cmd === Start of file valgrind890 ==120024== ==120024== Process terminating with default action of signal 4 (SIGILL) ==120024== Illegal opcode at address 0x10B08D ==120024== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120024== by 0x10B08D: main (tool_main.c:232) === End of file valgrind890 test 0891...[POP3 with short authentication response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind891 ../src/curl -q --output log/4/curl891.out --include --trace-ascii log/4/trace891 --trace-config all --trace-time pop3://127.0.0.1:44961/891 -u user:secret > log/4/stdout891 2> log/4/stderr891 891: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 891 === Start of file pop3_server.log 02:02:45.088005 ====> Client connect 02:02:45.088140 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:45.088424 < "CAPA" 02:02:45.088458 > "-ERR Unrecognized command[CR][LF]" 02:02:45.088622 < "RETR verifiedserver" 02:02:45.088645 return proof we are we 02:02:45.088665 > "+OK Mail transfer starts[CR][LF]" 02:02:45.088680 > "WE ROOLZ: 117782[CR][LF]" 02:02:45.088695 > ".[CR][LF]" 02:02:45.138728 < "QUIT" 02:02:45.138776 > "+OK curl POP3 server signing off[CR][LF]" 02:02:45.139009 MAIN sockfilt said DISC 02:02:45.139037 ====> Client disconnected 02:02:45.139097 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:45.288032 ====> Client connect 02:02:45.288289 Received DATA (on stdin) 02:02:45.288304 > 178 bytes data, server => client 02:02:45.288316 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.288327 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.288338 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:45.288347 've \r\n' 02:02:45.288421 < 6 bytes data, client => server 02:02:45.288434 'CAPA\r\n' 02:02:45.288601 Received DATA (on stdin) 02:02:45.288613 > 27 bytes data, server => client 02:02:45.288623 '-ERR Unrecognized command\r\n' 02:02:45.288674 < 21 bytes data, client => server 02:02:45.288685 'RETR verifiedserver\r\n' 02:02:45.291928 Received DATA (on stdin) 02:02:45.291950 > 26 bytes data, server => client 02:02:45.291961 '+OK Mail transfer starts\r\n' 02:02:45.291996 Received DATA (on stdin) 02:02:45.292005 > 18 bytes data, server => client 02:02:45.292016 'WE ROOLZ: 117782\r\n' 02:02:45.292027 Received DATA (on stdin) 02:02:45.292036 > 3 bytes data, server => client 02:02:45.292045 '.\r\n' 02:02:45.338655 < 6 bytes data, client => server 02:02:45.338816 'QUIT\r\n' 02:02:45.338919 Received DATA (on stdin) 02:02:45.338932 > 34 bytes data, server => client 02:02:45.338945 '+OK curl POP3 server signing off\r\n' 02:02:45.339100 ====> Client disconnect 02:02:45.339168 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind892 ../src/curl -q --output log/12/curl892.out --include --trace-ascii log/12/trace892 --trace-config all --trace-time pop3://127.0.0.1:44463/892 -u user:secret --sasl-authzid shared-mailbox > log/12/stdout892 2> log/12/stderr892 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind893 ../src/curl -q --output log/6/curl893.out --include --trace-ascii log/6/trace893 --trace-config all --trace-time pop3://127.0.0.1:37773/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/6/stdout893 2> log/6/stderr893 AUTH CRAM-MD5 REPLYLF AUTH + Testnum 891 === End of file server.cmd === Start of file valgrind891 ==120035== ==120035== Process terminating with default action of signal 4 (SIGILL) ==120035== Illegal opcode at address 0x10B08D ==120035== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120035== by 0x10B08D: main (tool_main.c:232) === End of file valgrind891 test 0888...[POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind888 ../src/curl -q --output log/2/curl888.out --include --trace-ascii log/2/trace888 --trace-config all --trace-time pop3://127.0.0.1:38491/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/2/stdout888 2> log/2/stderr888 888: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 888 === Start of file pop3_server.log 02:02:45.064715 ====> Client connect 02:02:45.064847 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:45.065137 < "CAPA" 02:02:45.065232 > "-ERR Unrecognized command[CR][LF]" 02:02:45.065436 < "RETR verifiedserver" 02:02:45.065460 return proof we are we 02:02:45.065480 > "+OK Mail transfer starts[CR][LF]" 02:02:45.065497 > "WE ROOLZ: 117777[CR][LF]" 02:02:45.065512 > ".[CR][LF]" 02:02:45.109864 < "QUIT" 02:02:45.109913 > "+OK curl POP3 server signing off[CR][LF]" 02:02:45.110916 MAIN sockfilt said DISC 02:02:45.110957 ====> Client disconnected 02:02:45.111007 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:45.264604 ====> Client connect 02:02:45.264995 Received DATA (on stdin) 02:02:45.265009 > 178 bytes data, server => client 02:02:45.265022 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.265034 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.265045 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:45.265055 've \r\n' 02:02:45.265124 < 6 bytes data, client => server 02:02:45.265137 'CAPA\r\n' 02:02:45.265374 Received DATA (on stdin) 02:02:45.265388 > 27 bytes data, server => client 02:02:45.265430 '-ERR Unrecognized command\r\n' 02:02:45.265491 < 21 bytes data, client => server 02:02:45.265503 'RETR verifiedserver\r\n' 02:02:45.265649 Received DATA (on stdin) 02:02:45.265661 > 26 bytes data, server => client 02:02:45.265671 '+OK Mail transfer starts\r\n' 02:02:45.265695 Received DATA (on stdin) 02:02:45.265705 > 18 bytes data, server => client 02:02:45.265716 'WE ROOLZ: 117777\r\n' 02:02:45.265728 Received DATA (on stdin) 02:02:45.265738 > 3 bytes data, server => client 02:02:45.265748 '.\r\n' 02:02:45.309859 < 6 bytes data, client => server 02:02:45.309882 'QUIT\r\n' 02:02:45.310053 Received DATA (on stdin) 02:02:45.310065 > 34 bytes data, server => client 02:02:45.310076 '+OK curl POP3 server signing off\r\n' 02:02:45.310773 ====> Client disconnect 02:02:45.311145 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH +OK Login successful Testnum 888 === End of file server.cmd === Start of file valgrind888 ==119968== ==119968== Process terminating with default action of signal 4 (SIGILL) ==119968== Illegal opcode at address 0x10B08D ==119968== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==119968== by 0x10B08D: main (tool_main.c:232) === End of file valgrind888 test 0892...[POP3 plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind892 ../src/curl -q --output log/12/curl892.out --include --trace-ascii log/12/trace892 --trace-config all --trace-time pop3://127.0.0.1:44463/892 -u user:secret --sasl-authzid shared-mailbox > log/12/stdout892 2> log/12/stderr892 892: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 892 === Start of file pop3_server.log 02:02:45.388595 ====> Client connect 02:02:45.388718 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:45.388981 < "CAPA" 02:02:45.389019 > "-ERR Unrecognized command[CR][LF]" 02:02:45.389188 < "RETR verifiedserver" 02:02:45.389211 return proof we are we 02:02:45.389230 > "+OK Mail transfer starts[CR][LF]" 02:02:45.389246 > "WE ROOLZ: 117699[CR][LF]" 02:02:45.389261 > ".[CR][LF]" 02:02:45.432064 < "QUIT" 02:02:45.432121 > "+OK curl POP3 server signing off[CR][LF]" 02:02:45.433036 MAIN sockfilt said DISC 02:02:45.433065 ====> Client disconnected 02:02:45.433128 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:45.588644 ====> Client connect 02:02:45.588870 Received DATA (on stdin) 02:02:45.588886 > 178 bytes data, server => client 02:02:45.588900 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.588911 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.588924 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:45.588933 've \r\n' 02:02:45.589003 < 6 bytes data, client => server 02:02:45.589017 'CAPA\r\n' 02:02:45.589160 Received DATA (on stdin) 02:02:45.589178 > 27 bytes data, server => client 02:02:45.589190 '-ERR Unrecognized command\r\n' 02:02:45.589246 < 21 bytes data, client => server 02:02:45.589258 'RETR verifiedserver\r\n' 02:02:45.589397 Received DATA (on stdin) 02:02:45.589409 > 26 bytes data, server => client 02:02:45.589419 '+OK Mail transfer starts\r\n' 02:02:45.589442 Received DATA (on stdin) 02:02:45.589452 > 18 bytes data, server => client 02:02:45.589462 'WE ROOLZ: 117699\r\n' 02:02:45.589473 Received DATA (on stdin) 02:02:45.589483 > 3 bytes data, server => client 02:02:45.589493 '.\r\n' 02:02:45.632007 < 6 bytes data, client => server 02:02:45.632040 'QUIT\r\n' 02:02:45.632263 Received DATA (on stdin) 02:02:45.632278 > 34 bytes data, server => client 02:02:45.632290 '+OK curl POP3 server signing off\r\n' 02:02:45.633127 ====> Client disconnect 02:02:45.633267 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= +OK Login successful Testnum 892 === End of file server.cmd === Start of file valgrind892 ==120228== ==120228== Process terminating with default action of signal 4 (SIGILL) ==120228== Illegal opcode at address 0x10B08D ==120228== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120228== by 0x10B08D: main (tool_main.c:232) === End of file valgrind892 test 0893...[POP3 plain authentication with alternative authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind893 ../src/curl -q --output log/6/curl893.out --include --trace-ascii log/6/trace893 --trace-config all --trace-time pop3://127.0.0.1:37773/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/6/stdout893 2> log/6/stderr893 893: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 893 === Start of file pop3_server.log 02:02:45.387790 ====> Client connect 02:02:45.387941 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind894 ../src/curl -q --output log/1/curl894.out --include --trace-ascii log/1/trace894 --trace-config all --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:46745/894 > log/1/stdout894 2> log/1/stderr894 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind898 ../src/curl -q --output log/7/curl898.out --include --trace-ascii log/7/trace898 --trace-config all --trace-time -x http://127.0.0.1:43753 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/7/stdout898 2> log/7/stderr898 | |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:45.388280 < "CAPA" 02:02:45.388315 > "-ERR Unrecognized command[CR][LF]" 02:02:45.388480 < "RETR verifiedserver" 02:02:45.388504 return proof we are we 02:02:45.388523 > "+OK Mail transfer starts[CR][LF]" 02:02:45.388539 > "WE ROOLZ: 117682[CR][LF]" 02:02:45.388554 > ".[CR][LF]" 02:02:45.432064 < "QUIT" 02:02:45.432121 > "+OK curl POP3 server signing off[CR][LF]" 02:02:45.433109 MAIN sockfilt said DISC 02:02:45.433137 ====> Client disconnected 02:02:45.433195 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:45.587816 ====> Client connect 02:02:45.588090 Received DATA (on stdin) 02:02:45.588115 > 178 bytes data, server => client 02:02:45.588128 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.588139 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.588154 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:45.588164 've \r\n' 02:02:45.588271 < 6 bytes data, client => server 02:02:45.588285 'CAPA\r\n' 02:02:45.588455 Received DATA (on stdin) 02:02:45.588467 > 27 bytes data, server => client 02:02:45.588484 '-ERR Unrecognized command\r\n' 02:02:45.588539 < 21 bytes data, client => server 02:02:45.588550 'RETR verifiedserver\r\n' 02:02:45.588691 Received DATA (on stdin) 02:02:45.588703 > 26 bytes data, server => client 02:02:45.588713 '+OK Mail transfer starts\r\n' 02:02:45.588736 Received DATA (on stdin) 02:02:45.588746 > 18 bytes data, server => client 02:02:45.588756 'WE ROOLZ: 117682\r\n' 02:02:45.588768 Received DATA (on stdin) 02:02:45.588777 > 3 bytes data, server => client 02:02:45.588787 '.\r\n' 02:02:45.632036 < 6 bytes data, client => server 02:02:45.632058 'QUIT\r\n' 02:02:45.632473 Received DATA (on stdin) 02:02:45.632492 > 34 bytes data, server => client 02:02:45.632504 '+OK curl POP3 server signing off\r\n' 02:02:45.633197 ====> Client disconnect 02:02:45.633334 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= -ERR Not authorized Testnum 893 === End of file server.cmd === Start of file valgrind893 ==120229== ==120229== Process terminating with default action of signal 4 (SIGILL) ==120229== Illegal opcode at address 0x10B08D ==120229== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120229== by 0x10B08D: main (tool_main.c:232) === End of file valgrind893 test 0894...[POP3 with CR in username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind894 ../src/curl -q --output log/1/curl894.out --include --trace-ascii log/1/trace894 --trace-config all --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:46745/894 > log/1/stdout894 2> log/1/stderr894 curl returned 132, when expecting 3 894: exit FAILED == Contents of files in the log/1/ dir after test 894 === Start of file pop3_server.log 02:02:45.535077 ====> Client connect 02:02:45.535225 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:45.535539 < "CAPA" 02:02:45.535578 > "-ERR Unrecognized command[CR][LF]" 02:02:45.535752 < "RETR verifiedserver" 02:02:45.535777 return proof we are we 02:02:45.535798 > "+OK Mail transfer starts[CR][LF]" 02:02:45.535815 > "WE ROOLZ: 117765[CR][LF]" 02:02:45.535832 > ".[CR][LF]" 02:02:45.579143 < "QUIT" 02:02:45.579199 > "+OK curl POP3 server signing off[CR][LF]" 02:02:45.584142 MAIN sockfilt said DISC 02:02:45.584185 ====> Client disconnected 02:02:45.584250 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:45.735075 ====> Client connect 02:02:45.735377 Received DATA (on stdin) 02:02:45.735394 > 178 bytes data, server => client 02:02:45.735407 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.735419 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.735434 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:45.735445 've \r\n' 02:02:45.735534 < 6 bytes data, client => server 02:02:45.735549 'CAPA\r\n' 02:02:45.735720 Received DATA (on stdin) 02:02:45.735733 > 27 bytes data, server => client 02:02:45.735744 '-ERR Unrecognized command\r\n' 02:02:45.735803 < 21 bytes data, client => server 02:02:45.735816 'RETR verifiedserver\r\n' 02:02:45.735970 Received DATA (on stdin) 02:02:45.735982 > 26 bytes data, server => client 02:02:45.735993 '+OK Mail transfer starts\r\n' 02:02:45.736018 Received DATA (on stdin) 02:02:45.736029 > 18 bytes data, server => client 02:02:45.736040 'WE ROOLZ: 117765\r\n' 02:02:45.736054 Received DATA (on stdin) 02:02:45.736063 > 3 bytes data, server => client 02:02:45.736073 '.\r\n' 02:02:45.779015 < 6 bytes data, client => server 02:02:45.779040 'QUIT\r\n' 02:02:45.781827 Received DATA (on stdin) 02:02:45.781996 > 34 bytes data, server => client 02:02:45.782011 '+OK curl POP3 server signing off\r\n' 02:02:45.784223 ====> Client disconnect 02:02:45.784392 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 894 === End of file server.cmd === Start of file valgrind894 ==120389== ==120389== Process terminating with default action of signal 4 (SIGILL) ==120389== Illegal opcode at address 0x10B08D ==120389== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120389== by 0x10B08D: main (tool_main.c:232) === End of file valgrind894 test 0898...[HTTP with custom auth and cookies redirected to HTTP on a diff port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind898 ../src/curl -q --output log/7/curl898.out --include --trace-ascii log/7/trace898 --trace-config all --trace-time -x http://127.0.0.1:43753 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/7/stdout898 2> log/7/stderr898 898: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 898 === Start of file http_server.log 02:02:45.823405 ====> Client connect 02:02:45.823437 accept_connection 3 returned 4 02:02:45.823452 accept_connection 3 returned 0 02:02:45.823466 Read 93 bytes 02:02:45.823477 Process 93 bytes request 02:02:45.823492 Got request: GET /verifiedserver HTTP/1.1 02:02:45.823502 Are-we-friendly question received 02:02:45.823523 Wrote request (93 bytes) input to log/7/server.input 02:02:45.823540 Identifying ourselves as friends 02:02:45.823601 Response sent (56 bytes) and written to log/7/server.response 02:02:45.823612 special request received, no persistency 02:02:45.823624 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 898 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind898 ==120419== ==120419== Process terminating with default action of signal 4 (SIGILL) ==120419== Illegal opcode at address 0x10B08D ==120419== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120419== by 0x10B08CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind897 ../src/curl -q --output log/8/curl897.out --include --trace-ascii log/8/trace897 --trace-config all --trace-time 'imap://127.0.0.1:34799/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/8/head-897 > log/8/stdout897 2> log/8/stderr897 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind895 ../src/curl -q --output log/3/curl895.out --include --trace-ascii log/3/trace895 --trace-config all --trace-time 'imap://127.0.0.1:36589/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/3/stdout895 2> log/3/stderr895 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind896 ../src/curl -q --output log/11/curl896.out --include --trace-ascii log/11/trace896 --trace-config all --trace-time 'imap://127.0.0.1:39451/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/11/stdout896 2> log/11/stderr896 D: main (tool_main.c:232) === End of file valgrind898 test 0897...[IMAP and envelope meta data after body transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind897 ../src/curl -q --output log/8/curl897.out --include --trace-ascii log/8/trace897 --trace-config all --trace-time 'imap://127.0.0.1:34799/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/8/head-897 > log/8/stdout897 2> log/8/stderr897 897: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 897 === Start of file imap_server.log 02:02:45.598038 ====> Client connect 02:02:45.598177 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:45.605100 < "A001 CAPABILITY" 02:02:45.605157 > "A001 BAD Command[CR][LF]" 02:02:45.605372 < "A002 LIST "verifiedserver" *" 02:02:45.605401 LIST_imap got "verifiedserver" * 02:02:45.605427 > "* LIST () "/" "WE ROOLZ: 114664"[CR][LF]" 02:02:45.605445 > "A002 OK LIST Completed[CR][LF]" 02:02:45.605463 return proof we are we 02:02:45.648883 < "A003 LOGOUT" 02:02:45.648933 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:45.648953 > "A003 OK LOGOUT completed[CR][LF]" 02:02:45.694161 MAIN sockfilt said DISC 02:02:45.694206 ====> Client disconnected 02:02:45.694263 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:45.797518 ====> Client connect 02:02:45.798328 Received DATA (on stdin) 02:02:45.798345 > 178 bytes data, server => client 02:02:45.798359 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.798370 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.798382 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:45.798392 'rve\r\n' 02:02:45.804542 < 17 bytes data, client => server 02:02:45.804576 'A001 CAPABILITY\r\n' 02:02:45.805305 Received DATA (on stdin) 02:02:45.805320 > 18 bytes data, server => client 02:02:45.805332 'A001 BAD Command\r\n' 02:02:45.805417 < 30 bytes data, client => server 02:02:45.805433 'A002 LIST "verifiedserver" *\r\n' 02:02:45.805601 Received DATA (on stdin) 02:02:45.805614 > 34 bytes data, server => client 02:02:45.805625 '* LIST () "/" "WE ROOLZ: 114664"\r\n' 02:02:45.805651 Received DATA (on stdin) 02:02:45.805663 > 24 bytes data, server => client 02:02:45.805673 'A002 OK LIST Completed\r\n' 02:02:45.848863 < 13 bytes data, client => server 02:02:45.848888 'A003 LOGOUT\r\n' 02:02:45.849094 Received DATA (on stdin) 02:02:45.849108 > 36 bytes data, server => client 02:02:45.849119 '* BYE curl IMAP server signing off\r\n' 02:02:45.849145 Received DATA (on stdin) 02:02:45.849155 > 26 bytes data, server => client 02:02:45.849166 'A003 OK LOGOUT completed\r\n' 02:02:45.894232 ====> Client disconnect 02:02:45.894403 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd POSTFETCH extra stuff sent in the envelope after the body Testnum 897 === End of file server.cmd === Start of file valgrind897 ==120500== ==120500== Process terminating with default action of signal 4 (SIGILL) ==120500== Illegal opcode at address 0x10B08D ==120500== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120500== by 0x10B08D: main (tool_main.c:232) === End of file valgrind897 test 0895...[IMAP with --login-options 'AUTH=*'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind895 ../src/curl -q --output log/3/curl895.out --include --trace-ascii log/3/trace895 --trace-config all --trace-time 'imap://127.0.0.1:36589/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/3/stdout895 2> log/3/stderr895 895: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 895 === Start of file imap_server.log 02:02:45.598137 ====> Client connect 02:02:45.598255 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:45.598592 < "A001 CAPABILITY" 02:02:45.598639 > "A001 BAD Command[CR][LF]" 02:02:45.598833 < "A002 LIST "verifiedserver" *" 02:02:45.598862 LIST_imap got "verifiedserver" * 02:02:45.598886 > "* LIST () "/" "WE ROOLZ: 114723"[CR][LF]" 02:02:45.598903 > "A002 OK LIST Completed[CR][LF]" 02:02:45.598915 return proof we are we 02:02:45.645357 < "A003 LOGOUT" 02:02:45.645416 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:45.645437 > "A003 OK LOGOUT completed[CR][LF]" 02:02:45.693694 MAIN sockfilt said DISC 02:02:45.693760 ====> Client disconnected 02:02:45.693840 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:44.798190 ====> Client connect 02:02:44.798406 Received DATA (on stdin) 02:02:44.798423 > 178 bytes data, server => client 02:02:44.798436 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:44.798449 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:44.798461 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:44.798471 'rve\r\n' 02:02:44.798572 < 17 bytes data, client => server 02:02:44.798592 'A001 CAPABILITY\r\n' 02:02:44.798785 Received DATA (on stdin) 02:02:44.798800 > 18 bytes data, server => client 02:02:44.798811 'A001 BAD Command\r\n' 02:02:44.798876 < 30 bytes data, client => server 02:02:44.798889 'A002 LIST "verifiedserver" *\r\n' 02:02:44.799054 Received DATA (on stdin) 02:02:44.799068 > 34 bytes data, server => client 02:02:44.799080 '* LIST () "/" "WE ROOLZ: 114723"\r\n' 02:02:44.799108 Received DATA (on stdin) 02:02:44.799121 > 24 bytes data, server => client 02:02:44.799132 'A002 OK LIST Completed\r\n' 02:02:44.845295 < 13 bytes data, client => server 02:02:44.845327 'A003 LOGOUT\r\n' 02:02:44.845581 Received DATA (on stdin) 02:02:44.845598 > 36 bytes data, server => client 02:02:44.845610 '* BYE curl IMAP server signing off\r\n' 02:02:44.845645 Received DATA (on stdin) 02:02:44.845659 > 26 bytes data, server => client 02:02:44.845671 'A003 OK LOGOUT completed\r\n' 02:02:44.893741 ====> Client disconnect 02:02:44.893991 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 895 === End of file server.cmd === Start of file valgrind895 ==120502== ==120502== Process terminating with default action of signal 4 (SIGILL) ==120502== Illegal opcode at address 0x10B08D ==120502== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120502== by 0x10B08D: main (tool_main.c:232) === End of file valgrind895 test 0896...[IMAP with --login-options 'AUTH=dummy' (failing)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind896 ../src/curl -q --output log/11/curl896.out --include --trace-ascii log/11/trace896 --trace-config all --trace-time 'imap://127.0.0.1:39451/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/11/stdout896 2> log/11/stderr896 curl returned 132, when expecting 3 896: exit FAILED == Contents of files in the log/11/ dir after test 896 === Start of file imap_server.log 02:02:45.623410 ====> Client connect 02:02:45.623557 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:45.623860 < "A001 CAPABILITY" 02:02:45.623898 > "A001 BAD Command[CR][LF]" CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind899 ../src/curl -q --output log/10/curl899.out --include --trace-ascii log/10/trace899 --trace-config all --trace-time http://first:secret@127.0.0.1:42929/899 -L > log/10/stdout899 2> log/10/stderr899 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind904 ../src/curl -q --output log/12/curl904.out --include --trace-ascii log/12/trace904 --trace-config all --trace-time smtp://127.0.0.1:34955/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/12/stdout904 2> log/12/stderr904 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind906 ../src/curl -q --output log/1/curl906.out --include --trace-ascii log/1/trace906 --trace-config all --trace-time smtp://127.0.0.1:41437/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/1/stdout906 2> log/1/stderr906 02:02:45.624083 < "A002 LIST "verifiedserver" *" 02:02:45.624113 LIST_imap got "verifiedserver" * 02:02:45.624141 > "* LIST () "/" "WE ROOLZ: 114875"[CR][LF]" 02:02:45.624161 > "A002 OK LIST Completed[CR][LF]" 02:02:45.624175 return proof we are we 02:02:45.668964 < "A003 LOGOUT" 02:02:45.669017 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:45.669036 > "A003 OK LOGOUT completed[CR][LF]" 02:02:45.716388 MAIN sockfilt said DISC 02:02:45.716452 ====> Client disconnected 02:02:45.716518 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:45.823454 ====> Client connect 02:02:45.823710 Received DATA (on stdin) 02:02:45.823727 > 178 bytes data, server => client 02:02:45.823740 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:45.823753 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:45.823765 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:45.823775 'rve\r\n' 02:02:45.823853 < 17 bytes data, client => server 02:02:45.823870 'A001 CAPABILITY\r\n' 02:02:45.824041 Received DATA (on stdin) 02:02:45.824055 > 18 bytes data, server => client 02:02:45.824067 'A001 BAD Command\r\n' 02:02:45.824129 < 30 bytes data, client => server 02:02:45.824144 'A002 LIST "verifiedserver" *\r\n' 02:02:45.824314 Received DATA (on stdin) 02:02:45.824328 > 34 bytes data, server => client 02:02:45.824340 '* LIST () "/" "WE ROOLZ: 114875"\r\n' 02:02:45.824366 Received DATA (on stdin) 02:02:45.824378 > 24 bytes data, server => client 02:02:45.824389 'A002 OK LIST Completed\r\n' 02:02:45.868916 < 13 bytes data, client => server 02:02:45.868948 'A003 LOGOUT\r\n' 02:02:45.869147 Received DATA (on stdin) 02:02:45.869166 > 36 bytes data, server => client 02:02:45.869177 '* BYE curl IMAP server signing off\r\n' 02:02:45.869205 Received DATA (on stdin) 02:02:45.869215 > 26 bytes data, server => client 02:02:45.869224 'A003 OK LOGOUT completed\r\n' 02:02:45.916428 ====> Client disconnect 02:02:45.918587 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 896 === End of file server.cmd === Start of file valgrind896 ==120574== ==120574== Process terminating with default action of signal 4 (SIGILL) ==120574== Illegal opcode at address 0x10B08D ==120574== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120574== by 0x10B08D: main (tool_main.c:232) === End of file valgrind896 test 0899...[URL with credentials redirects to URL with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind899 ../src/curl -q --output log/10/curl899.out --include --trace-ascii log/10/trace899 --trace-config all --trace-time http://first:secret@127.0.0.1:42929/899 -L > log/10/stdout899 2> log/10/stderr899 899: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 899 === Start of file http_server.log 02:02:46.039099 ====> Client connect 02:02:46.039132 accept_connection 3 returned 4 02:02:46.039149 accept_connection 3 returned 0 02:02:46.039163 Read 93 bytes 02:02:46.039174 Process 93 bytes request 02:02:46.039189 Got request: GET /verifiedserver HTTP/1.1 02:02:46.039199 Are-we-friendly question received 02:02:46.039222 Wrote request (93 bytes) input to log/10/server.input 02:02:46.039240 Identifying ourselves as friends 02:02:46.039309 Response sent (56 bytes) and written to log/10/server.response 02:02:46.039321 special request received, no persistency 02:02:46.039331 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 899 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind899 ==120659== ==120659== Process terminating with default action of signal 4 (SIGILL) ==120659== Illegal opcode at address 0x10B08D ==120659== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120659== by 0x10B08D: main (tool_main.c:232) === End of file valgrind899 test 0904...[SMTP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind904 ../src/curl -q --output log/12/curl904.out --include --trace-ascii log/12/trace904 --trace-config all --trace-time smtp://127.0.0.1:34955/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/12/stdout904 2> log/12/stderr904 904: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 904 === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 VXNlcm5hbWU6 REPLY dXNlcg== 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 904 === End of file server.cmd === Start of file smtp_server.log 02:02:46.139911 ====> Client connect 02:02:46.140028 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.140440 < "EHLO verifiedserver" 02:02:46.140483 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.140649 < "HELP" 02:02:46.140677 > "214 WE ROOLZ: 109452[CR][LF]" 02:02:46.140690 return proof we are we 02:02:46.140887 < "QUIT" 02:02:46.140913 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.141051 MAIN sockfilt said DISC 02:02:46.141079 ====> Client disconnected 02:02:46.141132 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.339950 ====> Client connect 02:02:46.340175 Received DATA (on stdin) 02:02:46.340283 > 160 bytes data, server => client 02:02:46.340297 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.340310 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.340321 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.340433 < 21 bytes data, client => server 02:02:46.340445 'EHLO verifiedserver\r\n' 02:02:46.340624 Received DATA (on stdin) 02:02:46.340640 > 53 bytes data, server => client 02:02:46.340651 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.340706 < 6 bytes data, client => server 02:02:46.340716 'HELP\r\n' 02:02:46.340826 Received DATA (on stdin) 02:02:46.340837 > 22 bytes data, server => client 02:02:46.340847 '214 WE ROOLZ: 109452\r\n' 02:02:46.340945 < 6 bytes data, client => server 02:02:46.340958 'QUIT\r\n' 02:02:46.341050 Received DATA (on stdin) 02:02:46.341061 > 35 bytes data, server => client 02:02:46.341071 '221 curl ESMTP server signing off\r\n' 02:02:46.341141 ====> Client disconnect 02:02:46.341243 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-904 mail body === End of file stdin-for-904 === Start of file valgrind904 ==120746== ==120746== Process terminating with default action of signal 4 (SIGILL) ==120746== Illegal opcode at address 0x10B08D ==120746== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120746== by 0x10B08D: main (tool_main.c:232) === End of file valgrind904 test 0906...[SMTP NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind910 ../src/curl -q --output log/3/curl910.out --include --trace-ascii log/3/trace910 --trace-config all --trace-time smtp://127.0.0.1:33609/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout910 2> log/3/stderr910 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind913 ../src/curl -q --output log/12/curl913.out --include --trace-ascii log/12/trace913 --trace-config all --trace-time smtp://127.0.0.1:34955/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/12/test913.eml > log/12/stdout913 2> log/12/stderr913 ressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind906 ../src/curl -q --output log/1/curl906.out --include --trace-ascii log/1/trace906 --trace-config all --trace-time smtp://127.0.0.1:41437/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/1/stdout906 2> log/1/stderr906 906: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 906 === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 906 === End of file server.cmd === Start of file smtp_server.log 02:02:46.270898 ====> Client connect 02:02:46.271016 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.271297 < "EHLO verifiedserver" 02:02:46.271336 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.271494 < "HELP" 02:02:46.271524 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:46.271539 return proof we are we 02:02:46.271699 < "QUIT" 02:02:46.271727 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.271892 MAIN sockfilt said DISC 02:02:46.271916 ====> Client disconnected 02:02:46.271960 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.470945 ====> Client connect 02:02:46.471172 Received DATA (on stdin) 02:02:46.471188 > 160 bytes data, server => client 02:02:46.471201 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.471213 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.471223 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.471298 < 21 bytes data, client => server 02:02:46.471312 'EHLO verifiedserver\r\n' 02:02:46.471466 Received DATA (on stdin) 02:02:46.471479 > 53 bytes data, server => client 02:02:46.471488 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.471539 < 6 bytes data, client => server 02:02:46.471552 'HELP\r\n' 02:02:46.471652 Received DATA (on stdin) 02:02:46.471665 > 22 bytes data, server => client 02:02:46.471676 '214 WE ROOLZ: 109154\r\n' 02:02:46.471758 < 6 bytes data, client => server 02:02:46.471771 'QUIT\r\n' 02:02:46.471869 Received DATA (on stdin) 02:02:46.471881 > 35 bytes data, server => client 02:02:46.471892 '221 curl ESMTP server signing off\r\n' 02:02:46.471986 ====> Client disconnect 02:02:46.472096 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-906 mail body === End of file stdin-for-906 === Start of file valgrind906 ==120814== ==120814== Process terminating with default action of signal 4 (SIGILL) ==120814== Illegal opcode at address 0x10B08D ==120814== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120814== by 0x10B08D: main (tool_main.c:232) === End of file valgrind906 test 0910...[SMTP without terminating CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind910 ../src/curl -q --output log/3/curl910.out --include --trace-ascii log/3/trace910 --trace-config all --trace-time smtp://127.0.0.1:33609/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout910 2> log/3/stderr910 910: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 910 === Start of file server.cmd Testnum 910 === End of file server.cmd === Start of file smtp_server.log 02:02:46.412772 ====> Client connect 02:02:46.412903 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.413176 < "EHLO verifiedserver" 02:02:46.413212 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.413376 < "HELP" 02:02:46.413404 > "214 WE ROOLZ: 109380[CR][LF]" 02:02:46.413418 return proof we are we 02:02:46.413623 < "QUIT" 02:02:46.413648 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.413827 MAIN sockfilt said DISC 02:02:46.413853 ====> Client disconnected 02:02:46.413913 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.612707 ====> Client connect 02:02:46.613051 Received DATA (on stdin) 02:02:46.613065 > 160 bytes data, server => client 02:02:46.613078 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.613089 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.613100 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.613182 < 21 bytes data, client => server 02:02:46.613195 'EHLO verifiedserver\r\n' 02:02:46.613352 Received DATA (on stdin) 02:02:46.613365 > 53 bytes data, server => client 02:02:46.613377 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.613432 < 6 bytes data, client => server 02:02:46.613444 'HELP\r\n' 02:02:46.613555 Received DATA (on stdin) 02:02:46.613566 > 22 bytes data, server => client 02:02:46.613576 '214 WE ROOLZ: 109380\r\n' 02:02:46.613681 < 6 bytes data, client => server 02:02:46.613695 'QUIT\r\n' 02:02:46.613785 Received DATA (on stdin) 02:02:46.613797 > 35 bytes data, server => client 02:02:46.613808 '221 curl ESMTP server signing off\r\n' 02:02:46.613919 ====> Client disconnect 02:02:46.614051 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-910 From: different To: another body === End of file stdin-for-910 === Start of file valgrind910 ==120884== ==120884== Process terminating with default action of signal 4 (SIGILL) ==120884== Illegal opcode at address 0x10B08D ==120884== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120884== by 0x10B08D: main (tool_main.c:232) === End of file valgrind910 test 0913...[SMTP with large message SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind913 ../src/curl -q --output log/12/curl913.out --include --trace-ascii log/12/trace913 --trace-config all --trace-time smtp://127.0.0.1:34955/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/12/test913.eml > log/12/stdout913 2> log/12/stderr913 913: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 913 === Start of file server.cmd CAPA "SIZE 32" Testnum 913 === End of file server.cmd === Start of file smtp_server.log 02:02:46.734203 ====> Client connect 02:02:46.734314 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.734535 < "EHLO verifiedserver" 02:02:46.734568 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.734705 < "HELP" 02:02:46.734728 > "214 WE ROOLZ: 109452[CR][LF]" 02:02:46.734739 return proof we are we 02:02:46.734900 < "QUIT" 02:02:46.734919 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.735065 MAIN sockfilt said DISC 02:02:46.735089 ====> Client disconnected 02:02:46.735138 Awaiting input === End of file smtp_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind914 ../src/curl -q --output log/1/curl914.out --include --trace-ascii log/1/trace914 --trace-config all --trace-time smtp://127.0.0.1:41437/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/1/test914.eml > log/1/stdout914 2> log/1/stderr914 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind900 ../src/curl -q --output log/5/curl900.out --include --trace-ascii log/5/trace900 --trace-config all --trace-time smtp://127.0.0.1:42001/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/5/stdout900 2> log/5/stderr900 server.log === Start of file smtp_sockfilt.log 02:02:46.934253 ====> Client connect 02:02:46.934457 Received DATA (on stdin) 02:02:46.934469 > 160 bytes data, server => client 02:02:46.934478 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.934487 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.934494 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.934561 < 21 bytes data, client => server 02:02:46.934571 'EHLO verifiedserver\r\n' 02:02:46.934705 Received DATA (on stdin) 02:02:46.934715 > 53 bytes data, server => client 02:02:46.934723 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.934771 < 6 bytes data, client => server 02:02:46.934779 'HELP\r\n' 02:02:46.934872 Received DATA (on stdin) 02:02:46.934881 > 22 bytes data, server => client 02:02:46.934888 '214 WE ROOLZ: 109452\r\n' 02:02:46.934969 < 6 bytes data, client => server 02:02:46.934980 'QUIT\r\n' 02:02:46.935052 Received DATA (on stdin) 02:02:46.935060 > 35 bytes data, server => client 02:02:46.935068 '221 curl ESMTP server signing off\r\n' 02:02:46.935158 ====> Client disconnect 02:02:46.935275 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test913.eml From: different To: another body === End of file test913.eml === Start of file valgrind913 ==120955== ==120955== Process terminating with default action of signal 4 (SIGILL) ==120955== Illegal opcode at address 0x10B08D ==120955== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==120955== by 0x10B08D: main (tool_main.c:232) === End of file valgrind913 test 0914...[SMTP invalid --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind914 ../src/curl -q --output log/1/curl914.out --include --trace-ascii log/1/trace914 --trace-config all --trace-time smtp://127.0.0.1:41437/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/1/test914.eml > log/1/stdout914 2> log/1/stderr914 914: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 914 === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 914 === End of file server.cmd === Start of file smtp_server.log 02:02:46.839802 ====> Client connect 02:02:46.839949 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.840229 < "EHLO verifiedserver" 02:02:46.840268 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.840443 < "HELP" 02:02:46.840474 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:46.840490 return proof we are we 02:02:46.840710 < "QUIT" 02:02:46.840737 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.841470 MAIN sockfilt said DISC 02:02:46.841497 ====> Client disconnected 02:02:46.841548 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.039824 ====> Client connect 02:02:47.040102 Received DATA (on stdin) 02:02:47.040119 > 160 bytes data, server => client 02:02:47.040132 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.040143 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.040154 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.040229 < 21 bytes data, client => server 02:02:47.040243 'EHLO verifiedserver\r\n' 02:02:47.040411 Received DATA (on stdin) 02:02:47.040424 > 53 bytes data, server => client 02:02:47.040435 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.040492 < 6 bytes data, client => server 02:02:47.040506 'HELP\r\n' 02:02:47.040628 Received DATA (on stdin) 02:02:47.040640 > 22 bytes data, server => client 02:02:47.040651 '214 WE ROOLZ: 109154\r\n' 02:02:47.040761 < 6 bytes data, client => server 02:02:47.040776 'QUIT\r\n' 02:02:47.040877 Received DATA (on stdin) 02:02:47.040889 > 35 bytes data, server => client 02:02:47.040899 '221 curl ESMTP server signing off\r\n' 02:02:47.041560 ====> Client disconnect 02:02:47.041689 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test914.eml From: different To: another body === End of file test914.eml === Start of file valgrind914 ==121024== ==121024== Process terminating with default action of signal 4 (SIGILL) ==121024== Illegal opcode at address 0x10B08D ==121024== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121024== by 0x10B08D: main (tool_main.c:232) === End of file valgrind914 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/smtp_server.pid" --logfile "log/5/smtp_server.log" --logdir "log/5" --portfile "log/5/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42001 (log/5/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:42001/verifiedserver" 2>log/5/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120666 port 42001 * pid smtp => 120666 120666 test 0900...[SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind900 ../src/curl -q --output log/5/curl900.out --include --trace-ascii log/5/trace900 --trace-config all --trace-time smtp://127.0.0.1:42001/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/5/stdout900 2> log/5/stderr900 900: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 900 === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 02:02:45.941918 SMTP server listens on port IPv4/42001 02:02:45.942011 logged pid 120666 in log/5/server/smtp_server.pid 02:02:45.942038 Awaiting input 02:02:46.903986 ====> Client connect 02:02:46.904135 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.904434 < "EHLO verifiedserver" 02:02:46.904478 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.904648 < "HELP" 02:02:46.904682 > "214 WE ROOLZ: 120666[CR][LF]" 02:02:46.904698 return proof we are we 02:02:46.904914 < "QUIT" 02:02:46.904940 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.905071 MAIN sockfilt said DISC 02:02:46.905097 ====> Client disconnected 02:02:46.905153 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:45.138716 Running IPv4 version 02:02:45.138810 Listening on port 42001 02:02:45.138855 Wrote pid 120697 to log/5/server/smtp_sockfilt.pid 02:02:45.138890 Wrote port 42001 to log/5/server/smtp_server.port 02:02:45.141952 Received PING (on stdin) 02:02:46.104040 ====> Client connect 02:02:46.104286 Received DATA (on stdin) 02:02:46.104300 > 160 bytes data, server => client 02:02:46.104314 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.104326 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.104337 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.104417 < 21 bytes data, client => server 02:02:46.104432 'EHLO verifiedserver\r\n' 02:02:46.104620 Received DATA (on stdin) 02:02:46.104632 > 53 bytes data, server => client 02:02:46.104644 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.104701 < 6 bytes data, client => server 02:02:46.104713 'HELP\r\n' 02:02:46.104835 Received DATA (on stdin) 02:02:46.104848 > 22 bytes data, server => client 02:02:46.104858 '214 WE ROOLZ: 120666\r\n' 02:02:4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind903 ../src/curl -q --output log/2/curl903.out --include --trace-ascii log/2/trace903 --trace-config all --trace-time smtp://127.0.0.1:40763/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout903 2> log/2/stderr903 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind901 ../src/curl -q --output log/9/curl901.out --include --trace-ascii log/9/trace901 --trace-config all --trace-time smtp://127.0.0.1:46307/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/9/stdout901 2> log/9/stderr901 6.104964 < 6 bytes data, client => server 02:02:46.104980 'QUIT\r\n' 02:02:46.105079 Received DATA (on stdin) 02:02:46.105091 > 35 bytes data, server => client 02:02:46.105102 '221 curl ESMTP server signing off\r\n' 02:02:46.105163 ====> Client disconnect 02:02:46.105917 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-900 From: different To: another body === End of file stdin-for-900 === Start of file valgrind900 ==121120== ==121120== Process terminating with default action of signal 4 (SIGILL) ==121120== Illegal opcode at address 0x10B08D ==121120== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121120== by 0x10B08D: main (tool_main.c:232) === End of file valgrind900 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/smtp_server.pid" --logfile "log/2/smtp_server.log" --logdir "log/2" --portfile "log/2/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40763 (log/2/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:40763/verifiedserver" 2>log/2/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120689 port 40763 * pid smtp => 120689 120689 test 0903...[SMTP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind903 ../src/curl -q --output log/2/curl903.out --include --trace-ascii log/2/trace903 --trace-config all --trace-time smtp://127.0.0.1:40763/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout903 2> log/2/stderr903 903: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 903 === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 903 === End of file server.cmd === Start of file smtp_server.log 02:02:45.956129 SMTP server listens on port IPv4/40763 02:02:45.956204 logged pid 120689 in log/2/server/smtp_server.pid 02:02:45.956230 Awaiting input 02:02:46.946432 ====> Client connect 02:02:46.946600 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.947277 < "EHLO verifiedserver" 02:02:46.947321 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.947759 < "HELP" 02:02:46.947791 > "214 WE ROOLZ: 120689[CR][LF]" 02:02:46.947806 return proof we are we 02:02:46.948107 < "QUIT" 02:02:46.948134 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.948619 MAIN sockfilt said DISC 02:02:46.948647 ====> Client disconnected 02:02:46.948701 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:45.155855 Running IPv4 version 02:02:45.155947 Listening on port 40763 02:02:45.155985 Wrote pid 120700 to log/2/server/smtp_sockfilt.pid 02:02:45.156014 Wrote port 40763 to log/2/server/smtp_server.port 02:02:45.156179 Received PING (on stdin) 02:02:46.146459 ====> Client connect 02:02:46.146913 Received DATA (on stdin) 02:02:46.146930 > 160 bytes data, server => client 02:02:46.146942 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.146954 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.146965 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.147257 < 21 bytes data, client => server 02:02:46.147274 'EHLO verifiedserver\r\n' 02:02:46.147716 Received DATA (on stdin) 02:02:46.147732 > 53 bytes data, server => client 02:02:46.147744 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.147803 < 6 bytes data, client => server 02:02:46.147816 'HELP\r\n' 02:02:46.147953 Received DATA (on stdin) 02:02:46.147966 > 22 bytes data, server => client 02:02:46.147977 '214 WE ROOLZ: 120689\r\n' 02:02:46.148151 < 6 bytes data, client => server 02:02:46.148167 'QUIT\r\n' 02:02:46.148341 Received DATA (on stdin) 02:02:46.148355 > 35 bytes data, server => client 02:02:46.148366 '221 curl ESMTP server signing off\r\n' 02:02:46.148710 ====> Client disconnect 02:02:46.148841 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-903 mail body === End of file stdin-for-903 === Start of file valgrind903 ==121177== ==121177== Process terminating with default action of signal 4 (SIGILL) ==121177== Illegal opcode at address 0x10B08D ==121177== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121177== by 0x10B08D: main (tool_main.c:232) === End of file valgrind903 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/smtp_server.pid" --logfile "log/9/smtp_server.log" --logdir "log/9" --portfile "log/9/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46307 (log/9/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:46307/verifiedserver" 2>log/9/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120680 port 46307 * pid smtp => 120680 120680 test 0901...[SMTP with CRLF-dot-CRLF in data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind901 ../src/curl -q --output log/9/curl901.out --include --trace-ascii log/9/trace901 --trace-config all --trace-time smtp://127.0.0.1:46307/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/9/stdout901 2> log/9/stderr901 901: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 901 === Start of file server.cmd Testnum 901 === End of file server.cmd === Start of file smtp_server.log 02:02:45.969703 SMTP server listens on port IPv4/46307 02:02:45.969793 logged pid 120680 in log/9/server/smtp_server.pid 02:02:45.969820 Awaiting input 02:02:46.937819 ====> Client connect 02:02:46.937983 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.938285 < "EHLO verifiedserver" 02:02:46.938326 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.938506 < "HELP" 02:02:46.938536 > "214 WE ROOLZ: 120680[CR][LF]" 02:02:46.938550 return proof we are we 02:02:46.938735 < "QUIT" 02:02:46.938762 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.939543 MAIN sockfilt said DISC 02:02:46.939570 ====> Client disconnected 02:02:46.939624 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:45.165666 Running IPv4 version 02:02:45.165742 Listening on port 46307 02:02:45.165784 Wrote pid 120710 to log/9/server/smtp_sockfilt.pid 02:02:45.165817 Wrote port 46307 to log/9/server/smtp_server.port 02:02:45.169731 Received PING (on stdin) 02:02:46.137875 ====> Client connect 02:02:46.138129 Received DATA (on stdin) 02:02:46.138143 > 160 bytes data, server => client 02:02:46.138155 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.138167 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.138182 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.138275 < 21 bytes data, client => server 02:02:46.138287 'EHLO verifiedserver\r\n' 02:02:46.138466 Received DATA (on stdin) 02:02:46.138490 > 53 bytes data, server => client 02:02:46.138501 '250 ESMTP pingpong test server Hello verifiedserveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind902 ../src/curl -q --output log/4/curl902.out --include --trace-ascii log/4/trace902 --trace-config all --trace-time smtp://127.0.0.1:35635/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout902 2> log/4/stderr902 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind915 ../src/curl -q --output log/3/curl915.out --include --trace-ascii log/3/trace915 --trace-config all --trace-time smtp://127.0.0.1:33609/915 --mail-rcpt recipient@example.com -T - log/3/stdout915 2> log/3/stderr915 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind905 ../src/curl -q --output log/6/curl905.out --include --trace-ascii log/6/trace905 --trace-config all --trace-time smtp://127.0.0.1:36521/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout905 2> log/6/stderr905 r\r\n' 02:02:46.138555 < 6 bytes data, client => server 02:02:46.138566 'HELP\r\n' 02:02:46.138687 Received DATA (on stdin) 02:02:46.138699 > 22 bytes data, server => client 02:02:46.138709 '214 WE ROOLZ: 120680\r\n' 02:02:46.138791 < 6 bytes data, client => server 02:02:46.138806 'QUIT\r\n' 02:02:46.138900 Received DATA (on stdin) 02:02:46.138912 > 35 bytes data, server => client 02:02:46.138923 '221 curl ESMTP server signing off\r\n' 02:02:46.139634 ====> Client disconnect 02:02:46.139765 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-901 From: different To: another . . . body === End of file stdin-for-901 === Start of file valgrind901 ==121154== ==121154== Process terminating with default action of signal 4 (SIGILL) ==121154== Illegal opcode at address 0x10B08D ==121154== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121154== by 0x10B08D: main (tool_main.c:232) === End of file valgrind901 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/smtp_server.pid" --logfile "log/4/smtp_server.log" --logdir "log/4" --portfile "log/4/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35635 (log/4/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:35635/verifiedserver" 2>log/4/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120686 port 35635 * pid smtp => 120686 120686 test 0902...[RFC821-only SMTP server (EHLO not supported)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind902 ../src/curl -q --output log/4/curl902.out --include --trace-ascii log/4/trace902 --trace-config all --trace-time smtp://127.0.0.1:35635/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout902 2> log/4/stderr902 902: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 902 === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 902 === End of file server.cmd === Start of file smtp_server.log 02:02:45.957335 SMTP server listens on port IPv4/35635 02:02:45.957407 logged pid 120686 in log/4/server/smtp_server.pid 02:02:45.957430 Awaiting input 02:02:46.951473 ====> Client connect 02:02:46.951617 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:46.951886 < "EHLO verifiedserver" 02:02:46.951932 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:46.952122 < "HELP" 02:02:46.952153 > "214 WE ROOLZ: 120686[CR][LF]" 02:02:46.952167 return proof we are we 02:02:46.952361 < "QUIT" 02:02:46.952387 > "221 curl ESMTP server signing off[CR][LF]" 02:02:46.953097 MAIN sockfilt said DISC 02:02:46.953123 ====> Client disconnected 02:02:46.953179 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:45.157154 Running IPv4 version 02:02:45.157203 Listening on port 35635 02:02:45.157242 Wrote pid 120703 to log/4/server/smtp_sockfilt.pid 02:02:45.157273 Wrote port 35635 to log/4/server/smtp_server.port 02:02:45.157397 Received PING (on stdin) 02:02:46.151540 ====> Client connect 02:02:46.151751 Received DATA (on stdin) 02:02:46.151765 > 160 bytes data, server => client 02:02:46.151777 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.151789 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.151799 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.151882 < 21 bytes data, client => server 02:02:46.151895 'EHLO verifiedserver\r\n' 02:02:46.152092 Received DATA (on stdin) 02:02:46.152105 > 53 bytes data, server => client 02:02:46.152117 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.152173 < 6 bytes data, client => server 02:02:46.152185 'HELP\r\n' 02:02:46.152304 Received DATA (on stdin) 02:02:46.152316 > 22 bytes data, server => client 02:02:46.152326 '214 WE ROOLZ: 120686\r\n' 02:02:46.152420 < 6 bytes data, client => server 02:02:46.152433 'QUIT\r\n' 02:02:46.152525 Received DATA (on stdin) 02:02:46.152536 > 35 bytes data, server => client 02:02:46.152547 '221 curl ESMTP server signing off\r\n' 02:02:46.153189 ====> Client disconnect 02:02:46.153318 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-902 From: different To: another body === End of file stdin-for-902 === Start of file valgrind902 ==121211== ==121211== Process terminating with default action of signal 4 (SIGILL) ==121211== Illegal opcode at address 0x10B08D ==121211== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121211== by 0x10B08D: main (tool_main.c:232) === End of file valgrind902 test 0915...[SMTP without --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind915 ../src/curl -q --output log/3/curl915.out --include --trace-ascii log/3/trace915 --trace-config all --trace-time smtp://127.0.0.1:33609/915 --mail-rcpt recipient@example.com -T - log/3/stdout915 2> log/3/stderr915 915: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 915 === Start of file server.cmd Testnum 915 === End of file server.cmd === Start of file smtp_server.log 02:02:47.010203 ====> Client connect 02:02:47.010350 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.010685 < "EHLO verifiedserver" 02:02:47.010733 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.010934 < "HELP" 02:02:47.010967 > "214 WE ROOLZ: 109380[CR][LF]" 02:02:47.010981 return proof we are we 02:02:47.011205 < "QUIT" 02:02:47.011236 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.015097 MAIN sockfilt said DISC 02:02:47.015143 ====> Client disconnected 02:02:47.015211 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.210211 ====> Client connect 02:02:47.210503 Received DATA (on stdin) 02:02:47.210520 > 160 bytes data, server => client 02:02:47.210533 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.210545 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.210556 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.210662 < 21 bytes data, client => server 02:02:47.210681 'EHLO verifiedserver\r\n' 02:02:47.210880 Received DATA (on stdin) 02:02:47.210895 > 53 bytes data, server => client 02:02:47.210908 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.210973 < 6 bytes data, client => server 02:02:47.210987 'HELP\r\n' 02:02:47.211120 Received DATA (on stdin) 02:02:47.211133 > 22 bytes data, server => client 02:02:47.211145 '214 WE ROOLZ: 109380\r\n' 02:02:47.211244 < 6 bytes data, client => server 02:02:47.211261 'QUIT\r\n' 02:02:47.211378 Received DATA (on stdin) 02:02:47.211392 > 35 bytes data, server => client 02:02:47.211404 '221 curl ESMTP server signing off\r\n' 02:02:47.215160 ====> Client disconnect 02:02:47.215358 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-915 From: different To: another body === End of file stdin-for-915 === Start of file valgrind915 ==121355== ==121355== Process terminating with default action of signal 4 (SIGILL) ==121355== Illegal opcode at address 0x10B08D ==121355== at CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind908 ../src/curl -q --output log/7/curl908.out --include --trace-ascii log/7/trace908 --trace-config all --trace-time smtp://127.0.0.1:42825/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/7/stdout908 2> log/7/stderr908 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121355== by 0x10B08D: main (tool_main.c:232) === End of file valgrind915 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/smtp_server.pid" --logfile "log/6/smtp_server.log" --logdir "log/6" --portfile "log/6/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36521 (log/6/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:36521/verifiedserver" 2>log/6/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120742 port 36521 * pid smtp => 120742 120742 test 0905...[SMTP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind905 ../src/curl -q --output log/6/curl905.out --include --trace-ascii log/6/trace905 --trace-config all --trace-time smtp://127.0.0.1:36521/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout905 2> log/6/stderr905 905: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 905 === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== 235 Authenticated Testnum 905 === End of file server.cmd === Start of file smtp_server.log 02:02:46.166697 SMTP server listens on port IPv4/36521 02:02:46.166769 logged pid 120742 in log/6/server/smtp_server.pid 02:02:46.166795 Awaiting input 02:02:47.171502 ====> Client connect 02:02:47.171685 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.172004 < "EHLO verifiedserver" 02:02:47.172047 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.172266 < "HELP" 02:02:47.172301 > "214 WE ROOLZ: 120742[CR][LF]" 02:02:47.172316 return proof we are we 02:02:47.172500 < "QUIT" 02:02:47.172524 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.173319 MAIN sockfilt said DISC 02:02:47.173345 ====> Client disconnected 02:02:47.173405 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.366591 Running IPv4 version 02:02:46.366672 Listening on port 36521 02:02:46.366710 Wrote pid 120754 to log/6/server/smtp_sockfilt.pid 02:02:46.366739 Wrote port 36521 to log/6/server/smtp_server.port 02:02:46.366757 Received PING (on stdin) 02:02:47.371554 ====> Client connect 02:02:47.371845 Received DATA (on stdin) 02:02:47.371859 > 160 bytes data, server => client 02:02:47.371873 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.371885 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.371896 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.371985 < 21 bytes data, client => server 02:02:47.371999 'EHLO verifiedserver\r\n' 02:02:47.372241 Received DATA (on stdin) 02:02:47.372255 > 53 bytes data, server => client 02:02:47.372266 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.372320 < 6 bytes data, client => server 02:02:47.372331 'HELP\r\n' 02:02:47.372454 Received DATA (on stdin) 02:02:47.372466 > 22 bytes data, server => client 02:02:47.372476 '214 WE ROOLZ: 120742\r\n' 02:02:47.372560 < 6 bytes data, client => server 02:02:47.372573 'QUIT\r\n' 02:02:47.372661 Received DATA (on stdin) 02:02:47.372671 > 35 bytes data, server => client 02:02:47.372682 '221 curl ESMTP server signing off\r\n' 02:02:47.373408 ====> Client disconnect 02:02:47.373544 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-905 mail body === End of file stdin-for-905 === Start of file valgrind905 ==121422== ==121422== Process terminating with default action of signal 4 (SIGILL) ==121422== Illegal opcode at address 0x10B08D ==121422== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121422== by 0x10B08D: main (tool_main.c:232) === End of file valgrind905 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/smtp_server.pid" --logfile "log/7/smtp_server.log" --logdir "log/7" --portfile "log/7/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42825 (log/7/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:42825/verifiedserver" 2>log/7/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120804 port 42825 * pid smtp => 120804 120804 test 0908...[SMTP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind908 ../src/curl -q --output log/7/curl908.out --include --trace-ascii log/7/trace908 --trace-config all --trace-time smtp://127.0.0.1:42825/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/7/stdout908 2> log/7/stderr908 908: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 908 === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 908 === End of file server.cmd === Start of file smtp_server.log 02:02:46.292049 SMTP server listens on port IPv4/42825 02:02:46.292118 logged pid 120804 in log/7/server/smtp_server.pid 02:02:46.292138 Awaiting input 02:02:47.278178 ====> Client connect 02:02:47.278338 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.278671 < "EHLO verifiedserver" 02:02:47.278720 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.278894 < "HELP" 02:02:47.278931 > "214 WE ROOLZ: 120804[CR][LF]" 02:02:47.278945 return proof we are we 02:02:47.279160 < "QUIT" 02:02:47.279189 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.279359 MAIN sockfilt said DISC 02:02:47.279386 ====> Client disconnected 02:02:47.279440 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.490902 Running IPv4 version 02:02:46.490990 Listening on port 42825 02:02:46.491036 Wrote pid 120820 to log/7/server/smtp_sockfilt.pid 02:02:46.491070 Wrote port 42825 to log/7/server/smtp_server.port 02:02:46.492098 Received PING (on stdin) 02:02:47.478241 ====> Client connect 02:02:47.478494 Received DATA (on stdin) 02:02:47.478508 > 160 bytes data, server => client 02:02:47.478520 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.478532 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.478542 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.478632 < 21 bytes data, client => server 02:02:47.478652 'EHLO verifiedserver\r\n' 02:02:47.478862 Received DATA (on stdin) 02:02:47.478875 > 53 bytes data, server => client 02:02:47.478887 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.478946 < 6 bytes data, client => server 02:02:47.478958 'HELP\r\n' 02:02:47.479082 Received DATA (on stdin) 02:02:47.479093 > 22 bytes data, server => client 02:02:47.479104 '214 WE ROOLZ: 120804\r\n' 02:02:47.479213 < 6 bytes data, client => server 02:02:47.479227 'QUIT\r\n' 02:02:47.479326 Received DATA (on stdin) 02:02:47.479337 > 35 bytes data, server => clCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind916 ../src/curl -q --output log/12/curl916.out --include --trace-ascii log/12/trace916 --trace-config all --trace-time smtp://127.0.0.1:34955/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/12/stdout916 2> log/12/stderr916 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind909 ../src/curl -q --output log/8/curl909.out --include --trace-ascii log/8/trace909 --trace-config all --trace-time smtp://127.0.0.1:42443/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/8/test909.eml > log/8/stdout909 2> log/8/stderr909 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind917 ../src/curl -q --output log/1/curl917.out --include --trace-ascii log/1/trace917 --trace-config all --trace-time smtp://127.0.0.1:41437/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/1/stdout917 2> log/1/stderr917 ient 02:02:47.479348 '221 curl ESMTP server signing off\r\n' 02:02:47.479446 ====> Client disconnect 02:02:47.479577 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-908 mail body === End of file stdin-for-908 === Start of file valgrind908 ==121490== ==121490== Process terminating with default action of signal 4 (SIGILL) ==121490== Illegal opcode at address 0x10B08D ==121490== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121490== by 0x10B08D: main (tool_main.c:232) === End of file valgrind908 test 0916...[SMTP with invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind916 ../src/curl -q --output log/12/curl916.out --include --trace-ascii log/12/trace916 --trace-config all --trace-time smtp://127.0.0.1:34955/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/12/stdout916 2> log/12/stderr916 916: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 916 === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 02:02:47.338312 ====> Client connect 02:02:47.338446 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.338697 < "EHLO verifiedserver" 02:02:47.338733 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.338891 < "HELP" 02:02:47.338917 > "214 WE ROOLZ: 109452[CR][LF]" 02:02:47.338930 return proof we are we 02:02:47.339119 < "QUIT" 02:02:47.339142 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.339743 MAIN sockfilt said DISC 02:02:47.339771 ====> Client disconnected 02:02:47.339824 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.538358 ====> Client connect 02:02:47.538593 Received DATA (on stdin) 02:02:47.538607 > 160 bytes data, server => client 02:02:47.538620 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.538631 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.538642 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.538708 < 21 bytes data, client => server 02:02:47.538720 'EHLO verifiedserver\r\n' 02:02:47.538872 Received DATA (on stdin) 02:02:47.538884 > 53 bytes data, server => client 02:02:47.538896 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.538951 < 6 bytes data, client => server 02:02:47.538962 'HELP\r\n' 02:02:47.539067 Received DATA (on stdin) 02:02:47.539078 > 22 bytes data, server => client 02:02:47.539088 '214 WE ROOLZ: 109452\r\n' 02:02:47.539165 < 6 bytes data, client => server 02:02:47.539177 'QUIT\r\n' 02:02:47.539278 Received DATA (on stdin) 02:02:47.539289 > 35 bytes data, server => client 02:02:47.539300 '221 curl ESMTP server signing off\r\n' 02:02:47.539832 ====> Client disconnect 02:02:47.539967 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-916 From: different To: another body === End of file stdin-for-916 === Start of file valgrind916 ==121559== ==121559== Process terminating with default action of signal 4 (SIGILL) ==121559== Illegal opcode at address 0x10B08D ==121559== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121559== by 0x10B08D: main (tool_main.c:232) === End of file valgrind916 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/smtp_server.pid" --logfile "log/8/smtp_server.log" --logdir "log/8" --portfile "log/8/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42443 (log/8/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:42443/verifiedserver" 2>log/8/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120866 port 42443 * pid smtp => 120866 120866 test 0909...[SMTP without SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind909 ../src/curl -q --output log/8/curl909.out --include --trace-ascii log/8/trace909 --trace-config all --trace-time smtp://127.0.0.1:42443/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/8/test909.eml > log/8/stdout909 2> log/8/stderr909 909: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 909 === Start of file server.cmd Testnum 909 === End of file server.cmd === Start of file smtp_server.log 02:02:46.412842 SMTP server listens on port IPv4/42443 02:02:46.412918 logged pid 120866 in log/8/server/smtp_server.pid 02:02:46.412943 Awaiting input 02:02:47.395845 ====> Client connect 02:02:47.396013 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.396304 < "EHLO verifiedserver" 02:02:47.396345 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.396511 < "HELP" 02:02:47.396544 > "214 WE ROOLZ: 120866[CR][LF]" 02:02:47.396557 return proof we are we 02:02:47.396762 < "QUIT" 02:02:47.396787 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.397815 MAIN sockfilt said DISC 02:02:47.397848 ====> Client disconnected 02:02:47.397901 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.612593 Running IPv4 version 02:02:46.612686 Listening on port 42443 02:02:46.612726 Wrote pid 120882 to log/8/server/smtp_sockfilt.pid 02:02:46.612758 Wrote port 42443 to log/8/server/smtp_server.port 02:02:46.612898 Received PING (on stdin) 02:02:47.595910 ====> Client connect 02:02:47.596164 Received DATA (on stdin) 02:02:47.596179 > 160 bytes data, server => client 02:02:47.596192 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.596204 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.596215 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.596288 < 21 bytes data, client => server 02:02:47.596301 'EHLO verifiedserver\r\n' 02:02:47.596486 Received DATA (on stdin) 02:02:47.596498 > 53 bytes data, server => client 02:02:47.596510 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.596567 < 6 bytes data, client => server 02:02:47.596579 'HELP\r\n' 02:02:47.596694 Received DATA (on stdin) 02:02:47.596705 > 22 bytes data, server => client 02:02:47.596716 '214 WE ROOLZ: 120866\r\n' 02:02:47.596816 < 6 bytes data, client => server 02:02:47.596831 'QUIT\r\n' 02:02:47.596939 Received DATA (on stdin) 02:02:47.596950 > 35 bytes data, server => client 02:02:47.596961 '221 curl ESMTP server signing off\r\n' 02:02:47.597556 ====> Client disconnect 02:02:47.598042 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test909.eml From: different To: another body === End of file test909.eml === Start of file valgrind909 ==121640== ==121640== Process terminating with default action of signal 4 (SIGILL) ==121640== Illegal opcode at address 0x10B08D ==121640== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121640== by 0x10B08D: main (tool_main.c:232) === End of file valgrind909 test 0917...[SMTP with multiple --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind917 ../src/curl -q --output log/1/curl917.out --include --trace-ascii log/1/trace917 --trace-configCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind911 ../src/curl -q --output log/11/curl911.out --include --trace-ascii log/11/trace911 --trace-config all --trace-time smtp://127.0.0.1:33099/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/11/stdout911 2> log/11/stderr911 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind912 ../src/curl -q --output log/10/curl912.out --include --trace-ascii log/10/trace912 --trace-config all --trace-time smtp://127.0.0.1:46019/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/10/test912.eml > log/10/stdout912 2> log/10/stderr912 all --trace-time smtp://127.0.0.1:41437/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/1/stdout917 2> log/1/stderr917 917: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 917 === Start of file server.cmd Testnum 917 === End of file server.cmd === Start of file smtp_server.log 02:02:47.451541 ====> Client connect 02:02:47.451667 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.451963 < "EHLO verifiedserver" 02:02:47.452008 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.452192 < "HELP" 02:02:47.452223 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:47.452239 return proof we are we 02:02:47.452438 < "QUIT" 02:02:47.452466 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.452616 MAIN sockfilt said DISC 02:02:47.452641 ====> Client disconnected 02:02:47.452695 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.651587 ====> Client connect 02:02:47.651828 Received DATA (on stdin) 02:02:47.651845 > 160 bytes data, server => client 02:02:47.651858 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.651870 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.651882 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.651963 < 21 bytes data, client => server 02:02:47.651979 'EHLO verifiedserver\r\n' 02:02:47.652152 Received DATA (on stdin) 02:02:47.652166 > 53 bytes data, server => client 02:02:47.652181 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.652239 < 6 bytes data, client => server 02:02:47.652253 'HELP\r\n' 02:02:47.652377 Received DATA (on stdin) 02:02:47.652389 > 22 bytes data, server => client 02:02:47.652400 '214 WE ROOLZ: 109154\r\n' 02:02:47.652485 < 6 bytes data, client => server 02:02:47.652499 'QUIT\r\n' 02:02:47.652588 Received DATA (on stdin) 02:02:47.652601 > 35 bytes data, server => client 02:02:47.652612 '221 curl ESMTP server signing off\r\n' 02:02:47.652699 ====> Client disconnect 02:02:47.654965 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-917 From: different To: another body === End of file stdin-for-917 === Start of file valgrind917 ==121646== ==121646== Process terminating with default action of signal 4 (SIGILL) ==121646== Illegal opcode at address 0x10B08D ==121646== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121646== by 0x10B08D: main (tool_main.c:232) === End of file valgrind917 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/smtp_server.pid" --logfile "log/11/smtp_server.log" --logdir "log/11" --portfile "log/11/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33099 (log/11/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:33099/verifiedserver" 2>log/11/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120934 port 33099 * pid smtp => 120934 120934 test 0911...[SMTP with no mail data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind911 ../src/curl -q --output log/11/curl911.out --include --trace-ascii log/11/trace911 --trace-config all --trace-time smtp://127.0.0.1:33099/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/11/stdout911 2> log/11/stderr911 911: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 911 === Start of file server.cmd Testnum 911 === End of file server.cmd === Start of file smtp_server.log 02:02:46.551135 SMTP server listens on port IPv4/33099 02:02:46.551204 logged pid 120934 in log/11/server/smtp_server.pid 02:02:46.551226 Awaiting input 02:02:47.535483 ====> Client connect 02:02:47.535678 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.536004 < "EHLO verifiedserver" 02:02:47.536057 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.536245 < "HELP" 02:02:47.536285 > "214 WE ROOLZ: 120934[CR][LF]" 02:02:47.536299 return proof we are we 02:02:47.536500 < "QUIT" 02:02:47.536525 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.537200 MAIN sockfilt said DISC 02:02:47.537227 ====> Client disconnected 02:02:47.537280 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.750943 Running IPv4 version 02:02:46.751011 Listening on port 33099 02:02:46.751047 Wrote pid 120936 to log/11/server/smtp_sockfilt.pid 02:02:46.751075 Wrote port 33099 to log/11/server/smtp_server.port 02:02:46.751197 Received PING (on stdin) 02:02:47.735528 ====> Client connect 02:02:47.735830 Received DATA (on stdin) 02:02:47.735844 > 160 bytes data, server => client 02:02:47.735856 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.735868 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.735878 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.735972 < 21 bytes data, client => server 02:02:47.735986 'EHLO verifiedserver\r\n' 02:02:47.736199 Received DATA (on stdin) 02:02:47.736212 > 53 bytes data, server => client 02:02:47.736231 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.736287 < 6 bytes data, client => server 02:02:47.736307 'HELP\r\n' 02:02:47.736437 Received DATA (on stdin) 02:02:47.736449 > 22 bytes data, server => client 02:02:47.736459 '214 WE ROOLZ: 120934\r\n' 02:02:47.736557 < 6 bytes data, client => server 02:02:47.736569 'QUIT\r\n' 02:02:47.736662 Received DATA (on stdin) 02:02:47.736673 > 35 bytes data, server => client 02:02:47.736684 '221 curl ESMTP server signing off\r\n' 02:02:47.737290 ====> Client disconnect 02:02:47.737418 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind911 ==121779== ==121779== Process terminating with default action of signal 4 (SIGILL) ==121779== Illegal opcode at address 0x10B08D ==121779== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121779== by 0x10B08D: main (tool_main.c:232) === End of file valgrind911 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/smtp_server.pid" --logfile "log/10/smtp_server.log" --logdir "log/10" --portfile "log/10/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46019 (log/10/server/smtp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "smtp://127.0.0.1:46019/verifiedserver" 2>log/10/smtp_verify.log RUN: Verifying our test smtp server took 0 seconds RUN: SMTP server is PID 120935 port 46019 * pid smtp => 120935 120935 test 0912...[SMTP with SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind912 ../src/curl -q --output log/10/curl912.out --include --trace-ascii log/10/trace912 --trace-config all --trace-time smtp://127.0.0.1:46019/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/10/test912.eml > log/10/stdout912 2> log/10/stderr912 912: proCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind918 ../src/curl -q --output log/5/curl918.out --include --trace-ascii log/5/trace918 --trace-config all --trace-time smtp://127.0.0.1:42001/918 --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/5/stdout918 2> log/5/stderr918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind920 ../src/curl -q --output log/9/curl920.out --include --trace-ascii log/9/trace920 --trace-config all --trace-time smtp://127.0.0.1:46307/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/9/stdout920 2> log/9/stderr920 tocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 912 === Start of file server.cmd CAPA SIZE Testnum 912 === End of file server.cmd === Start of file smtp_server.log 02:02:46.556902 SMTP server listens on port IPv4/46019 02:02:46.556977 logged pid 120935 in log/10/server/smtp_server.pid 02:02:46.556999 Awaiting input 02:02:47.542006 ====> Client connect 02:02:47.542127 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.542389 < "EHLO verifiedserver" 02:02:47.542430 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.542598 < "HELP" 02:02:47.542628 > "214 WE ROOLZ: 120935[CR][LF]" 02:02:47.542642 return proof we are we 02:02:47.542834 < "QUIT" 02:02:47.542859 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.543431 MAIN sockfilt said DISC 02:02:47.543456 ====> Client disconnected 02:02:47.543502 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.756676 Running IPv4 version 02:02:46.756757 Listening on port 46019 02:02:46.756795 Wrote pid 120937 to log/10/server/smtp_sockfilt.pid 02:02:46.756827 Wrote port 46019 to log/10/server/smtp_server.port 02:02:46.756959 Received PING (on stdin) 02:02:47.742074 ====> Client connect 02:02:47.742271 Received DATA (on stdin) 02:02:47.742284 > 160 bytes data, server => client 02:02:47.742297 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.742310 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.742322 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.742394 < 21 bytes data, client => server 02:02:47.742407 'EHLO verifiedserver\r\n' 02:02:47.742571 Received DATA (on stdin) 02:02:47.742584 > 53 bytes data, server => client 02:02:47.742596 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.742651 < 6 bytes data, client => server 02:02:47.742663 'HELP\r\n' 02:02:47.742779 Received DATA (on stdin) 02:02:47.742791 > 22 bytes data, server => client 02:02:47.742801 '214 WE ROOLZ: 120935\r\n' 02:02:47.742893 < 6 bytes data, client => server 02:02:47.742907 'QUIT\r\n' 02:02:47.742997 Received DATA (on stdin) 02:02:47.743008 > 35 bytes data, server => client 02:02:47.743019 '221 curl ESMTP server signing off\r\n' 02:02:47.743521 ====> Client disconnect 02:02:47.743642 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test912.eml From: different To: another body === End of file test912.eml === Start of file valgrind912 ==121792== ==121792== Process terminating with default action of signal 4 (SIGILL) ==121792== Illegal opcode at address 0x10B08D ==121792== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121792== by 0x10B08D: main (tool_main.c:232) === End of file valgrind912 test 0918...[SMTP with multiple and invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind918 ../src/curl -q --output log/5/curl918.out --include --trace-ascii log/5/trace918 --trace-config all --trace-time smtp://127.0.0.1:42001/918 --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/5/stdout918 2> log/5/stderr918 918: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 918 === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 02:02:47.597684 ====> Client connect 02:02:47.597815 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.599819 < "EHLO verifiedserver" 02:02:47.599867 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.600113 < "HELP" 02:02:47.600144 > "214 WE ROOLZ: 120666[CR][LF]" 02:02:47.600159 return proof we are we 02:02:47.600363 < "QUIT" 02:02:47.600389 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.601253 MAIN sockfilt said DISC 02:02:47.601283 ====> Client disconnected 02:02:47.601339 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.797724 ====> Client connect 02:02:46.799214 Received DATA (on stdin) 02:02:46.799237 > 160 bytes data, server => client 02:02:46.799251 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.799263 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.799275 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.799379 < 21 bytes data, client => server 02:02:46.799396 'EHLO verifiedserver\r\n' 02:02:46.800071 Received DATA (on stdin) 02:02:46.800087 > 53 bytes data, server => client 02:02:46.800100 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.800160 < 6 bytes data, client => server 02:02:46.800173 'HELP\r\n' 02:02:46.800298 Received DATA (on stdin) 02:02:46.800310 > 22 bytes data, server => client 02:02:46.800321 '214 WE ROOLZ: 120666\r\n' 02:02:46.800413 < 6 bytes data, client => server 02:02:46.800429 'QUIT\r\n' 02:02:46.800528 Received DATA (on stdin) 02:02:46.800541 > 35 bytes data, server => client 02:02:46.800552 '221 curl ESMTP server signing off\r\n' 02:02:46.801344 ====> Client disconnect 02:02:46.801480 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-918 From: different To: another body === End of file stdin-for-918 === Start of file valgrind918 ==121941== ==121941== Process terminating with default action of signal 4 (SIGILL) ==121941== Illegal opcode at address 0x10B08D ==121941== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121941== by 0x10B08D: main (tool_main.c:232) === End of file valgrind918 test 0920...[SMTP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind920 ../src/curl -q --output log/9/curl920.out --include --trace-ascii log/9/trace920 --trace-config all --trace-time smtp://127.0.0.1:46307/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/9/stdout920 2> log/9/stderr920 920: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 920 === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 920 === End of file server.cmd === Start of file smtp_server.log 02:02:47.615255 ====> Client connect 02:02:47.615380 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.615636 < "EHLO verifiedserver" 02:02:47.615674 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.615843 < "HELP" 02:02:47.615872 > "214 WE ROOLZ: 120680[CR][LF]" 02:02:47.615887 return proof we are we 02:02:47.616084 < "QUIT" 02:02:47.616110 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.616998 MAIN sockfilt said DISC 02:02:47.617028 ====> Client disconnected 02:02:47.617077 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.815309 ====> Client connect 02:02:46.815528 Received DATA (on stdin) 02:02:46.815544 > 160 bytes data, server => client 02:02:46.815556 '220- _ _ ____ _ CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind921 ../src/curl -q --output log/4/curl921.out --include --trace-ascii log/4/trace921 --trace-config all --trace-time smtp://127.0.0.1:35635/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/4/stdout921 2> log/4/stderr921 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind919 ../src/curl -q --output log/2/curl919.out --include --trace-ascii log/2/trace919 --trace-config all --trace-time smtp://127.0.0.1:40763/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/2/stdout919 2> log/2/stderr919 \r\n220- ___| | | | _ \| | ' 02:02:46.815568 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.815579 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.815647 < 21 bytes data, client => server 02:02:46.815660 'EHLO verifiedserver\r\n' 02:02:46.815816 Received DATA (on stdin) 02:02:46.815829 > 53 bytes data, server => client 02:02:46.815841 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.815897 < 6 bytes data, client => server 02:02:46.815909 'HELP\r\n' 02:02:46.816025 Received DATA (on stdin) 02:02:46.816037 > 22 bytes data, server => client 02:02:46.816048 '214 WE ROOLZ: 120680\r\n' 02:02:46.816125 < 6 bytes data, client => server 02:02:46.816139 'QUIT\r\n' 02:02:46.816247 Received DATA (on stdin) 02:02:46.816260 > 35 bytes data, server => client 02:02:46.816271 '221 curl ESMTP server signing off\r\n' 02:02:46.816766 ====> Client disconnect 02:02:46.817215 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-920 mail body === End of file stdin-for-920 === Start of file valgrind920 ==122070== ==122070== Process terminating with default action of signal 4 (SIGILL) ==122070== Illegal opcode at address 0x10B08D ==122070== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122070== by 0x10B08D: main (tool_main.c:232) === End of file valgrind920 test 0921...[SMTP NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind921 ../src/curl -q --output log/4/curl921.out --include --trace-ascii log/4/trace921 --trace-config all --trace-time smtp://127.0.0.1:35635/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/4/stdout921 2> log/4/stderr921 921: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 921 === Start of file server.cmd AUTH NTLM REPLY AUTH 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 921 === End of file server.cmd === Start of file smtp_server.log 02:02:47.619340 ====> Client connect 02:02:47.619456 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.619729 < "EHLO verifiedserver" 02:02:47.619774 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.619949 < "HELP" 02:02:47.619977 > "214 WE ROOLZ: 120686[CR][LF]" 02:02:47.619989 return proof we are we 02:02:47.620143 < "QUIT" 02:02:47.620163 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.620637 MAIN sockfilt said DISC 02:02:47.620663 ====> Client disconnected 02:02:47.620719 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.819394 ====> Client connect 02:02:46.819599 Received DATA (on stdin) 02:02:46.819621 > 160 bytes data, server => client 02:02:46.819635 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.819648 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.819659 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.819733 < 21 bytes data, client => server 02:02:46.819745 'EHLO verifiedserver\r\n' 02:02:46.819919 Received DATA (on stdin) 02:02:46.819933 > 53 bytes data, server => client 02:02:46.819947 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.820009 < 6 bytes data, client => server 02:02:46.820024 'HELP\r\n' 02:02:46.820124 Received DATA (on stdin) 02:02:46.820134 > 22 bytes data, server => client 02:02:46.820142 '214 WE ROOLZ: 120686\r\n' 02:02:46.820210 < 6 bytes data, client => server 02:02:46.820220 'QUIT\r\n' 02:02:46.820297 Received DATA (on stdin) 02:02:46.820307 > 35 bytes data, server => client 02:02:46.820315 '221 curl ESMTP server signing off\r\n' 02:02:46.820731 ====> Client disconnect 02:02:46.820857 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-921 mail body === End of file stdin-for-921 === Start of file valgrind921 ==121965== ==121965== Process terminating with default action of signal 4 (SIGILL) ==121965== Illegal opcode at address 0x10B08D ==121965== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121965== by 0x10B08D: main (tool_main.c:232) === End of file valgrind921 test 0919...[SMTP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind919 ../src/curl -q --output log/2/curl919.out --include --trace-ascii log/2/trace919 --trace-config all --trace-time smtp://127.0.0.1:40763/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/2/stdout919 2> log/2/stderr919 919: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 919 === Start of file server.cmd AUTH PLAIN REPLY AUTH 235 Authenticated Testnum 919 === End of file server.cmd === Start of file smtp_server.log 02:02:47.612384 ====> Client connect 02:02:47.612515 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.612795 < "EHLO verifiedserver" 02:02:47.612834 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.613012 < "HELP" 02:02:47.613044 > "214 WE ROOLZ: 120689[CR][LF]" 02:02:47.613060 return proof we are we 02:02:47.614066 < "QUIT" 02:02:47.614094 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.614747 MAIN sockfilt said DISC 02:02:47.614775 ====> Client disconnected 02:02:47.614827 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:46.812429 ====> Client connect 02:02:46.812666 Received DATA (on stdin) 02:02:46.812681 > 160 bytes data, server => client 02:02:46.812694 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:46.812706 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:46.812718 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:46.812797 < 21 bytes data, client => server 02:02:46.812813 'EHLO verifiedserver\r\n' 02:02:46.812977 Received DATA (on stdin) 02:02:46.812990 > 53 bytes data, server => client 02:02:46.813002 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:46.813063 < 6 bytes data, client => server 02:02:46.813077 'HELP\r\n' 02:02:46.813198 Received DATA (on stdin) 02:02:46.813211 > 22 bytes data, server => client 02:02:46.813222 '214 WE ROOLZ: 120689\r\n' 02:02:46.814111 < 6 bytes data, client => server 02:02:46.814130 'QUIT\r\n' 02:02:46.814234 Received DATA (on stdin) 02:02:46.814246 > 35 bytes data, server => client 02:02:46.814257 '221 curl ESMTP server signing off\r\n' 02:02:46.814838 ====> Client disconnect 02:02:46.814967 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-919 mail body === End of file stdin-for-919 === Start of file valgrind919 ==121955== ==121955== Process terminating with default action of signal 4 (SIGILL) ==121955== Illegal opcode at address 0x10B08D ==121955== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==121955== by 0x10B08D: main (tool_main.c:232) === End oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind923 ../src/curl -q --output log/6/curl923.out --include --trace-ascii log/6/trace923 --trace-config all --trace-time smtp://127.0.0.1:36521/923 --mail-rcpt recipient > log/6/stdout923 2> log/6/stderr923 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind922 ../src/curl -q --output log/3/curl922.out --include --trace-ascii log/3/trace922 --trace-config all --trace-time smtp://127.0.0.1:33609/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/3/stdout922 2> log/3/stderr922 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind925 ../src/curl -q --output log/12/curl925.out --include --trace-ascii log/12/trace925 --trace-config all --trace-time smtp://127.0.0.1:34955/925 --mail-rcpt user@example.net > log/12/stdout925 2> log/12/stderr925 f file valgrind919 test 0923...[SMTP VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind923 ../src/curl -q --output log/6/curl923.out --include --trace-ascii log/6/trace923 --trace-config all --trace-time smtp://127.0.0.1:36521/923 --mail-rcpt recipient > log/6/stdout923 2> log/6/stderr923 923: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 923 === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 02:02:47.801871 ====> Client connect 02:02:47.802003 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.804890 < "EHLO verifiedserver" 02:02:47.804944 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.805145 < "HELP" 02:02:47.805173 > "214 WE ROOLZ: 120742[CR][LF]" 02:02:47.805187 return proof we are we 02:02:47.805631 < "QUIT" 02:02:47.805657 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.806449 MAIN sockfilt said DISC 02:02:47.806477 ====> Client disconnected 02:02:47.806535 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.000533 ====> Client connect 02:02:48.002151 Received DATA (on stdin) 02:02:48.002168 > 160 bytes data, server => client 02:02:48.002180 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.002191 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.002202 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.004853 < 21 bytes data, client => server 02:02:48.004876 'EHLO verifiedserver\r\n' 02:02:48.005107 Received DATA (on stdin) 02:02:48.005121 > 53 bytes data, server => client 02:02:48.005132 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.005200 < 6 bytes data, client => server 02:02:48.005211 'HELP\r\n' 02:02:48.005324 Received DATA (on stdin) 02:02:48.005335 > 22 bytes data, server => client 02:02:48.005346 '214 WE ROOLZ: 120742\r\n' 02:02:48.005680 < 6 bytes data, client => server 02:02:48.005698 'QUIT\r\n' 02:02:48.005794 Received DATA (on stdin) 02:02:48.005805 > 35 bytes data, server => client 02:02:48.005816 '221 curl ESMTP server signing off\r\n' 02:02:48.006539 ====> Client disconnect 02:02:48.006678 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 ==122195== ==122195== Process terminating with default action of signal 4 (SIGILL) ==122195== Illegal opcode at address 0x10B08D ==122195== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122195== by 0x10B08D: main (tool_main.c:232) === End of file valgrind923 test 0922...[SMTP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind922 ../src/curl -q --output log/3/curl922.out --include --trace-ascii log/3/trace922 --trace-config all --trace-time smtp://127.0.0.1:33609/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/3/stdout922 2> log/3/stderr922 922: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 922 === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 235 Authenticated Testnum 922 === End of file server.cmd === Start of file smtp_server.log 02:02:47.788810 ====> Client connect 02:02:47.788999 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.789616 < "EHLO verifiedserver" 02:02:47.789656 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.789817 < "HELP" 02:02:47.789844 > "214 WE ROOLZ: 109380[CR][LF]" 02:02:47.789860 return proof we are we 02:02:47.790041 < "QUIT" 02:02:47.790065 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.790688 MAIN sockfilt said DISC 02:02:47.790717 ====> Client disconnected 02:02:47.790768 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.988812 ====> Client connect 02:02:47.989149 Received DATA (on stdin) 02:02:47.989165 > 160 bytes data, server => client 02:02:47.989178 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.989190 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.989200 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.989599 < 21 bytes data, client => server 02:02:47.989618 'EHLO verifiedserver\r\n' 02:02:47.989797 Received DATA (on stdin) 02:02:47.989809 > 53 bytes data, server => client 02:02:47.989821 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.989878 < 6 bytes data, client => server 02:02:47.989889 'HELP\r\n' 02:02:47.989996 Received DATA (on stdin) 02:02:47.990007 > 22 bytes data, server => client 02:02:47.990018 '214 WE ROOLZ: 109380\r\n' 02:02:47.990102 < 6 bytes data, client => server 02:02:47.990115 'QUIT\r\n' 02:02:47.990202 Received DATA (on stdin) 02:02:47.990212 > 35 bytes data, server => client 02:02:47.990223 '221 curl ESMTP server signing off\r\n' 02:02:47.990784 ====> Client disconnect 02:02:47.991349 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-922 mail body === End of file stdin-for-922 === Start of file valgrind922 ==122184== ==122184== Process terminating with default action of signal 4 (SIGILL) ==122184== Illegal opcode at address 0x10B08D ==122184== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122184== by 0x10B08D: main (tool_main.c:232) === End of file valgrind922 test 0925...[SMTP external VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind925 ../src/curl -q --output log/12/curl925.out --include --trace-ascii log/12/trace925 --trace-config all --trace-time smtp://127.0.0.1:34955/925 --mail-rcpt user@example.net > log/12/stdout925 2> log/12/stderr925 925: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 925 === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 02:02:47.943099 ====> Client connect 02:02:47.943218 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.943464 < "EHLO verifiedserver" 02:02:47.943500 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.943650 < "HELP" 02:02:47.943676 > "214 WE ROOLZ: 109452[CR][LF]" 02:02:47.943689 return proof we are we 02:02:47.943873 < "QUIT" 02:02:47.943897 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.944518 MAIN sockfilt said DISC 02:02:47.944543 ====> Client disconnected 02:02:47.944592 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.143140 ====> Client connect 02:02:48.143365 Received DATA (on stdin) 02:02:48.143378 > 160 bytes data, server => client 02:02:48.143391 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.143403 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.143414 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.143483 < 21 bytes data, client => server 02:02:48.143494 'EHLO verifiedserver\r\n' 02:02:48.143639 Received CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind924 ../src/curl -q --output log/7/curl924.out --include --trace-ascii log/7/trace924 --trace-config all --trace-time smtp://127.0.0.1:42825/924 --mail-rcpt smith > log/7/stdout924 2> log/7/stderr924 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind927 ../src/curl -q --output log/1/curl927.out --include --trace-ascii log/1/trace927 --trace-config all --trace-time smtp://127.0.0.1:41437/927 --mail-rcpt Friends -X EXPN > log/1/stdout927 2> log/1/stderr927 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind926 ../src/curl -q --output log/8/curl926.out --include --trace-ascii log/8/trace926 --trace-config all --trace-time smtp://127.0.0.1:42443/926 --mail-rcpt recipient > log/8/stdout926 2> log/8/stderr926 DATA (on stdin) 02:02:48.143651 > 53 bytes data, server => client 02:02:48.143662 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.143714 < 6 bytes data, client => server 02:02:48.143724 'HELP\r\n' 02:02:48.143824 Received DATA (on stdin) 02:02:48.143835 > 22 bytes data, server => client 02:02:48.143846 '214 WE ROOLZ: 109452\r\n' 02:02:48.143935 < 6 bytes data, client => server 02:02:48.143948 'QUIT\r\n' 02:02:48.144033 Received DATA (on stdin) 02:02:48.144043 > 35 bytes data, server => client 02:02:48.144054 '221 curl ESMTP server signing off\r\n' 02:02:48.144611 ====> Client disconnect 02:02:48.144728 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind925 ==122321== ==122321== Process terminating with default action of signal 4 (SIGILL) ==122321== Illegal opcode at address 0x10B08D ==122321== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122321== by 0x10B08D: main (tool_main.c:232) === End of file valgrind925 test 0924...[SMTP ambiguous VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind924 ../src/curl -q --output log/7/curl924.out --include --trace-ascii log/7/trace924 --trace-config all --trace-time smtp://127.0.0.1:42825/924 --mail-rcpt smith > log/7/stdout924 2> log/7/stderr924 924: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 924 === Start of file server.cmd Testnum 924 === End of file server.cmd === Start of file smtp_server.log 02:02:47.934151 ====> Client connect 02:02:47.934284 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:47.934531 < "EHLO verifiedserver" 02:02:47.934566 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:47.934714 < "HELP" 02:02:47.934740 > "214 WE ROOLZ: 120804[CR][LF]" 02:02:47.934752 return proof we are we 02:02:47.934936 < "QUIT" 02:02:47.934959 > "221 curl ESMTP server signing off[CR][LF]" 02:02:47.937327 MAIN sockfilt said DISC 02:02:47.937369 ====> Client disconnected 02:02:47.937427 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.134188 ====> Client connect 02:02:48.134431 Received DATA (on stdin) 02:02:48.134444 > 160 bytes data, server => client 02:02:48.134457 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.134469 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.134479 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.134544 < 21 bytes data, client => server 02:02:48.134557 'EHLO verifiedserver\r\n' 02:02:48.134706 Received DATA (on stdin) 02:02:48.134717 > 53 bytes data, server => client 02:02:48.134728 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.134779 < 6 bytes data, client => server 02:02:48.134789 'HELP\r\n' 02:02:48.134888 Received DATA (on stdin) 02:02:48.134898 > 22 bytes data, server => client 02:02:48.134909 '214 WE ROOLZ: 120804\r\n' 02:02:48.135000 < 6 bytes data, client => server 02:02:48.135012 'QUIT\r\n' 02:02:48.135095 Received DATA (on stdin) 02:02:48.135105 > 35 bytes data, server => client 02:02:48.135115 '221 curl ESMTP server signing off\r\n' 02:02:48.135707 ====> Client disconnect 02:02:48.137566 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind924 ==122319== ==122319== Process terminating with default action of signal 4 (SIGILL) ==122319== Illegal opcode at address 0x10B08D ==122319== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122319== by 0x10B08D: main (tool_main.c:232) === End of file valgrind924 test 0927...[SMTP mailing list EXPN (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind927 ../src/curl -q --output log/1/curl927.out --include --trace-ascii log/1/trace927 --trace-config all --trace-time smtp://127.0.0.1:41437/927 --mail-rcpt Friends -X EXPN > log/1/stdout927 2> log/1/stderr927 927: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 927 === Start of file server.cmd Testnum 927 === End of file server.cmd === Start of file smtp_server.log 02:02:48.156638 ====> Client connect 02:02:48.156799 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.157066 < "EHLO verifiedserver" 02:02:48.157102 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.157263 < "HELP" 02:02:48.157291 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:48.157304 return proof we are we 02:02:48.157499 < "QUIT" 02:02:48.157523 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.158139 MAIN sockfilt said DISC 02:02:48.158165 ====> Client disconnected 02:02:48.158217 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.356657 ====> Client connect 02:02:48.356948 Received DATA (on stdin) 02:02:48.356963 > 160 bytes data, server => client 02:02:48.356977 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.356989 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.357000 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.357074 < 21 bytes data, client => server 02:02:48.357088 'EHLO verifiedserver\r\n' 02:02:48.357242 Received DATA (on stdin) 02:02:48.357254 > 53 bytes data, server => client 02:02:48.357266 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.357320 < 6 bytes data, client => server 02:02:48.357333 'HELP\r\n' 02:02:48.357441 Received DATA (on stdin) 02:02:48.357452 > 22 bytes data, server => client 02:02:48.357462 '214 WE ROOLZ: 109154\r\n' 02:02:48.357559 < 6 bytes data, client => server 02:02:48.357572 'QUIT\r\n' 02:02:48.357660 Received DATA (on stdin) 02:02:48.357671 > 35 bytes data, server => client 02:02:48.357682 '221 curl ESMTP server signing off\r\n' 02:02:48.358232 ====> Client disconnect 02:02:48.358356 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind927 ==122449== ==122449== Process terminating with default action of signal 4 (SIGILL) ==122449== Illegal opcode at address 0x10B08D ==122449== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122449== by 0x10B08D: main (tool_main.c:232) === End of file valgrind927 test 0926...[SMTP unknown user VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind926 ../src/curl -q --output log/8/curl926.out --include --trace-ascii log/8/trace926 --trace-config all --trace-time smtp://127.0.0.1:42443/926 --mail-rcpt recipient > log/8/stdout926 2> log/8/stderr926 926: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 926 === Start of file server.cmd REPLY VRFY 550 Unknown user Testnum 926 === End of file server.cmd === Start of file smtp_server.log 02:02:48.137113 ====> Client connect 02:02:48.137261 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.137564 < "EHLO verifiedserver" 02:02:48.137604 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.138517 < "HELP" 02:02:48.138550 > "214 WE ROOLZ: 120866[CR][LF]" 02:02:48.138565 return proCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind929 ../src/curl -q --output log/10/curl929.out --include --trace-ascii log/10/trace929 --trace-config all --trace-time smtp://127.0.0.1:46019/929 -X NOOP -I > log/10/stdout929 2> log/10/stderr929 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind928 ../src/curl -q --output log/11/curl928.out --include --trace-ascii log/11/trace928 --trace-config all --trace-time smtp://127.0.0.1:33099/928 > log/11/stdout928 2> log/11/stderr928 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind930 ../src/curl -q --output log/5/curl930.out --include --trace-ascii log/5/trace930 --trace-config all --trace-time smtp://127.0.0.1:42001/930 -X RSET -I > log/5/stdout930 2> log/5/stderr930 of we are we 02:02:48.138796 < "QUIT" 02:02:48.138828 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.142029 MAIN sockfilt said DISC 02:02:48.142089 ====> Client disconnected 02:02:48.142155 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.337153 ====> Client connect 02:02:48.337416 Received DATA (on stdin) 02:02:48.337434 > 160 bytes data, server => client 02:02:48.337448 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.337461 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.337472 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.337554 < 21 bytes data, client => server 02:02:48.337571 'EHLO verifiedserver\r\n' 02:02:48.337747 Received DATA (on stdin) 02:02:48.337761 > 53 bytes data, server => client 02:02:48.337773 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.338550 < 6 bytes data, client => server 02:02:48.338570 'HELP\r\n' 02:02:48.338704 Received DATA (on stdin) 02:02:48.338716 > 22 bytes data, server => client 02:02:48.338727 '214 WE ROOLZ: 120866\r\n' 02:02:48.338833 < 6 bytes data, client => server 02:02:48.338849 'QUIT\r\n' 02:02:48.338969 Received DATA (on stdin) 02:02:48.338980 > 35 bytes data, server => client 02:02:48.338991 '221 curl ESMTP server signing off\r\n' 02:02:48.341856 ====> Client disconnect 02:02:48.345505 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind926 ==122464== ==122464== Process terminating with default action of signal 4 (SIGILL) ==122464== Illegal opcode at address 0x10B08D ==122464== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122464== by 0x10B08D: main (tool_main.c:232) === End of file valgrind926 test 0929...[SMTP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind929 ../src/curl -q --output log/10/curl929.out --include --trace-ascii log/10/trace929 --trace-config all --trace-time smtp://127.0.0.1:46019/929 -X NOOP -I > log/10/stdout929 2> log/10/stderr929 929: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 929 === Start of file server.cmd Testnum 929 === End of file server.cmd === Start of file smtp_server.log 02:02:48.332453 ====> Client connect 02:02:48.332571 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.332831 < "EHLO verifiedserver" 02:02:48.332869 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.333032 < "HELP" 02:02:48.333067 > "214 WE ROOLZ: 120935[CR][LF]" 02:02:48.333086 return proof we are we 02:02:48.333304 < "QUIT" 02:02:48.333337 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.334022 MAIN sockfilt said DISC 02:02:48.334051 ====> Client disconnected 02:02:48.334106 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.532504 ====> Client connect 02:02:48.532720 Received DATA (on stdin) 02:02:48.532735 > 160 bytes data, server => client 02:02:48.532748 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.532759 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.532770 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.532837 < 21 bytes data, client => server 02:02:48.532849 'EHLO verifiedserver\r\n' 02:02:48.533009 Received DATA (on stdin) 02:02:48.533020 > 53 bytes data, server => client 02:02:48.533032 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.533083 < 6 bytes data, client => server 02:02:48.533094 'HELP\r\n' 02:02:48.533228 Received DATA (on stdin) 02:02:48.533244 > 22 bytes data, server => client 02:02:48.533258 '214 WE ROOLZ: 120935\r\n' 02:02:48.533349 < 6 bytes data, client => server 02:02:48.533364 'QUIT\r\n' 02:02:48.533478 Received DATA (on stdin) 02:02:48.533491 > 35 bytes data, server => client 02:02:48.533504 '221 curl ESMTP server signing off\r\n' 02:02:48.534114 ====> Client disconnect 02:02:48.534183 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind929 ==122596== ==122596== Process terminating with default action of signal 4 (SIGILL) ==122596== Illegal opcode at address 0x10B08D ==122596== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122596== by 0x10B08D: main (tool_main.c:232) === End of file valgrind929 test 0928...[SMTP HELP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind928 ../src/curl -q --output log/11/curl928.out --include --trace-ascii log/11/trace928 --trace-config all --trace-time smtp://127.0.0.1:33099/928 > log/11/stdout928 2> log/11/stderr928 928: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 928 === Start of file server.cmd Testnum 928 === End of file server.cmd === Start of file smtp_server.log 02:02:48.294277 ====> Client connect 02:02:48.294414 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.304261 < "EHLO verifiedserver" 02:02:48.304325 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.304571 < "HELP" 02:02:48.304603 > "214 WE ROOLZ: 120934[CR][LF]" 02:02:48.304618 return proof we are we 02:02:48.304849 < "QUIT" 02:02:48.304878 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.307022 MAIN sockfilt said DISC 02:02:48.307061 ====> Client disconnected 02:02:48.307115 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.494313 ====> Client connect 02:02:48.494561 Received DATA (on stdin) 02:02:48.494574 > 160 bytes data, server => client 02:02:48.494586 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.494596 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.494605 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.501924 < 21 bytes data, client => server 02:02:48.501952 'EHLO verifiedserver\r\n' 02:02:48.504474 Received DATA (on stdin) 02:02:48.504493 > 53 bytes data, server => client 02:02:48.504506 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.504615 < 6 bytes data, client => server 02:02:48.504631 'HELP\r\n' 02:02:48.504756 Received DATA (on stdin) 02:02:48.504768 > 22 bytes data, server => client 02:02:48.504779 '214 WE ROOLZ: 120934\r\n' 02:02:48.504880 < 6 bytes data, client => server 02:02:48.504896 'QUIT\r\n' 02:02:48.505018 Received DATA (on stdin) 02:02:48.505030 > 35 bytes data, server => client 02:02:48.505041 '221 curl ESMTP server signing off\r\n' 02:02:48.507104 ====> Client disconnect 02:02:48.507258 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind928 ==122622== ==122622== Process terminating with default action of signal 4 (SIGILL) ==122622== Illegal opcode at address 0x10B08D ==122622== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122622== by 0x10B08D: main (tool_main.c:232) === End of file valgrind928 test 0930...[SMTP RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind930 ../src/curl -q --output log/5/curl930.out --include --trace-ascii log/5/trace930 --trace-config all --trace-time smtp://127.0.0.1:42001/930 -X RSET -I > log/5/stdout930 2> log/5/stderr930 930: protocol FAILED! There was no content at all in the file log/5/server.inCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind931 ../src/curl -q --output log/9/curl931.out --include --trace-ascii log/9/trace931 --trace-config all --trace-time smtp://127.0.0.1:46307/%0d%0a/931 > log/9/stdout931 2> log/9/stderr931 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind932 ../src/curl -q --output log/4/curl932.out --include --trace-ascii log/4/trace932 --trace-config all --trace-time smtp://127.0.0.1:35635/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/4/stdout932 2> log/4/stderr932 put. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 930 === Start of file server.cmd Testnum 930 === End of file server.cmd === Start of file smtp_server.log 02:02:48.332381 ====> Client connect 02:02:48.332503 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.332772 < "EHLO verifiedserver" 02:02:48.332808 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.332957 < "HELP" 02:02:48.332984 > "214 WE ROOLZ: 120666[CR][LF]" 02:02:48.332997 return proof we are we 02:02:48.333194 < "QUIT" 02:02:48.333217 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.333474 MAIN sockfilt said DISC 02:02:48.333502 ====> Client disconnected 02:02:48.333560 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.532402 ====> Client connect 02:02:47.532649 Received DATA (on stdin) 02:02:47.532663 > 160 bytes data, server => client 02:02:47.532675 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.532687 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.532697 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.532775 < 21 bytes data, client => server 02:02:47.532789 'EHLO verifiedserver\r\n' 02:02:47.532947 Received DATA (on stdin) 02:02:47.532958 > 53 bytes data, server => client 02:02:47.532970 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.533021 < 6 bytes data, client => server 02:02:47.533032 'HELP\r\n' 02:02:47.533132 Received DATA (on stdin) 02:02:47.533143 > 22 bytes data, server => client 02:02:47.533153 '214 WE ROOLZ: 120666\r\n' 02:02:47.533256 < 6 bytes data, client => server 02:02:47.533269 'QUIT\r\n' 02:02:47.533353 Received DATA (on stdin) 02:02:47.533363 > 35 bytes data, server => client 02:02:47.533373 '221 curl ESMTP server signing off\r\n' 02:02:47.533564 ====> Client disconnect 02:02:47.533697 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind930 ==122597== ==122597== Process terminating with default action of signal 4 (SIGILL) ==122597== Illegal opcode at address 0x10B08D ==122597== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122597== by 0x10B08D: main (tool_main.c:232) === End of file valgrind930 test 0932...[SMTP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind932 ../src/curl -q --output log/4/curl932.out --include --trace-ascii log/4/trace932 --trace-config all --trace-time smtp://127.0.0.1:35635/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/4/stdout932 2> log/4/stderr932 932: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 932 === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 932 === End of file server.cmd === Start of file smtp_server.log 02:02:48.446069 ====> Client connect 02:02:48.446197 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.446451 < "EHLO verifiedserver" 02:02:48.446486 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.446636 < "HELP" 02:02:48.446662 > "214 WE ROOLZ: 120686[CR][LF]" 02:02:48.446674 return proof we are we 02:02:48.446864 < "QUIT" 02:02:48.446886 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.447563 MAIN sockfilt said DISC 02:02:48.447586 ====> Client disconnected 02:02:48.447639 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.646116 ====> Client connect 02:02:47.646343 Received DATA (on stdin) 02:02:47.646356 > 160 bytes data, server => client 02:02:47.646368 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.646380 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.646390 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.646461 < 21 bytes data, client => server 02:02:47.646474 'EHLO verifiedserver\r\n' 02:02:47.646626 Received DATA (on stdin) 02:02:47.646637 > 53 bytes data, server => client 02:02:47.646649 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.646700 < 6 bytes data, client => server 02:02:47.646711 'HELP\r\n' 02:02:47.646810 Received DATA (on stdin) 02:02:47.646821 > 22 bytes data, server => client 02:02:47.646831 '214 WE ROOLZ: 120686\r\n' 02:02:47.646910 < 6 bytes data, client => server 02:02:47.646922 'QUIT\r\n' 02:02:47.647022 Received DATA (on stdin) 02:02:47.647033 > 35 bytes data, server => client 02:02:47.647044 '221 curl ESMTP server signing off\r\n' 02:02:47.647657 ====> Client disconnect 02:02:47.647775 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind932 ==122811== ==122811== Process terminating with default action of signal 4 (SIGILL) ==122811== Illegal opcode at address 0x10B08D ==122811== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122811== by 0x10B08D: main (tool_main.c:232) === End of file valgrind932 test 0931...[SMTP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind931 ../src/curl -q --output log/9/curl931.out --include --trace-ascii log/9/trace931 --trace-config all --trace-time smtp://127.0.0.1:46307/%0d%0a/931 > log/9/stdout931 2> log/9/stderr931 curl returned 132, when expecting 3 931: exit FAILED == Contents of files in the log/9/ dir after test 931 === Start of file server.cmd Testnum 931 === End of file server.cmd === Start of file smtp_server.log 02:02:48.423930 ====> Client connect 02:02:48.424069 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.424337 < "EHLO verifiedserver" 02:02:48.424375 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.424622 < "HELP" 02:02:48.424653 > "214 WE ROOLZ: 120680[CR][LF]" 02:02:48.424668 return proof we are we 02:02:48.425247 < "QUIT" 02:02:48.425274 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.425933 MAIN sockfilt said DISC 02:02:48.425964 ====> Client disconnected 02:02:48.426020 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.623952 ====> Client connect 02:02:47.624219 Received DATA (on stdin) 02:02:47.624235 > 160 bytes data, server => client 02:02:47.624248 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.624260 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.624271 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.624341 < 21 bytes data, client => server 02:02:47.624355 'EHLO verifiedserver\r\n' 02:02:47.624527 Received DATA (on stdin) 02:02:47.624541 > 53 bytes data, server => client 02:02:47.624552 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.624670 < 6 bytes data, client => server 02:02:47.624685 'HELP\r\n' 02:02:47.624900 Received DATA (on stdin) 02:02:47.625108 > 22 bytes data, server => client 02:02:47.625124 '214 WE ROOLZ: 120680\r\n' 02:02:47.625299 < 6 bytes data, client => server 02:02:47.625313 'QUIT\r\n' 02:02:47.625412 Received DATA (on stdin) 02:02:47.625423 > 35 bytes data, server => client 02:02:47.625433 '221 curl ESMTP server signing off\r\n' 02:02:47.626023 ====> Client disconnect 02:02:47.626161 Received ACKD (on stdin) === End of file smtp_sockfilt.log === StarCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind933 ../src/curl -q --output log/2/curl933.out --include --trace-ascii log/2/trace933 --trace-config all --trace-time smtp://127.0.0.1:40763/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/2/stdout933 2> log/2/stderr933 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind935 ../src/curl -q --output log/6/curl935.out --include --trace-ascii log/6/trace935 --trace-config all --trace-time smtp://127.0.0.1:36521/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout935 2> log/6/stderr935 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind936 ../src/curl -q --output log/3/curl936.out --include --trace-ascii log/3/trace936 --trace-config all --trace-time smtp://127.0.0.1:33609/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout936 2> log/3/stderr936 t of file valgrind931 ==122779== ==122779== Process terminating with default action of signal 4 (SIGILL) ==122779== Illegal opcode at address 0x10B08D ==122779== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122779== by 0x10B08D: main (tool_main.c:232) === End of file valgrind931 test 0933...[SMTP NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind933 ../src/curl -q --output log/2/curl933.out --include --trace-ascii log/2/trace933 --trace-config all --trace-time smtp://127.0.0.1:40763/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/2/stdout933 2> log/2/stderr933 933: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 933 === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 933 === End of file server.cmd === Start of file smtp_server.log 02:02:48.439992 ====> Client connect 02:02:48.440138 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.440413 < "EHLO verifiedserver" 02:02:48.440452 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.440627 < "HELP" 02:02:48.440657 > "214 WE ROOLZ: 120689[CR][LF]" 02:02:48.440671 return proof we are we 02:02:48.440877 < "QUIT" 02:02:48.440910 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.441984 MAIN sockfilt said DISC 02:02:48.442036 ====> Client disconnected 02:02:48.442544 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:47.640019 ====> Client connect 02:02:47.640277 Received DATA (on stdin) 02:02:47.640299 > 160 bytes data, server => client 02:02:47.640312 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:47.640325 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:47.640336 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:47.640410 < 21 bytes data, client => server 02:02:47.640424 'EHLO verifiedserver\r\n' 02:02:47.640594 Received DATA (on stdin) 02:02:47.640606 > 53 bytes data, server => client 02:02:47.640618 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:47.640672 < 6 bytes data, client => server 02:02:47.640684 'HELP\r\n' 02:02:47.640808 Received DATA (on stdin) 02:02:47.640820 > 22 bytes data, server => client 02:02:47.640832 '214 WE ROOLZ: 120689\r\n' 02:02:47.640925 < 6 bytes data, client => server 02:02:47.640938 'QUIT\r\n' 02:02:47.641053 Received DATA (on stdin) 02:02:47.641069 > 35 bytes data, server => client 02:02:47.641083 '221 curl ESMTP server signing off\r\n' 02:02:47.642054 ====> Client disconnect 02:02:47.642399 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind933 ==122867== ==122867== Process terminating with default action of signal 4 (SIGILL) ==122867== Illegal opcode at address 0x10B08D ==122867== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122867== by 0x10B08D: main (tool_main.c:232) === End of file valgrind933 test 0935...[SMTP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind935 ../src/curl -q --output log/6/curl935.out --include --trace-ascii log/6/trace935 --trace-config all --trace-time smtp://127.0.0.1:36521/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout935 2> log/6/stderr935 935: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 935 === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" 334 Rubbish REPLY * 501 AUTH exchange cancelled by client REPLY "AUTH PLAIN" 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 935 === End of file server.cmd === Start of file smtp_server.log 02:02:48.619949 ====> Client connect 02:02:48.620070 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.620329 < "EHLO verifiedserver" 02:02:48.620377 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.620539 < "HELP" 02:02:48.620568 > "214 WE ROOLZ: 120742[CR][LF]" 02:02:48.620582 return proof we are we 02:02:48.620758 < "QUIT" 02:02:48.620782 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.621468 MAIN sockfilt said DISC 02:02:48.621494 ====> Client disconnected 02:02:48.621554 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.819999 ====> Client connect 02:02:48.820217 Received DATA (on stdin) 02:02:48.820232 > 160 bytes data, server => client 02:02:48.820245 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.820257 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.820268 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.820335 < 21 bytes data, client => server 02:02:48.820349 'EHLO verifiedserver\r\n' 02:02:48.820518 Received DATA (on stdin) 02:02:48.820531 > 53 bytes data, server => client 02:02:48.820543 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.820596 < 6 bytes data, client => server 02:02:48.820608 'HELP\r\n' 02:02:48.820718 Received DATA (on stdin) 02:02:48.820729 > 22 bytes data, server => client 02:02:48.820740 '214 WE ROOLZ: 120742\r\n' 02:02:48.820816 < 6 bytes data, client => server 02:02:48.820829 'QUIT\r\n' 02:02:48.820920 Received DATA (on stdin) 02:02:48.820931 > 35 bytes data, server => client 02:02:48.820942 '221 curl ESMTP server signing off\r\n' 02:02:48.821560 ====> Client disconnect 02:02:48.821631 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-935 mail body === End of file stdin-for-935 === Start of file valgrind935 ==122972== ==122972== Process terminating with default action of signal 4 (SIGILL) ==122972== Illegal opcode at address 0x10B08D ==122972== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==122972== by 0x10B08D: main (tool_main.c:232) === End of file valgrind935 test 0936...[SMTP NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind936 ../src/curl -q --output log/3/curl936.out --include --trace-ascii log/3/trace936 --trace-config all --trace-time smtp://127.0.0.1:33609/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout936 2> log/3/stderr936 936: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 936 === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTH NTLM" 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish REPLY * 501 AUTH exchange cancelled by client REPLY "AUTH PLAIN" 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 936 === End of file server.cmd === Start of file smtp_server.log 02:02:48.619494 ====> Client connect 02:02:48.619652 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.619957 < "EHLO vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind940 ../src/curl -q --output log/7/curl940.out --include --trace-ascii log/7/trace940 --trace-config all --trace-time smtp://127.0.0.1:42825/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout940 2> log/7/stderr940 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind939 ../src/curl -q --output log/12/curl939.out --include --trace-ascii log/12/trace939 --trace-config all --trace-time smtp://127.0.0.1:34955/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/12/stdout939 2> log/12/stderr939 erifiedserver" 02:02:48.620001 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.620179 < "HELP" 02:02:48.620210 > "214 WE ROOLZ: 109380[CR][LF]" 02:02:48.620225 return proof we are we 02:02:48.620471 < "QUIT" 02:02:48.620499 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.621750 MAIN sockfilt said DISC 02:02:48.621784 ====> Client disconnected 02:02:48.621838 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.819513 ====> Client connect 02:02:48.819802 Received DATA (on stdin) 02:02:48.819816 > 160 bytes data, server => client 02:02:48.819828 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.819841 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.819851 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.819932 < 21 bytes data, client => server 02:02:48.819946 'EHLO verifiedserver\r\n' 02:02:48.820145 Received DATA (on stdin) 02:02:48.820158 > 53 bytes data, server => client 02:02:48.820171 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.820232 < 6 bytes data, client => server 02:02:48.820245 'HELP\r\n' 02:02:48.820362 Received DATA (on stdin) 02:02:48.820375 > 22 bytes data, server => client 02:02:48.820387 '214 WE ROOLZ: 109380\r\n' 02:02:48.820517 < 6 bytes data, client => server 02:02:48.820534 'QUIT\r\n' 02:02:48.820639 Received DATA (on stdin) 02:02:48.820652 > 35 bytes data, server => client 02:02:48.820663 '221 curl ESMTP server signing off\r\n' 02:02:48.821352 ====> Client disconnect 02:02:48.822098 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-936 mail body === End of file stdin-for-936 === Start of file valgrind936 ==123002== ==123002== Process terminating with default action of signal 4 (SIGILL) ==123002== Illegal opcode at address 0x10B08D ==123002== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123002== by 0x10B08D: main (tool_main.c:232) === End of file valgrind936 test 0940...[SMTP with username and password but no AUTH capability] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind940 ../src/curl -q --output log/7/curl940.out --include --trace-ascii log/7/trace940 --trace-config all --trace-time smtp://127.0.0.1:42825/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout940 2> log/7/stderr940 940: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 940 === Start of file server.cmd Testnum 940 === End of file server.cmd === Start of file smtp_server.log 02:02:48.748087 ====> Client connect 02:02:48.748226 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.748534 < "EHLO verifiedserver" 02:02:48.748582 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.748769 < "HELP" 02:02:48.748805 > "214 WE ROOLZ: 120804[CR][LF]" 02:02:48.748818 return proof we are we 02:02:48.749032 < "QUIT" 02:02:48.749060 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.749700 MAIN sockfilt said DISC 02:02:48.749728 ====> Client disconnected 02:02:48.749783 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.948117 ====> Client connect 02:02:48.948381 Received DATA (on stdin) 02:02:48.948398 > 160 bytes data, server => client 02:02:48.948410 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.948422 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.948432 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.948521 < 21 bytes data, client => server 02:02:48.948536 'EHLO verifiedserver\r\n' 02:02:48.948725 Received DATA (on stdin) 02:02:48.948738 > 53 bytes data, server => client 02:02:48.948750 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.948808 < 6 bytes data, client => server 02:02:48.948819 'HELP\r\n' 02:02:48.948955 Received DATA (on stdin) 02:02:48.948966 > 22 bytes data, server => client 02:02:48.948977 '214 WE ROOLZ: 120804\r\n' 02:02:48.949062 < 6 bytes data, client => server 02:02:48.949075 'QUIT\r\n' 02:02:48.949199 Received DATA (on stdin) 02:02:48.949210 > 35 bytes data, server => client 02:02:48.949220 '221 curl ESMTP server signing off\r\n' 02:02:48.949792 ====> Client disconnect 02:02:48.949920 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-940 mail body === End of file stdin-for-940 === Start of file valgrind940 ==123103== ==123103== Process terminating with default action of signal 4 (SIGILL) ==123103== Illegal opcode at address 0x10B08D ==123103== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123103== by 0x10B08D: main (tool_main.c:232) === End of file valgrind940 test 0939...[RFC821-only SMTP with username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind939 ../src/curl -q --output log/12/curl939.out --include --trace-ascii log/12/trace939 --trace-config all --trace-time smtp://127.0.0.1:34955/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/12/stdout939 2> log/12/stderr939 939: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 939 === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 939 === End of file server.cmd === Start of file smtp_server.log 02:02:48.751790 ====> Client connect 02:02:48.751909 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.752166 < "EHLO verifiedserver" 02:02:48.752202 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.752361 < "HELP" 02:02:48.752390 > "214 WE ROOLZ: 109452[CR][LF]" 02:02:48.752404 return proof we are we 02:02:48.752582 < "QUIT" 02:02:48.752607 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.753229 MAIN sockfilt said DISC 02:02:48.753254 ====> Client disconnected 02:02:48.753305 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.951838 ====> Client connect 02:02:48.952058 Received DATA (on stdin) 02:02:48.952072 > 160 bytes data, server => client 02:02:48.952085 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.952097 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.952108 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.952178 < 21 bytes data, client => server 02:02:48.952191 'EHLO verifiedserver\r\n' 02:02:48.952341 Received DATA (on stdin) 02:02:48.952352 > 53 bytes data, server => client 02:02:48.952363 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.952418 < 6 bytes data, client => server 02:02:48.952430 'HELP\r\n' 02:02:48.952540 Received DATA (on stdin) 02:02:48.952551 > 22 bytes data, server => client 02:02:48.952562 '214 WE ROOLZ: 109452\r\n' 02:02:48.952640 < 6 bytes data, client => server 02:02:48.952653 'QUIT\r\n' 02:02:48.952745 Received DATA (on stdin) 02:02:48.952755 > 35 bytes data, server => client 02:02:48.952766 '221 curl ESMTP server signing off\r\n' 02:02:48.953322 ====> Client disconnect 02:02:48.953443 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-939 mail body === End of file stdin-for-939 === Start of file valgrind939 ==123111== ==123111== Process terminating with default actionCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind941 ../src/curl -q --output log/1/curl941.out --include --trace-ascii log/1/trace941 --trace-config all --trace-time smtp://127.0.0.1:41437/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/1/upload941 --crlf > log/1/stdout941 2> log/1/stderr941 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind942 ../src/curl -q --output log/8/curl942.out --include --trace-ascii log/8/trace942 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:42443/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/8/stdout942 2> log/8/stderr942 of signal 4 (SIGILL) ==123111== Illegal opcode at address 0x10B08D ==123111== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123111== by 0x10B08D: main (tool_main.c:232) === End of file valgrind939 test 0941...[SMTP with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind941 ../src/curl -q --output log/1/curl941.out --include --trace-ascii log/1/trace941 --trace-config all --trace-time smtp://127.0.0.1:41437/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/1/upload941 --crlf > log/1/stdout941 2> log/1/stderr941 941: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 941 === Start of file server.cmd Testnum 941 === End of file server.cmd === Start of file smtp_server.log 02:02:48.913519 ====> Client connect 02:02:48.913659 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.913950 < "EHLO verifiedserver" 02:02:48.913986 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.914147 < "HELP" 02:02:48.914174 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:48.914188 return proof we are we 02:02:48.914390 < "QUIT" 02:02:48.914415 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.915342 MAIN sockfilt said DISC 02:02:48.915376 ====> Client disconnected 02:02:48.915433 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.113550 ====> Client connect 02:02:49.113817 Received DATA (on stdin) 02:02:49.113832 > 160 bytes data, server => client 02:02:49.113846 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.113857 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.113868 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.113954 < 21 bytes data, client => server 02:02:49.113968 'EHLO verifiedserver\r\n' 02:02:49.114128 Received DATA (on stdin) 02:02:49.114140 > 53 bytes data, server => client 02:02:49.114151 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.114206 < 6 bytes data, client => server 02:02:49.114219 'HELP\r\n' 02:02:49.114324 Received DATA (on stdin) 02:02:49.114336 > 22 bytes data, server => client 02:02:49.114347 '214 WE ROOLZ: 109154\r\n' 02:02:49.114431 < 6 bytes data, client => server 02:02:49.114444 'QUIT\r\n' 02:02:49.114553 Received DATA (on stdin) 02:02:49.114564 > 35 bytes data, server => client 02:02:49.114575 '221 curl ESMTP server signing off\r\n' 02:02:49.115162 ====> Client disconnect 02:02:49.115572 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file upload941 From: different To: another email headers and body with Unix newlines meant to be converted with the --crlf option 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 01234567890123456CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind944 ../src/curl -q --output log/11/curl944.out --include --trace-ascii log/11/trace944 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:33099/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/11/stdout944 2> log/11/stderr944 78901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file upload941 === Start of file valgrind941 ==123240== ==123240== Process terminating with default action of signal 4 (SIGILL) ==123240== Illegal opcode at address 0x10B08D ==123240== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123240== by 0x10B08D: main (tool_main.c:232) === End of file valgrind941 test 0942...[SMTP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind942 ../src/curl -q --output log/8/curl942.out --include --trace-ascii log/8/trace942 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:42443/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/8/stdout942 2> log/8/stderr942 942: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 942 === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY dXNlcg== 235 Authenticated Testnum 942 === End of file server.cmd === Start of file smtp_server.log 02:02:48.935070 ====> Client connect 02:02:48.935196 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:48.935472 < "EHLO verifiedserver" 02:02:48.935513 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:48.935690 < "HELP" 02:02:48.935721 > "214 WE ROOLZ: 120866[CR][LF]" 02:02:48.935737 return proof we are we 02:02:48.935956 < "QUIT" 02:02:48.935983 > "221 curl ESMTP server signing off[CR][LF]" 02:02:48.936683 MAIN sockfilt said DISC 02:02:48.936710 ====> Client disconnected 02:02:48.936764 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.135102 ====> Client connect 02:02:49.135342 Received DATA (on stdin) 02:02:49.135357 > 160 bytes data, server => client 02:02:49.135369 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.135381 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.135391 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.135472 < 21 bytes data, client => server 02:02:49.135489 'EHLO verifiedserver\r\n' 02:02:49.135656 Received DATA (on stdin) 02:02:49.135670 > 53 bytes data, server => client 02:02:49.135682 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.135741 < 6 bytes data, client => server 02:02:49.135755 'HELP\r\n' 02:02:49.135876 Received DATA (on stdin) 02:02:49.135889 > 22 bytes data, server => client 02:02:49.135900 '214 WE ROOLZ: 120866\r\n' 02:02:49.136004 < 6 bytes data, client => server 02:02:49.136020 'QUIT\r\n' 02:02:49.136123 Received DATA (on stdin) 02:02:49.136135 > 35 bytes data, server => client 02:02:49.136147 '221 curl ESMTP server signing off\r\n' 02:02:49.136774 ====> Client disconnect 02:02:49.136906 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-942 mail body === End of file stdin-for-942 === Start of file valgrind942 ==123247== ==123247== Process terminating with default action of signal 4 (SIGILL) ==123247== Illegal opcode at address 0x10B08D ==123247== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123247== by 0x10B08D: main (tool_main.c:232) === End of file valgrind942 test 0944...[SMTP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind944 ../src/curl -q --output log/11/curl944.out --include --trace-ascii log/11/trace944 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:33099/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/11/stdout944 2> log/11/stderr944 944: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 944 === Start of file serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind947 ../src/curl -q --output log/4/curl947.out --include --trace-ascii log/4/trace947 --trace-config all --trace-time smtp://127.0.0.1:35635/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/4/stdout947 2> log/4/stderr947 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind943 ../src/curl -q --output log/10/curl943.out --include --trace-ascii log/10/trace943 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:46019/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout943 2> log/10/stderr943 r.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 944 === End of file server.cmd === Start of file smtp_server.log 02:02:49.104958 ====> Client connect 02:02:49.105279 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.105559 < "EHLO verifiedserver" 02:02:49.105600 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.105771 < "HELP" 02:02:49.105800 > "214 WE ROOLZ: 120934[CR][LF]" 02:02:49.105815 return proof we are we 02:02:49.106015 < "QUIT" 02:02:49.106042 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.107123 MAIN sockfilt said DISC 02:02:49.107157 ====> Client disconnected 02:02:49.107210 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.305004 ====> Client connect 02:02:49.305439 Received DATA (on stdin) 02:02:49.305457 > 160 bytes data, server => client 02:02:49.305470 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.305481 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.305493 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.305564 < 21 bytes data, client => server 02:02:49.305580 'EHLO verifiedserver\r\n' 02:02:49.305743 Received DATA (on stdin) 02:02:49.305756 > 53 bytes data, server => client 02:02:49.305768 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.305825 < 6 bytes data, client => server 02:02:49.305839 'HELP\r\n' 02:02:49.305954 Received DATA (on stdin) 02:02:49.305967 > 22 bytes data, server => client 02:02:49.305978 '214 WE ROOLZ: 120934\r\n' 02:02:49.306068 < 6 bytes data, client => server 02:02:49.306083 'QUIT\r\n' 02:02:49.306189 Received DATA (on stdin) 02:02:49.306202 > 35 bytes data, server => client 02:02:49.306213 '221 curl ESMTP server signing off\r\n' 02:02:49.307090 ====> Client disconnect 02:02:49.308156 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-944 mail body === End of file stdin-for-944 === Start of file valgrind944 ==123427== ==123427== Process terminating with default action of signal 4 (SIGILL) ==123427== Illegal opcode at address 0x10B08D ==123427== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123427== by 0x10B08D: main (tool_main.c:232) === End of file valgrind944 test 0947...[SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind947 ../src/curl -q --output log/4/curl947.out --include --trace-ascii log/4/trace947 --trace-config all --trace-time smtp://127.0.0.1:35635/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/4/stdout947 2> log/4/stderr947 947: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 947 === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 235 Authenticated Testnum 947 === End of file server.cmd === Start of file smtp_server.log 02:02:49.107861 ====> Client connect 02:02:49.107976 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.108223 < "EHLO verifiedserver" 02:02:49.108263 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.108548 < "HELP" 02:02:49.108577 > "214 WE ROOLZ: 120686[CR][LF]" 02:02:49.108591 return proof we are we 02:02:49.108781 < "QUIT" 02:02:49.108805 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.109374 MAIN sockfilt said DISC 02:02:49.109400 ====> Client disconnected 02:02:49.109447 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.307916 ====> Client connect 02:02:48.308124 Received DATA (on stdin) 02:02:48.308139 > 160 bytes data, server => client 02:02:48.308152 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.308163 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.308174 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.308240 < 21 bytes data, client => server 02:02:48.308254 'EHLO verifiedserver\r\n' 02:02:48.308404 Received DATA (on stdin) 02:02:48.308417 > 53 bytes data, server => client 02:02:48.308428 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.308601 < 6 bytes data, client => server 02:02:48.308615 'HELP\r\n' 02:02:48.308728 Received DATA (on stdin) 02:02:48.308739 > 22 bytes data, server => client 02:02:48.308749 '214 WE ROOLZ: 120686\r\n' 02:02:48.308825 < 6 bytes data, client => server 02:02:48.308838 'QUIT\r\n' 02:02:48.308943 Received DATA (on stdin) 02:02:48.308954 > 35 bytes data, server => client 02:02:48.308965 '221 curl ESMTP server signing off\r\n' 02:02:48.309467 ====> Client disconnect 02:02:48.309584 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-947 mail body === End of file stdin-for-947 === Start of file valgrind947 ==123449== ==123449== Process terminating with default action of signal 4 (SIGILL) ==123449== Illegal opcode at address 0x10B08D ==123449== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123449== by 0x10B08D: main (tool_main.c:232) === End of file valgrind947 test 0943...[SMTP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind943 ../src/curl -q --output log/10/curl943.out --include --trace-ascii log/10/trace943 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:46019/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout943 2> log/10/stderr943 943: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 943 === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY = 235 Authenticated Testnum 943 === End of file server.cmd === Start of file smtp_server.log 02:02:49.096044 ====> Client connect 02:02:49.096178 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.096440 < "EHLO verifiedserver" 02:02:49.096475 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.096627 < "HELP" 02:02:49.096653 > "214 WE ROOLZ: 120935[CR][LF]" 02:02:49.096665 return proof we are we 02:02:49.096855 < "QUIT" 02:02:49.096878 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.097578 MAIN sockfilt said DISC 02:02:49.097605 ====> Client disconnected 02:02:49.097655 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.295803 ====> Client connect 02:02:49.296325 Received DATA (on stdin) 02:02:49.296344 > 160 bytes data, server => client 02:02:49.296356 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.296368 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.296379 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.296452 < 21 bytes data, client => server 02:02:49.296464 'EHLO verifiedserver\r\n' 02:02:49.296613 Received DATA (on stdin) 02:02:49.296625 > 53 bytes data, server => client 02:02:49.296637 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.296689 < 6 bytes data, client => server 02:02:49.296700 'HELP\r\n' 02:02:49.296801 Received DATA (on stdin) 02:02:49.296812 > 22 bytes data, server => client 02:02:49.2968CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind945 ../src/curl -q --output log/5/curl945.out --include --trace-ascii log/5/trace945 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:42001/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/5/stdout945 2> log/5/stderr945 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind946 ../src/curl -q --output log/9/curl946.out --include --trace-ascii log/9/trace946 --trace-config all --trace-time smtp://127.0.0.1:46307/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/9/stdout946 2> log/9/stderr946 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind948 ../src/curl -q --output log/2/curl948.out --include --trace-ascii log/2/trace948 --trace-config all --trace-time smtp://127.0.0.1:40763/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/2/stdout948 2> log/2/stderr948 23 '214 WE ROOLZ: 120935\r\n' 02:02:49.296899 < 6 bytes data, client => server 02:02:49.296911 'QUIT\r\n' 02:02:49.297014 Received DATA (on stdin) 02:02:49.297026 > 35 bytes data, server => client 02:02:49.297037 '221 curl ESMTP server signing off\r\n' 02:02:49.297671 ====> Client disconnect 02:02:49.298884 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-943 mail body === End of file stdin-for-943 === Start of file valgrind943 ==123421== ==123421== Process terminating with default action of signal 4 (SIGILL) ==123421== Illegal opcode at address 0x10B08D ==123421== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123421== by 0x10B08D: main (tool_main.c:232) === End of file valgrind943 test 0945...[SMTP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind945 ../src/curl -q --output log/5/curl945.out --include --trace-ascii log/5/trace945 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:42001/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/5/stdout945 2> log/5/stderr945 945: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 945 === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 945 === End of file server.cmd === Start of file smtp_server.log 02:02:49.102786 ====> Client connect 02:02:49.102924 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.103274 < "EHLO verifiedserver" 02:02:49.103313 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.103520 < "HELP" 02:02:49.103551 > "214 WE ROOLZ: 120666[CR][LF]" 02:02:49.103565 return proof we are we 02:02:49.103759 < "QUIT" 02:02:49.103785 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.107326 MAIN sockfilt said DISC 02:02:49.107353 ====> Client disconnected 02:02:49.107400 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.302832 ====> Client connect 02:02:48.303136 Received DATA (on stdin) 02:02:48.303152 > 160 bytes data, server => client 02:02:48.303166 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.303179 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.303191 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.303274 < 21 bytes data, client => server 02:02:48.303289 'EHLO verifiedserver\r\n' 02:02:48.303455 Received DATA (on stdin) 02:02:48.303468 > 53 bytes data, server => client 02:02:48.303481 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.303573 < 6 bytes data, client => server 02:02:48.303587 'HELP\r\n' 02:02:48.303703 Received DATA (on stdin) 02:02:48.303716 > 22 bytes data, server => client 02:02:48.303729 '214 WE ROOLZ: 120666\r\n' 02:02:48.303813 < 6 bytes data, client => server 02:02:48.303828 'QUIT\r\n' 02:02:48.303924 Received DATA (on stdin) 02:02:48.303936 > 35 bytes data, server => client 02:02:48.303948 '221 curl ESMTP server signing off\r\n' 02:02:48.307416 ====> Client disconnect 02:02:48.307539 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-945 mail body === End of file stdin-for-945 === Start of file valgrind945 ==123424== ==123424== Process terminating with default action of signal 4 (SIGILL) ==123424== Illegal opcode at address 0x10B08D ==123424== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123424== by 0x10B08D: main (tool_main.c:232) === End of file valgrind945 test 0946...[SMTP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind946 ../src/curl -q --output log/9/curl946.out --include --trace-ascii log/9/trace946 --trace-config all --trace-time smtp://127.0.0.1:46307/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/9/stdout946 2> log/9/stderr946 946: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 946 === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDYzMDcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 235 Authenticated Testnum 946 === End of file server.cmd === Start of file smtp_server.log 02:02:49.109895 ====> Client connect 02:02:49.110016 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.110269 < "EHLO verifiedserver" 02:02:49.110305 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.110464 < "HELP" 02:02:49.110491 > "214 WE ROOLZ: 120680[CR][LF]" 02:02:49.110504 return proof we are we 02:02:49.110693 < "QUIT" 02:02:49.110719 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.111329 MAIN sockfilt said DISC 02:02:49.111358 ====> Client disconnected 02:02:49.111404 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.308781 ====> Client connect 02:02:48.310164 Received DATA (on stdin) 02:02:48.310180 > 160 bytes data, server => client 02:02:48.310193 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.310204 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.310215 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.310284 < 21 bytes data, client => server 02:02:48.310297 'EHLO verifiedserver\r\n' 02:02:48.310445 Received DATA (on stdin) 02:02:48.310457 > 53 bytes data, server => client 02:02:48.310470 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.310523 < 6 bytes data, client => server 02:02:48.310535 'HELP\r\n' 02:02:48.310640 Received DATA (on stdin) 02:02:48.310651 > 22 bytes data, server => client 02:02:48.310661 '214 WE ROOLZ: 120680\r\n' 02:02:48.310752 < 6 bytes data, client => server 02:02:48.310766 'QUIT\r\n' 02:02:48.310857 Received DATA (on stdin) 02:02:48.310868 > 35 bytes data, server => client 02:02:48.310880 '221 curl ESMTP server signing off\r\n' 02:02:48.310967 ====> Client disconnect 02:02:48.311543 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-946 mail body === End of file stdin-for-946 === Start of file valgrind946 ==123451== ==123451== Process terminating with default action of signal 4 (SIGILL) ==123451== Illegal opcode at address 0x10B08D ==123451== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123451== by 0x10B08D: main (tool_main.c:232) === End of file valgrind946 test 0948...[SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind948 ../src/curl -q --output log/2/curl948.out --include --trace-ascii log/2/trace948 --trace-config all --trace-time smtp://127.0.0.1:40763/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/2/stdout948 2> log/2/stderr948 948: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 948 === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind950 ../src/curl -q --output log/3/curl950.out --include --trace-ascii log/3/trace950 --trace-config all --trace-time smtp://127.0.0.1:33609/950 --mail-rcpt recipient --request "vrfy" > log/3/stdout950 2> log/3/stderr950 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind949 ../src/curl -q --output log/6/curl949.out --include --trace-ascii log/6/trace949 --trace-config all --trace-time smtp://127.0.0.1:36521/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/6/stdout949 2> log/6/stderr949 IsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDA3NjMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 948 === End of file server.cmd === Start of file smtp_server.log 02:02:49.189232 ====> Client connect 02:02:49.189384 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.189709 < "EHLO verifiedserver" 02:02:49.189769 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.189948 < "HELP" 02:02:49.189980 > "214 WE ROOLZ: 120689[CR][LF]" 02:02:49.189995 return proof we are we 02:02:49.190197 < "QUIT" 02:02:49.190224 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.191420 MAIN sockfilt said DISC 02:02:49.191466 ====> Client disconnected 02:02:49.191564 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:48.389063 ====> Client connect 02:02:48.389541 Received DATA (on stdin) 02:02:48.389559 > 160 bytes data, server => client 02:02:48.389572 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:48.389584 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:48.389594 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:48.389679 < 21 bytes data, client => server 02:02:48.389694 'EHLO verifiedserver\r\n' 02:02:48.389911 Received DATA (on stdin) 02:02:48.389924 > 53 bytes data, server => client 02:02:48.389937 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:48.389997 < 6 bytes data, client => server 02:02:48.390010 'HELP\r\n' 02:02:48.390133 Received DATA (on stdin) 02:02:48.390145 > 22 bytes data, server => client 02:02:48.390156 '214 WE ROOLZ: 120689\r\n' 02:02:48.390249 < 6 bytes data, client => server 02:02:48.390264 'QUIT\r\n' 02:02:48.390362 Received DATA (on stdin) 02:02:48.390373 > 35 bytes data, server => client 02:02:48.390384 '221 curl ESMTP server signing off\r\n' 02:02:48.391489 ====> Client disconnect 02:02:48.391705 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-948 mail body === End of file stdin-for-948 === Start of file valgrind948 ==123687== ==123687== Process terminating with default action of signal 4 (SIGILL) ==123687== Illegal opcode at address 0x10B08D ==123687== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123687== by 0x10B08D: main (tool_main.c:232) === End of file valgrind948 test 0950...[SMTP VRFY with custom request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind950 ../src/curl -q --output log/3/curl950.out --include --trace-ascii log/3/trace950 --trace-config all --trace-time smtp://127.0.0.1:33609/950 --mail-rcpt recipient --request "vrfy" > log/3/stdout950 2> log/3/stderr950 950: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 950 === Start of file server.cmd Testnum 950 === End of file server.cmd === Start of file smtp_server.log 02:02:49.396682 ====> Client connect 02:02:49.396840 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.397185 < "EHLO verifiedserver" 02:02:49.397231 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.397404 < "HELP" 02:02:49.397438 > "214 WE ROOLZ: 109380[CR][LF]" 02:02:49.397453 return proof we are we 02:02:49.397663 < "QUIT" 02:02:49.397687 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.398703 MAIN sockfilt said DISC 02:02:49.398732 ====> Client disconnected 02:02:49.398793 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.593422 ====> Client connect 02:02:49.596995 Received DATA (on stdin) 02:02:49.597017 > 160 bytes data, server => client 02:02:49.597031 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.597043 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.597054 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.597181 < 21 bytes data, client => server 02:02:49.597196 'EHLO verifiedserver\r\n' 02:02:49.597373 Received DATA (on stdin) 02:02:49.597387 > 53 bytes data, server => client 02:02:49.597398 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.597458 < 6 bytes data, client => server 02:02:49.597470 'HELP\r\n' 02:02:49.597591 Received DATA (on stdin) 02:02:49.597603 > 22 bytes data, server => client 02:02:49.597614 '214 WE ROOLZ: 109380\r\n' 02:02:49.597721 < 6 bytes data, client => server 02:02:49.597734 'QUIT\r\n' 02:02:49.597826 Received DATA (on stdin) 02:02:49.597838 > 35 bytes data, server => client 02:02:49.597850 '221 curl ESMTP server signing off\r\n' 02:02:49.598793 ====> Client disconnect 02:02:49.598931 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind950 ==123788== ==123788== Process terminating with default action of signal 4 (SIGILL) ==123788== Illegal opcode at address 0x10B08D ==123788== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123788== by 0x10B08D: main (tool_main.c:232) === End of file valgrind950 test 0949...[SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind949 ../src/curl -q --output log/6/curl949.out --include --trace-ascii log/6/trace949 --trace-config all --trace-time smtp://127.0.0.1:36521/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/6/stdout949 2> log/6/stderr949 949: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 949 === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 949 === End of file server.cmd === Start of file smtp_server.log 02:02:49.390015 ====> Client connect 02:02:49.390157 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.390427 < "EHLO verifiedserver" 02:02:49.390467 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.390625 < "HELP" 02:02:49.390653 > "214 WE ROOLZ: 120742[CR][LF]" 02:02:49.390666 return proof we are we 02:02:49.390865 < "QUIT" 02:02:49.390890 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.391575 MAIN sockfilt said DISC 02:02:49.391601 ====> Client disconnected 02:02:49.391655 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.590033 ====> Client connect 02:02:49.590306 Received DATA (on stdin) 02:02:49.590320 > 160 bytes data, server => client 02:02:49.590333 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.590345 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.590355 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.590429 < 21 bytes data, client => server 02:02:49.590442 'EHLO verifiedserver\r\n' 02:02CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind951 ../src/curl -q --output log/7/curl951.out --include --trace-ascii log/7/trace951 --trace-config all --trace-time smtp://127.0.0.1:42825/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/7/stdout951 2> log/7/stderr951 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind952 ../src/curl -q --output log/12/curl952.out --include --trace-ascii log/12/trace952 --trace-config all --trace-time smtp://127.0.0.1:34955/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/12/stdout952 2> log/12/stderr952 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind953 ../src/curl -q --output log/8/curl953.out --include --trace-ascii log/8/trace953 --trace-config all --trace-time smtp://127.0.0.1:42443/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/8/stdout953 2> log/8/stderr953 :49.590607 Received DATA (on stdin) 02:02:49.590620 > 53 bytes data, server => client 02:02:49.590631 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.590685 < 6 bytes data, client => server 02:02:49.590696 'HELP\r\n' 02:02:49.590803 Received DATA (on stdin) 02:02:49.590815 > 22 bytes data, server => client 02:02:49.590825 '214 WE ROOLZ: 120742\r\n' 02:02:49.590904 < 6 bytes data, client => server 02:02:49.590920 'QUIT\r\n' 02:02:49.591028 Received DATA (on stdin) 02:02:49.591040 > 35 bytes data, server => client 02:02:49.591051 '221 curl ESMTP server signing off\r\n' 02:02:49.591666 ====> Client disconnect 02:02:49.591792 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-949 mail body === End of file stdin-for-949 === Start of file valgrind949 ==123782== ==123782== Process terminating with default action of signal 4 (SIGILL) ==123782== Illegal opcode at address 0x10B08D ==123782== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123782== by 0x10B08D: main (tool_main.c:232) === End of file valgrind949 test 0951...[SMTP data with dot as first character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind951 ../src/curl -q --output log/7/curl951.out --include --trace-ascii log/7/trace951 --trace-config all --trace-time smtp://127.0.0.1:42825/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/7/stdout951 2> log/7/stderr951 951: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 951 === Start of file server.cmd Testnum 951 === End of file server.cmd === Start of file smtp_server.log 02:02:49.435467 ====> Client connect 02:02:49.435598 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.435859 < "EHLO verifiedserver" 02:02:49.435897 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.436057 < "HELP" 02:02:49.436084 > "214 WE ROOLZ: 120804[CR][LF]" 02:02:49.436096 return proof we are we 02:02:49.436294 < "QUIT" 02:02:49.436319 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.437242 MAIN sockfilt said DISC 02:02:49.437273 ====> Client disconnected 02:02:49.437321 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.635489 ====> Client connect 02:02:49.635747 Received DATA (on stdin) 02:02:49.635761 > 160 bytes data, server => client 02:02:49.635773 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.635784 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.635794 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.635868 < 21 bytes data, client => server 02:02:49.635880 'EHLO verifiedserver\r\n' 02:02:49.636039 Received DATA (on stdin) 02:02:49.636051 > 53 bytes data, server => client 02:02:49.636063 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.636116 < 6 bytes data, client => server 02:02:49.636128 'HELP\r\n' 02:02:49.636232 Received DATA (on stdin) 02:02:49.636242 > 22 bytes data, server => client 02:02:49.636252 '214 WE ROOLZ: 120804\r\n' 02:02:49.636335 < 6 bytes data, client => server 02:02:49.636348 'QUIT\r\n' 02:02:49.636458 Received DATA (on stdin) 02:02:49.636469 > 35 bytes data, server => client 02:02:49.636480 '221 curl ESMTP server signing off\r\n' 02:02:49.637111 ====> Client disconnect 02:02:49.637460 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-951 .This first line starts with a dot === End of file stdin-for-951 === Start of file valgrind951 ==123838== ==123838== Process terminating with default action of signal 4 (SIGILL) ==123838== Illegal opcode at address 0x10B08D ==123838== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123838== by 0x10B08D: main (tool_main.c:232) === End of file valgrind951 test 0952...[SMTP data with single dot-only line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind952 ../src/curl -q --output log/12/curl952.out --include --trace-ascii log/12/trace952 --trace-config all --trace-time smtp://127.0.0.1:34955/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/12/stdout952 2> log/12/stderr952 952: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 952 === Start of file server.cmd Testnum 952 === End of file server.cmd === Start of file smtp_server.log 02:02:49.608837 ====> Client connect 02:02:49.608980 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.609284 < "EHLO verifiedserver" 02:02:49.609323 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.609492 < "HELP" 02:02:49.609520 > "214 WE ROOLZ: 109452[CR][LF]" 02:02:49.609534 return proof we are we 02:02:49.609732 < "QUIT" 02:02:49.609756 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.610400 MAIN sockfilt said DISC 02:02:49.610424 ====> Client disconnected 02:02:49.610479 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.808860 ====> Client connect 02:02:49.809133 Received DATA (on stdin) 02:02:49.809149 > 160 bytes data, server => client 02:02:49.809163 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.809175 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.809186 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.809280 < 21 bytes data, client => server 02:02:49.809300 'EHLO verifiedserver\r\n' 02:02:49.809464 Received DATA (on stdin) 02:02:49.809476 > 53 bytes data, server => client 02:02:49.809488 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.809545 < 6 bytes data, client => server 02:02:49.809557 'HELP\r\n' 02:02:49.809670 Received DATA (on stdin) 02:02:49.809681 > 22 bytes data, server => client 02:02:49.809692 '214 WE ROOLZ: 109452\r\n' 02:02:49.809773 < 6 bytes data, client => server 02:02:49.809786 'QUIT\r\n' 02:02:49.809892 Received DATA (on stdin) 02:02:49.809903 > 35 bytes data, server => client 02:02:49.809914 '221 curl ESMTP server signing off\r\n' 02:02:49.810494 ====> Client disconnect 02:02:49.810616 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-952 . === End of file stdin-for-952 === Start of file valgrind952 ==123988== ==123988== Process terminating with default action of signal 4 (SIGILL) ==123988== Illegal opcode at address 0x10B08D ==123988== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==123988== by 0x10B08D: main (tool_main.c:232) === End of file valgrind952 test 0953...[SMTP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind953 ../src/curl -q --output log/8/curl953.out --include --trace-ascii log/8/trace953 --trace-config all --trace-time smtp://127.0.0.1:42443/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/8/stdout953 2> log/8/stderr953 953: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 953 === Start of file server.cmd AUTH PLAIN CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind954 ../src/curl -q --output log/1/curl954.out --include --trace-ascii log/1/trace954 --trace-config all --trace-time smtp://127.0.0.1:41437/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/1/stdout954 2> log/1/stderr954 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind956 ../src/curl -q --output log/4/curl956.out --include --trace-ascii log/4/trace956 --trace-config all --trace-time smtp://127.0.0.1:35635/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/4/stdout956 2> log/4/stderr956 REPLY AUTH 334 PLAIN supported REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 235 Authenticated Testnum 953 === End of file server.cmd === Start of file smtp_server.log 02:02:49.613969 ====> Client connect 02:02:49.614101 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.614372 < "EHLO verifiedserver" 02:02:49.614410 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.614583 < "HELP" 02:02:49.614613 > "214 WE ROOLZ: 120866[CR][LF]" 02:02:49.614628 return proof we are we 02:02:49.614817 < "QUIT" 02:02:49.614842 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.615454 MAIN sockfilt said DISC 02:02:49.615483 ====> Client disconnected 02:02:49.615535 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.814020 ====> Client connect 02:02:49.814252 Received DATA (on stdin) 02:02:49.814268 > 160 bytes data, server => client 02:02:49.814281 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.814293 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.814304 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.814377 < 21 bytes data, client => server 02:02:49.814392 'EHLO verifiedserver\r\n' 02:02:49.814552 Received DATA (on stdin) 02:02:49.814565 > 53 bytes data, server => client 02:02:49.814577 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.814634 < 6 bytes data, client => server 02:02:49.814648 'HELP\r\n' 02:02:49.814767 Received DATA (on stdin) 02:02:49.814779 > 22 bytes data, server => client 02:02:49.814791 '214 WE ROOLZ: 120866\r\n' 02:02:49.814871 < 6 bytes data, client => server 02:02:49.814885 'QUIT\r\n' 02:02:49.814981 Received DATA (on stdin) 02:02:49.814993 > 35 bytes data, server => client 02:02:49.815004 '221 curl ESMTP server signing off\r\n' 02:02:49.815543 ====> Client disconnect 02:02:49.815677 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-953 mail body === End of file stdin-for-953 === Start of file valgrind953 ==124001== ==124001== Process terminating with default action of signal 4 (SIGILL) ==124001== Illegal opcode at address 0x10B08D ==124001== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124001== by 0x10B08D: main (tool_main.c:232) === End of file valgrind953 test 0954...[SMTP plain authentication with alternative authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind954 ../src/curl -q --output log/1/curl954.out --include --trace-ascii log/1/trace954 --trace-config all --trace-time smtp://127.0.0.1:41437/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/1/stdout954 2> log/1/stderr954 954: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 954 === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 501 Not authorized Testnum 954 === End of file server.cmd === Start of file smtp_server.log 02:02:49.630586 ====> Client connect 02:02:49.630697 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.630997 < "EHLO verifiedserver" 02:02:49.631040 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.631231 < "HELP" 02:02:49.631260 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:49.631274 return proof we are we 02:02:49.631531 < "QUIT" 02:02:49.631558 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.632683 MAIN sockfilt said DISC 02:02:49.632717 ====> Client disconnected 02:02:49.632771 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.830640 ====> Client connect 02:02:49.830854 Received DATA (on stdin) 02:02:49.830878 > 160 bytes data, server => client 02:02:49.830892 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.830904 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.830915 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.831001 < 21 bytes data, client => server 02:02:49.831016 'EHLO verifiedserver\r\n' 02:02:49.831183 Received DATA (on stdin) 02:02:49.831196 > 53 bytes data, server => client 02:02:49.831208 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.831277 < 6 bytes data, client => server 02:02:49.831294 'HELP\r\n' 02:02:49.831410 Received DATA (on stdin) 02:02:49.831421 > 22 bytes data, server => client 02:02:49.831432 '214 WE ROOLZ: 109154\r\n' 02:02:49.831577 < 6 bytes data, client => server 02:02:49.831596 'QUIT\r\n' 02:02:49.831697 Received DATA (on stdin) 02:02:49.831709 > 35 bytes data, server => client 02:02:49.831720 '221 curl ESMTP server signing off\r\n' 02:02:49.832347 ====> Client disconnect 02:02:49.832914 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-954 mail body === End of file stdin-for-954 === Start of file valgrind954 ==124023== ==124023== Process terminating with default action of signal 4 (SIGILL) ==124023== Illegal opcode at address 0x10B08D ==124023== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124023== by 0x10B08D: main (tool_main.c:232) === End of file valgrind954 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0956...[SMTP without SMTPUTF8 support - UTF-8 based recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind956 ../src/curl -q --output log/4/curl956.out --include --trace-ascii log/4/trace956 --trace-config all --trace-time smtp://127.0.0.1:35635/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/4/stdout956 2> log/4/stderr956 956: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 956 === Start of file server.cmd Testnum 956 === End of file server.cmd === Start of file smtp_server.log 02:02:49.850753 ====> Client connect 02:02:49.850863 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.851125 < "EHLO verifiedserver" 02:02:49.851164 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.851326 < "HELP" 02:02:49.851354 > "214 WE ROOLZ: 120686[CR][LF]" 02:02:49.851367 return proof we are we 02:02:49.851551 < "QUIT" 02:02:49.851575 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.852341 MAIN sockfilt said DISC 02:02:49.852369 ====> Client disconnected 02:02:49.852417 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.050806 ====> Client connect 02:02:49.051012 Received DATA (on stdin) 02:02:49.051028 > 160 bytes data, server => client 02:02:49.051041 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.051052 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.051063 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.051138 < 21 bytes data, client => server 02:02:49.051150 'EHLO verifiedserver\r\n' 02:02:49.051305 Received DATA (on stdin) 02:02:49.051316 > 53 bytes data, server => client 02:02:49.051327 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.051381 < 6 bytes data, client => server 02:02:49.051391 'HELP\r\n' 02:02:49.051503 Received DATACMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test971.pl /startdir/src/curl/tests/../docs/options-in-versions /startdir/src/curl/tests/../docs/cmdline-opts > log/4/stdout971 2> log/4/stderr971 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind958 ../src/curl -q --output log/5/curl958.out --include --trace-ascii log/5/trace958 --trace-config all --trace-time smtp://127.0.0.1:42001/958 --mail-rcpt Användaren@example.com > log/5/stdout958 2> log/5/stderr958 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind955 ../src/curl -q --output log/11/curl955.out --include --trace-ascii log/11/trace955 --trace-config all --trace-time smtp://127.0.0.1:33099/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/11/stdout955 2> log/11/stderr955 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind957 ../src/curl -q --output log/10/curl957.out --include --trace-ascii log/10/trace957 --trace-config all --trace-time smtp://127.0.0.1:46019/957 --mail-rcpt Användaren > log/10/stdout957 2> log/10/stderr957 (on stdin) 02:02:49.051514 > 22 bytes data, server => client 02:02:49.051524 '214 WE ROOLZ: 120686\r\n' 02:02:49.051600 < 6 bytes data, client => server 02:02:49.051612 'QUIT\r\n' 02:02:49.051712 Received DATA (on stdin) 02:02:49.051722 > 35 bytes data, server => client 02:02:49.051732 '221 curl ESMTP server signing off\r\n' 02:02:49.051888 ====> Client disconnect 02:02:49.052554 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-956 From: different To: another body === End of file stdin-for-956 === Start of file valgrind956 ==124201== ==124201== Process terminating with default action of signal 4 (SIGILL) ==124201== Illegal opcode at address 0x10B08D ==124201== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124201== by 0x10B08D: main (tool_main.c:232) === End of file valgrind956 * starts no server test 0971...[Verify that options-in-versions and docs/cmdline-opts are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test971.pl /startdir/src/curl/tests/../docs/options-in-versions /startdir/src/curl/tests/../docs/cmdline-opts > log/4/stdout971 2> log/4/stderr971 valgrind SKIPPED -r-----e--- OK (854 out of 1584, remaining: 01:27, took 0.026s, duration: 01:42) setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0958...[SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind958 ../src/curl -q --output log/5/curl958.out --include --trace-ascii log/5/trace958 --trace-config all --trace-time smtp://127.0.0.1:42001/958 --mail-rcpt Användaren@example.com > log/5/stdout958 2> log/5/stderr958 958: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 958 === Start of file server.cmd Testnum 958 === End of file server.cmd === Start of file smtp_server.log 02:02:49.881317 ====> Client connect 02:02:49.881435 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.881687 < "EHLO verifiedserver" 02:02:49.882074 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.882254 < "HELP" 02:02:49.882282 > "214 WE ROOLZ: 120666[CR][LF]" 02:02:49.882296 return proof we are we 02:02:49.882472 < "QUIT" 02:02:49.882497 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.883110 MAIN sockfilt said DISC 02:02:49.883134 ====> Client disconnected 02:02:49.883178 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.081372 ====> Client connect 02:02:49.081583 Received DATA (on stdin) 02:02:49.081597 > 160 bytes data, server => client 02:02:49.081611 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.081623 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.081634 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.081704 < 21 bytes data, client => server 02:02:49.081717 'EHLO verifiedserver\r\n' 02:02:49.082220 Received DATA (on stdin) 02:02:49.082235 > 53 bytes data, server => client 02:02:49.082247 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.082308 < 6 bytes data, client => server 02:02:49.082320 'HELP\r\n' 02:02:49.082433 Received DATA (on stdin) 02:02:49.082445 > 22 bytes data, server => client 02:02:49.082455 '214 WE ROOLZ: 120666\r\n' 02:02:49.082531 < 6 bytes data, client => server 02:02:49.082544 'QUIT\r\n' 02:02:49.082635 Received DATA (on stdin) 02:02:49.082646 > 35 bytes data, server => client 02:02:49.082656 '221 curl ESMTP server signing off\r\n' 02:02:49.083203 ====> Client disconnect 02:02:49.083317 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind958 ==124279== ==124279== Process terminating with default action of signal 4 (SIGILL) ==124279== Illegal opcode at address 0x10B08D ==124279== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124279== by 0x10B08D: main (tool_main.c:232) === End of file valgrind958 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0955...[SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind955 ../src/curl -q --output log/11/curl955.out --include --trace-ascii log/11/trace955 --trace-config all --trace-time smtp://127.0.0.1:33099/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/11/stdout955 2> log/11/stderr955 955: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 955 === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 955 === End of file server.cmd === Start of file smtp_server.log 02:02:49.838474 ====> Client connect 02:02:49.838608 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.838866 < "EHLO verifiedserver" 02:02:49.838902 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.839056 < "HELP" 02:02:49.839082 > "214 WE ROOLZ: 120934[CR][LF]" 02:02:49.839095 return proof we are we 02:02:49.839276 < "QUIT" 02:02:49.839300 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.839932 MAIN sockfilt said DISC 02:02:49.839958 ====> Client disconnected 02:02:49.840002 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:50.038511 ====> Client connect 02:02:50.038755 Received DATA (on stdin) 02:02:50.038768 > 160 bytes data, server => client 02:02:50.038784 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.038795 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.038806 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.038876 < 21 bytes data, client => server 02:02:50.038888 'EHLO verifiedserver\r\n' 02:02:50.039041 Received DATA (on stdin) 02:02:50.039052 > 53 bytes data, server => client 02:02:50.039063 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:50.039116 < 6 bytes data, client => server 02:02:50.039127 'HELP\r\n' 02:02:50.039231 Received DATA (on stdin) 02:02:50.039242 > 22 bytes data, server => client 02:02:50.039252 '214 WE ROOLZ: 120934\r\n' 02:02:50.039332 < 6 bytes data, client => server 02:02:50.039346 'QUIT\r\n' 02:02:50.039453 Received DATA (on stdin) 02:02:50.039466 > 35 bytes data, server => client 02:02:50.039477 '221 curl ESMTP server signing off\r\n' 02:02:50.040025 ====> Client disconnect 02:02:50.040138 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-955 From: different To: another body === End of file stdin-for-955 === Start of file valgrind955 ==124189== ==124189== Process terminating with default action of signal 4 (SIGILL) ==124189== Illegal opcode at address 0x10B08D ==124189== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124189== by 0x10B08D: main (tool_main.c:232) === End of file valgrind955 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0957...[SMTP VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind957 ../src/curl -q --output log/10/curl957.out --include --trace-ascii log/10/trace957 --trace-config all --trace-time smtp://127.0.0.1:46019/957 --mail-rcpt Användaren > log/10/stdout95CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind962 ../src/curl -q --output log/9/curl962.out --include --trace-ascii log/9/trace962 --trace-config all --trace-time smtp://127.0.0.1:46307/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/9/stdout962 2> log/9/stderr962 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind966 ../src/curl -q --output log/7/curl966.out --include --trace-ascii log/7/trace966 --trace-config all --trace-time smtp://127.0.0.1:42825/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/7/stdout966 2> log/7/stderr966 7 2> log/10/stderr957 957: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 957 === Start of file server.cmd Testnum 957 === End of file server.cmd === Start of file smtp_server.log 02:02:49.878861 ====> Client connect 02:02:49.879000 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.879286 < "EHLO verifiedserver" 02:02:49.879327 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.879776 < "HELP" 02:02:49.879807 > "214 WE ROOLZ: 120935[CR][LF]" 02:02:49.879820 return proof we are we 02:02:49.880031 < "QUIT" 02:02:49.880058 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.880217 MAIN sockfilt said DISC 02:02:49.880243 ====> Client disconnected 02:02:49.880288 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:50.078901 ====> Client connect 02:02:50.079149 Received DATA (on stdin) 02:02:50.079164 > 160 bytes data, server => client 02:02:50.079177 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.079189 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.079200 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.079275 < 21 bytes data, client => server 02:02:50.079289 'EHLO verifiedserver\r\n' 02:02:50.079470 Received DATA (on stdin) 02:02:50.079484 > 53 bytes data, server => client 02:02:50.079495 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:50.079551 < 6 bytes data, client => server 02:02:50.079563 'HELP\r\n' 02:02:50.079958 Received DATA (on stdin) 02:02:50.079971 > 22 bytes data, server => client 02:02:50.079982 '214 WE ROOLZ: 120935\r\n' 02:02:50.080082 < 6 bytes data, client => server 02:02:50.080098 'QUIT\r\n' 02:02:50.080197 Received DATA (on stdin) 02:02:50.080209 > 35 bytes data, server => client 02:02:50.080220 '221 curl ESMTP server signing off\r\n' 02:02:50.080310 ====> Client disconnect 02:02:50.080425 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind957 ==124276== ==124276== Process terminating with default action of signal 4 (SIGILL) ==124276== Illegal opcode at address 0x10B08D ==124276== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124276== by 0x10B08D: main (tool_main.c:232) === End of file valgrind957 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0962...[SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind962 ../src/curl -q --output log/9/curl962.out --include --trace-ascii log/9/trace962 --trace-config all --trace-time smtp://127.0.0.1:46307/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/9/stdout962 2> log/9/stderr962 962: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 962 === Start of file server.cmd Testnum 962 === End of file server.cmd === Start of file smtp_server.log 02:02:49.900402 ====> Client connect 02:02:49.900538 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:49.900931 < "EHLO verifiedserver" 02:02:49.900974 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:49.902625 < "HELP" 02:02:49.902659 > "214 WE ROOLZ: 120680[CR][LF]" 02:02:49.902675 return proof we are we 02:02:49.902898 < "QUIT" 02:02:49.902924 > "221 curl ESMTP server signing off[CR][LF]" 02:02:49.903140 MAIN sockfilt said DISC 02:02:49.903167 ====> Client disconnected 02:02:49.903224 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.100441 ====> Client connect 02:02:49.100688 Received DATA (on stdin) 02:02:49.100703 > 160 bytes data, server => client 02:02:49.100716 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.100727 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.100738 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.100825 < 21 bytes data, client => server 02:02:49.100838 'EHLO verifiedserver\r\n' 02:02:49.101127 Received DATA (on stdin) 02:02:49.101142 > 53 bytes data, server => client 02:02:49.101154 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.102654 < 6 bytes data, client => server 02:02:49.102671 'HELP\r\n' 02:02:49.102813 Received DATA (on stdin) 02:02:49.102825 > 22 bytes data, server => client 02:02:49.102836 '214 WE ROOLZ: 120680\r\n' 02:02:49.102934 < 6 bytes data, client => server 02:02:49.102948 'QUIT\r\n' 02:02:49.103089 Received DATA (on stdin) 02:02:49.103102 > 35 bytes data, server => client 02:02:49.103112 '221 curl ESMTP server signing off\r\n' 02:02:49.103231 ====> Client disconnect 02:02:49.103362 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-962 From: different To: another body === End of file stdin-for-962 === Start of file valgrind962 ==124348== ==124348== Process terminating with default action of signal 4 (SIGILL) ==124348== Illegal opcode at address 0x10B08D ==124348== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124348== by 0x10B08D: main (tool_main.c:232) === End of file valgrind962 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0966...[SMTP with SMTPUTF8 support - UTF-8 based recipient] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind966 ../src/curl -q --output log/7/curl966.out --include --trace-ascii log/7/trace966 --trace-config all --trace-time smtp://127.0.0.1:42825/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/7/stdout966 2> log/7/stderr966 966: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 966 === Start of file server.cmd CAPA SMTPUTF8 Testnum 966 === End of file server.cmd === Start of file smtp_server.log 02:02:50.175612 ====> Client connect 02:02:50.175719 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.175952 < "EHLO verifiedserver" 02:02:50.175991 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:50.176395 < "HELP" 02:02:50.176422 > "214 WE ROOLZ: 120804[CR][LF]" 02:02:50.176436 return proof we are we 02:02:50.176616 < "QUIT" 02:02:50.176638 > "221 curl ESMTP server signing off[CR][LF]" 02:02:50.177203 MAIN sockfilt said DISC 02:02:50.177226 ====> Client disconnected 02:02:50.177270 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:50.375667 ====> Client connect 02:02:50.375864 Received DATA (on stdin) 02:02:50.375878 > 160 bytes data, server => client 02:02:50.375889 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.375899 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.375909 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.375973 < 21 bytes data, client => server 02:02:50.375985 'EHLO verifiedserver\r\n' 02:02:50.376355 Received DATA (on stdin) 02:02:50.376374 > 53 bytes data, server => client 02:02:50.376387 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:50.376449 < 6 bytes data, client => server 02:02:50.376464 'HELP\r\n' 02:02:50.376572 Received DCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind963 ../src/curl -q --output log/2/curl963.out --include --trace-ascii log/2/trace963 --trace-config all --trace-time smtp://127.0.0.1:40763/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/2/stdout963 2> log/2/stderr963 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind965 ../src/curl -q --output log/3/curl965.out --include --trace-ascii log/3/trace965 --trace-config all --trace-time smtp://127.0.0.1:33609/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/3/stdout965 2> log/3/stderr965 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind964 ../src/curl -q --output log/6/curl964.out --include --trace-ascii log/6/trace964 --trace-config all --trace-time smtp://127.0.0.1:36521/964 --mail-rcpt user@åäö.se > log/6/stdout964 2> log/6/stderr964 ATA (on stdin) 02:02:50.376583 > 22 bytes data, server => client 02:02:50.376593 '214 WE ROOLZ: 120804\r\n' 02:02:50.376680 < 6 bytes data, client => server 02:02:50.376692 'QUIT\r\n' 02:02:50.376774 Received DATA (on stdin) 02:02:50.376784 > 35 bytes data, server => client 02:02:50.376794 '221 curl ESMTP server signing off\r\n' 02:02:50.377298 ====> Client disconnect 02:02:50.377408 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-966 From: different To: another body === End of file stdin-for-966 === Start of file valgrind966 ==124619== ==124619== Process terminating with default action of signal 4 (SIGILL) ==124619== Illegal opcode at address 0x10B08D ==124619== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124619== by 0x10B08D: main (tool_main.c:232) === End of file valgrind966 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0963...[SMTP without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind963 ../src/curl -q --output log/2/curl963.out --include --trace-ascii log/2/trace963 --trace-config all --trace-time smtp://127.0.0.1:40763/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/2/stdout963 2> log/2/stderr963 963: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 963 === Start of file server.cmd Testnum 963 === End of file server.cmd === Start of file smtp_server.log 02:02:50.072880 ====> Client connect 02:02:50.073016 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.073605 < "EHLO verifiedserver" 02:02:50.073643 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:50.073797 < "HELP" 02:02:50.073823 > "214 WE ROOLZ: 120689[CR][LF]" 02:02:50.073836 return proof we are we 02:02:50.074021 < "QUIT" 02:02:50.074043 > "221 curl ESMTP server signing off[CR][LF]" 02:02:50.074690 MAIN sockfilt said DISC 02:02:50.074715 ====> Client disconnected 02:02:50.074760 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:49.272897 ====> Client connect 02:02:49.273162 Received DATA (on stdin) 02:02:49.273175 > 160 bytes data, server => client 02:02:49.273404 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:49.273418 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:49.273428 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:49.273600 < 21 bytes data, client => server 02:02:49.273619 'EHLO verifiedserver\r\n' 02:02:49.273783 Received DATA (on stdin) 02:02:49.273795 > 53 bytes data, server => client 02:02:49.273806 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:49.273859 < 6 bytes data, client => server 02:02:49.273870 'HELP\r\n' 02:02:49.273971 Received DATA (on stdin) 02:02:49.273982 > 22 bytes data, server => client 02:02:49.273993 '214 WE ROOLZ: 120689\r\n' 02:02:49.274067 < 6 bytes data, client => server 02:02:49.274079 'QUIT\r\n' 02:02:49.274180 Received DATA (on stdin) 02:02:49.274191 > 35 bytes data, server => client 02:02:49.274201 '221 curl ESMTP server signing off\r\n' 02:02:49.274784 ====> Client disconnect 02:02:49.274895 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-963 From: different To: another body === End of file stdin-for-963 === Start of file valgrind963 ==124492== ==124492== Process terminating with default action of signal 4 (SIGILL) ==124492== Illegal opcode at address 0x10B08D ==124492== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124492== by 0x10B08D: main (tool_main.c:232) === End of file valgrind963 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0965...[SMTP with SMTPUTF8 support - UTF-8 based sender] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind965 ../src/curl -q --output log/3/curl965.out --include --trace-ascii log/3/trace965 --trace-config all --trace-time smtp://127.0.0.1:33609/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/3/stdout965 2> log/3/stderr965 965: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 965 === Start of file server.cmd CAPA SMTPUTF8 Testnum 965 === End of file server.cmd === Start of file smtp_server.log 02:02:50.173253 ====> Client connect 02:02:50.173414 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.173744 < "EHLO verifiedserver" 02:02:50.173781 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:50.173951 < "HELP" 02:02:50.173980 > "214 WE ROOLZ: 109380[CR][LF]" 02:02:50.173994 return proof we are we 02:02:50.174337 < "QUIT" 02:02:50.174363 > "221 curl ESMTP server signing off[CR][LF]" 02:02:50.175633 MAIN sockfilt said DISC 02:02:50.175665 ====> Client disconnected 02:02:50.175717 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:50.366832 ====> Client connect 02:02:50.373567 Received DATA (on stdin) 02:02:50.373590 > 160 bytes data, server => client 02:02:50.373603 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.373615 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.373626 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.373750 < 21 bytes data, client => server 02:02:50.373763 'EHLO verifiedserver\r\n' 02:02:50.373921 Received DATA (on stdin) 02:02:50.373933 > 53 bytes data, server => client 02:02:50.373944 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:50.374010 < 6 bytes data, client => server 02:02:50.374022 'HELP\r\n' 02:02:50.374130 Received DATA (on stdin) 02:02:50.374141 > 22 bytes data, server => client 02:02:50.374152 '214 WE ROOLZ: 109380\r\n' 02:02:50.374243 < 6 bytes data, client => server 02:02:50.374256 'QUIT\r\n' 02:02:50.374506 Received DATA (on stdin) 02:02:50.374519 > 35 bytes data, server => client 02:02:50.374530 '221 curl ESMTP server signing off\r\n' 02:02:50.375475 ====> Client disconnect 02:02:50.375854 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-965 From: different To: another body === End of file stdin-for-965 === Start of file valgrind965 ==124597== ==124597== Process terminating with default action of signal 4 (SIGILL) ==124597== Illegal opcode at address 0x10B08D ==124597== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124597== by 0x10B08D: main (tool_main.c:232) === End of file valgrind965 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0964...[SMTP external VRFY without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind964 ../src/curl -q --output log/6/curl964.out --include --trace-ascii log/6/trace964 --trace-config all --trace-time smtp://127.0.0.1:36521/964 --mail-rcpt user@åäö.se > log/6/stdout964 2> log/6/stderr964 964: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 964 === Start of file server.cmd Testnum 964 === End of file server.cmd === Start CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind968 ../src/curl -q --output log/8/curl968.out --include --trace-ascii log/8/trace968 --trace-config all --trace-time smtp://127.0.0.1:42443/968 --mail-rcpt Användaren > log/8/stdout968 2> log/8/stderr968 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind967 ../src/curl -q --output log/12/curl967.out --include --trace-ascii log/12/trace967 --trace-config all --trace-time smtp://127.0.0.1:34955/967 --mail-rcpt Användaren@åäö.se > log/12/stdout967 2> log/12/stderr967 of file smtp_server.log 02:02:50.145068 ====> Client connect 02:02:50.145203 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.145486 < "EHLO verifiedserver" 02:02:50.145523 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:50.145686 < "HELP" 02:02:50.145714 > "214 WE ROOLZ: 120742[CR][LF]" 02:02:50.145727 return proof we are we 02:02:50.145925 < "QUIT" 02:02:50.145949 > "221 curl ESMTP server signing off[CR][LF]" 02:02:50.146630 MAIN sockfilt said DISC 02:02:50.146656 ====> Client disconnected 02:02:50.146702 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:50.344484 ====> Client connect 02:02:50.345353 Received DATA (on stdin) 02:02:50.345369 > 160 bytes data, server => client 02:02:50.345382 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.345397 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.345408 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.345489 < 21 bytes data, client => server 02:02:50.345502 'EHLO verifiedserver\r\n' 02:02:50.345664 Received DATA (on stdin) 02:02:50.345677 > 53 bytes data, server => client 02:02:50.345688 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:50.345744 < 6 bytes data, client => server 02:02:50.345756 'HELP\r\n' 02:02:50.345864 Received DATA (on stdin) 02:02:50.345876 > 22 bytes data, server => client 02:02:50.345886 '214 WE ROOLZ: 120742\r\n' 02:02:50.345983 < 6 bytes data, client => server 02:02:50.345997 'QUIT\r\n' 02:02:50.346085 Received DATA (on stdin) 02:02:50.346096 > 35 bytes data, server => client 02:02:50.346106 '221 curl ESMTP server signing off\r\n' 02:02:50.346723 ====> Client disconnect 02:02:50.346838 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind964 ==124554== ==124554== Process terminating with default action of signal 4 (SIGILL) ==124554== Illegal opcode at address 0x10B08D ==124554== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124554== by 0x10B08D: main (tool_main.c:232) === End of file valgrind964 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0968...[SMTP VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind968 ../src/curl -q --output log/8/curl968.out --include --trace-ascii log/8/trace968 --trace-config all --trace-time smtp://127.0.0.1:42443/968 --mail-rcpt Användaren > log/8/stdout968 2> log/8/stderr968 968: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 968 === Start of file server.cmd CAPA SMTPUTF8 Testnum 968 === End of file server.cmd === Start of file smtp_server.log 02:02:50.365331 ====> Client connect 02:02:50.365485 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.368304 < "EHLO verifiedserver" 02:02:50.368353 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:50.368548 < "HELP" 02:02:50.368578 > "214 WE ROOLZ: 120866[CR][LF]" 02:02:50.368594 return proof we are we 02:02:50.368798 < "QUIT" 02:02:50.368825 > "221 curl ESMTP server signing off[CR][LF]" 02:02:50.369679 MAIN sockfilt said DISC 02:02:50.369710 ====> Client disconnected 02:02:50.369768 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:50.563009 ====> Client connect 02:02:50.568127 Received DATA (on stdin) 02:02:50.568153 > 160 bytes data, server => client 02:02:50.568167 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.568180 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.568192 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.568281 < 21 bytes data, client => server 02:02:50.568296 'EHLO verifiedserver\r\n' 02:02:50.568513 Received DATA (on stdin) 02:02:50.568528 > 53 bytes data, server => client 02:02:50.568541 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:50.568599 < 6 bytes data, client => server 02:02:50.568612 'HELP\r\n' 02:02:50.568732 Received DATA (on stdin) 02:02:50.568745 > 22 bytes data, server => client 02:02:50.568756 '214 WE ROOLZ: 120866\r\n' 02:02:50.568850 < 6 bytes data, client => server 02:02:50.568865 'QUIT\r\n' 02:02:50.568964 Received DATA (on stdin) 02:02:50.568976 > 35 bytes data, server => client 02:02:50.568987 '221 curl ESMTP server signing off\r\n' 02:02:50.569769 ====> Client disconnect 02:02:50.569909 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind968 ==124794== ==124794== Process terminating with default action of signal 4 (SIGILL) ==124794== Illegal opcode at address 0x10B08D ==124794== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124794== by 0x10B08D: main (tool_main.c:232) === End of file valgrind968 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0967...[SMTP external VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind967 ../src/curl -q --output log/12/curl967.out --include --trace-ascii log/12/trace967 --trace-config all --trace-time smtp://127.0.0.1:34955/967 --mail-rcpt Användaren@åäö.se > log/12/stdout967 2> log/12/stderr967 967: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 967 === Start of file server.cmd CAPA SMTPUTF8 Testnum 967 === End of file server.cmd === Start of file smtp_server.log 02:02:50.368074 ====> Client connect 02:02:50.368184 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.368445 < "EHLO verifiedserver" 02:02:50.368481 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:50.368640 < "HELP" 02:02:50.368667 > "214 WE ROOLZ: 109452[CR][LF]" 02:02:50.368680 return proof we are we 02:02:50.368875 < "QUIT" 02:02:50.368898 > "221 curl ESMTP server signing off[CR][LF]" 02:02:50.369784 MAIN sockfilt said DISC 02:02:50.369810 ====> Client disconnected 02:02:50.369860 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:50.568130 ====> Client connect 02:02:50.568330 Received DATA (on stdin) 02:02:50.568344 > 160 bytes data, server => client 02:02:50.568356 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.568368 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.568379 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.568455 < 21 bytes data, client => server 02:02:50.568468 'EHLO verifiedserver\r\n' 02:02:50.568622 Received DATA (on stdin) 02:02:50.568634 > 53 bytes data, server => client 02:02:50.568646 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:50.568701 < 6 bytes data, client => server 02:02:50.568712 'HELP\r\n' 02:02:50.568816 Received DATA (on stdin) 02:02:50.568832 > 22 bytes data, server => client 02:02:50.568842 '214 WE ROOLZ: 109452\r\n' 02:02:50.568936 < 6 bytes data, client => server 02:02:50.568949 'QUIT\r\n' 02:02:50.569035 Received DATA (on stdin) 02:02:50.569045 > 35 bytes data, server => client 02:02:50.569056 '221 curl ESMTP server signing off\r\n' 02:02:50.569876 ====> Client disconnect 02:02:50.569996 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind967 ==124786== ==124786== Process terminating with defauCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind969 ../src/curl -q --output log/1/curl969.out --include --trace-ascii log/1/trace969 --trace-config all --trace-time smtp://127.0.0.1:41437/969 --mail-rcpt Friends -X EXPN > log/1/stdout969 2> log/1/stderr969 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind974 ../src/curl -q --output log/5/curl974.out --include --trace-ascii log/5/trace974 --trace-config all --trace-time -x http://127.0.0.1:33361 http://firsthost.com -L -u joe:secret > log/5/stdout974 2> log/5/stderr974 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind977 ../src/curl -q --output log/9/curl977.out --include --trace-ascii log/9/trace977 --trace-config all --trace-time -x http://127.0.0.1:38509 http://firsthost.me. -c log/9/cookies977 > log/9/stdout977 2> log/9/stderr977 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind973 ../src/curl -q --output log/4/curl973.out --include --trace-ascii log/4/trace973 --trace-config all --trace-time http://127.0.0.1:36813/973 -L -u joe:secret > log/4/stdout973 2> log/4/stderr973 lt action of signal 4 (SIGILL) ==124786== Illegal opcode at address 0x10B08D ==124786== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124786== by 0x10B08D: main (tool_main.c:232) === End of file valgrind967 test 0969...[SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind969 ../src/curl -q --output log/1/curl969.out --include --trace-ascii log/1/trace969 --trace-config all --trace-time smtp://127.0.0.1:41437/969 --mail-rcpt Friends -X EXPN > log/1/stdout969 2> log/1/stderr969 969: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 969 === Start of file server.cmd CAPA SMTPUTF8 Testnum 969 === End of file server.cmd === Start of file smtp_server.log 02:02:50.380448 ====> Client connect 02:02:50.380576 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.380855 < "EHLO verifiedserver" 02:02:50.380892 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:50.381058 < "HELP" 02:02:50.381086 > "214 WE ROOLZ: 109154[CR][LF]" 02:02:50.381100 return proof we are we 02:02:50.381308 < "QUIT" 02:02:50.381335 > "221 curl ESMTP server signing off[CR][LF]" 02:02:50.381741 MAIN sockfilt said DISC 02:02:50.381769 ====> Client disconnected 02:02:50.381819 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:50.580378 ====> Client connect 02:02:50.580724 Received DATA (on stdin) 02:02:50.580739 > 160 bytes data, server => client 02:02:50.580752 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.580764 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.580775 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.580869 < 21 bytes data, client => server 02:02:50.580882 'EHLO verifiedserver\r\n' 02:02:50.581035 Received DATA (on stdin) 02:02:50.581047 > 53 bytes data, server => client 02:02:50.581059 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:50.581116 < 6 bytes data, client => server 02:02:50.581128 'HELP\r\n' 02:02:50.581237 Received DATA (on stdin) 02:02:50.581249 > 22 bytes data, server => client 02:02:50.581259 '214 WE ROOLZ: 109154\r\n' 02:02:50.581362 < 6 bytes data, client => server 02:02:50.581376 'QUIT\r\n' 02:02:50.581474 Received DATA (on stdin) 02:02:50.581486 > 35 bytes data, server => client 02:02:50.581498 '221 curl ESMTP server signing off\r\n' 02:02:50.581828 ====> Client disconnect 02:02:50.581957 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind969 ==124795== ==124795== Process terminating with default action of signal 4 (SIGILL) ==124795== Illegal opcode at address 0x10B08D ==124795== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==124795== by 0x10B08D: main (tool_main.c:232) === End of file valgrind969 test 0974...[HTTP with auth redirected to HTTP on a diff port w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind974 ../src/curl -q --output log/5/curl974.out --include --trace-ascii log/5/trace974 --trace-config all --trace-time -x http://127.0.0.1:33361 http://firsthost.com -L -u joe:secret > log/5/stdout974 2> log/5/stderr974 974: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 974 === Start of file http_server.log 02:02:50.846972 ====> Client connect 02:02:50.847007 accept_connection 3 returned 4 02:02:50.847024 accept_connection 3 returned 0 02:02:50.847039 Read 93 bytes 02:02:50.847050 Process 93 bytes request 02:02:50.847065 Got request: GET /verifiedserver HTTP/1.1 02:02:50.847075 Are-we-friendly question received 02:02:50.847101 Wrote request (93 bytes) input to log/5/server.input 02:02:50.847120 Identifying ourselves as friends 02:02:50.847193 Response sent (56 bytes) and written to log/5/server.response 02:02:50.847206 special request received, no persistency 02:02:50.847216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 974 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind974 ==125035== ==125035== Process terminating with default action of signal 4 (SIGILL) ==125035== Illegal opcode at address 0x10B08D ==125035== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125035== by 0x10B08D: main (tool_main.c:232) === End of file valgrind974 test 0977...[URL with trailing dot and receiving a cookie for the TLD with dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind977 ../src/curl -q --output log/9/curl977.out --include --trace-ascii log/9/trace977 --trace-config all --trace-time -x http://127.0.0.1:38509 http://firsthost.me. -c log/9/cookies977 > log/9/stdout977 2> log/9/stderr977 977: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 977 === Start of file http_server.log 02:02:50.879100 ====> Client connect 02:02:50.879145 accept_connection 3 returned 4 02:02:50.879163 accept_connection 3 returned 0 02:02:50.879179 Read 93 bytes 02:02:50.879190 Process 93 bytes request 02:02:50.879206 Got request: GET /verifiedserver HTTP/1.1 02:02:50.879216 Are-we-friendly question received 02:02:50.879239 Wrote request (93 bytes) input to log/9/server.input 02:02:50.879256 Identifying ourselves as friends 02:02:50.879336 Response sent (56 bytes) and written to log/9/server.response 02:02:50.879348 special request received, no persistency 02:02:50.879357 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 977 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind977 ==125072== ==125072== Process terminating with default action of signal 4 (SIGILL) ==125072== Illegal opcode at address 0x10B08D ==125072== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125072== by 0x10B08D: main (tool_main.c:232) === End of file valgrind977 test 0973...[HTTP with auth redirected to FTP w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind973 ../srCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind976 ../src/curl -q --output log/10/curl976.out --include --trace-ascii log/10/trace976 --trace-config all --trace-time -x http://127.0.0.1:42929 http://firsthost.com --location-trusted -u joe:secret > log/10/stdout976 2> log/10/stderr976 c/curl -q --output log/4/curl973.out --include --trace-ascii log/4/trace973 --trace-config all --trace-time http://127.0.0.1:36813/973 -L -u joe:secret > log/4/stdout973 2> log/4/stderr973 973: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 973 === Start of file ftp_server.log 02:02:50.660710 ====> Client connect 02:02:50.660853 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.661126 < "USER anonymous" 02:02:50.661162 > "331 We are happy you popped in![CR][LF]" 02:02:50.661345 < "PASS ftp@example.com" 02:02:50.661373 > "230 Welcome you silly person[CR][LF]" 02:02:50.661538 < "PWD" 02:02:50.661572 > "257 "/" is current directory[CR][LF]" 02:02:50.661781 < "EPSV" 02:02:50.661808 ====> Passive DATA channel requested by client 02:02:50.661822 DATA sockfilt for passive data channel starting... 02:02:50.664225 DATA sockfilt for passive data channel started (pid 125027) 02:02:50.664324 DATA sockfilt for passive data channel listens on port 36565 02:02:50.664361 > "229 Entering Passive Mode (|||36565|)[LF]" 02:02:50.664378 Client has been notified that DATA conn will be accepted on port 36565 02:02:50.664637 Client connects to port 36565 02:02:50.664667 ====> Client established passive DATA connection on port 36565 02:02:50.664729 < "TYPE I" 02:02:50.664755 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:50.664906 < "SIZE verifiedserver" 02:02:50.664938 > "213 17[CR][LF]" 02:02:50.665107 < "RETR verifiedserver" 02:02:50.665141 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:50.665214 =====> Closing passive DATA connection... 02:02:50.665229 Server disconnects passive DATA connection 02:02:50.665464 Server disconnected passive DATA connection 02:02:50.665491 DATA sockfilt for passive data channel quits (pid 125027) 02:02:50.665666 DATA sockfilt for passive data channel quit (pid 125027) 02:02:50.665685 =====> Closed passive DATA connection 02:02:50.665709 > "226 File transfer complete[CR][LF]" 02:02:50.708780 < "QUIT" 02:02:50.708833 > "221 bye bye baby[CR][LF]" 02:02:50.715182 MAIN sockfilt said DISC 02:02:50.715238 ====> Client disconnected 02:02:50.715313 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:50.860756 ====> Client connect 02:02:50.861007 Received DATA (on stdin) 02:02:50.861023 > 160 bytes data, server => client 02:02:50.861036 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.861048 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.861059 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.861134 < 16 bytes data, client => server 02:02:50.861150 'USER anonymous\r\n' 02:02:50.861304 Received DATA (on stdin) 02:02:50.861317 > 33 bytes data, server => client 02:02:50.861329 '331 We are happy you popped in!\r\n' 02:02:50.861389 < 22 bytes data, client => server 02:02:50.861403 'PASS ftp@example.com\r\n' 02:02:50.861514 Received DATA (on stdin) 02:02:50.861526 > 30 bytes data, server => client 02:02:50.861538 '230 Welcome you silly person\r\n' 02:02:50.861589 < 5 bytes data, client => server 02:02:50.861602 'PWD\r\n' 02:02:50.861712 Received DATA (on stdin) 02:02:50.861725 > 30 bytes data, server => client 02:02:50.861736 '257 "/" is current directory\r\n' 02:02:50.861796 < 6 bytes data, client => server 02:02:50.861836 'EPSV\r\n' 02:02:50.864524 Received DATA (on stdin) 02:02:50.864538 > 38 bytes data, server => client 02:02:50.864550 '229 Entering Passive Mode (|||36565|)\n' 02:02:50.864698 < 8 bytes data, client => server 02:02:50.864715 'TYPE I\r\n' 02:02:50.864893 Received DATA (on stdin) 02:02:50.864905 > 33 bytes data, server => client 02:02:50.864916 '200 I modify TYPE as you wanted\r\n' 02:02:50.864967 < 21 bytes data, client => server 02:02:50.864978 'SIZE verifiedserver\r\n' 02:02:50.865076 Received DATA (on stdin) 02:02:50.865088 > 8 bytes data, server => client 02:02:50.865098 '213 17\r\n' 02:02:50.865162 < 21 bytes data, client => server 02:02:50.865175 'RETR verifiedserver\r\n' 02:02:50.865368 Received DATA (on stdin) 02:02:50.865380 > 29 bytes data, server => client 02:02:50.865390 '150 Binary junk (17 bytes).\r\n' 02:02:50.865847 Received DATA (on stdin) 02:02:50.865860 > 28 bytes data, server => client 02:02:50.865871 '226 File transfer complete\r\n' 02:02:50.908730 < 6 bytes data, client => server 02:02:50.908764 'QUIT\r\n' 02:02:50.914307 Received DATA (on stdin) 02:02:50.914335 > 18 bytes data, server => client 02:02:50.914347 '221 bye bye baby\r\n' 02:02:50.914873 ====> Client disconnect 02:02:50.915456 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:50.864068 Running IPv4 version 02:02:50.864129 Listening on port 36565 02:02:50.864171 Wrote pid 125027 to log/4/server/ftp_sockdata.pid 02:02:50.864309 Received PING (on stdin) 02:02:50.864381 Received PORT (on stdin) 02:02:50.864733 ====> Client connect 02:02:50.865442 Received DATA (on stdin) 02:02:50.865456 > 17 bytes data, server => client 02:02:50.865467 'WE ROOLZ: 80536\r\n' 02:02:50.865495 Received DISC (on stdin) 02:02:50.865508 ====> Client forcibly disconnected 02:02:50.865637 Received QUIT (on stdin) 02:02:50.865649 quits 02:02:50.865691 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:02:50.815997 ====> Client connect 02:02:50.816030 accept_connection 3 returned 4 02:02:50.816047 accept_connection 3 returned 0 02:02:50.816062 Read 93 bytes 02:02:50.816073 Process 93 bytes request 02:02:50.816086 Got request: GET /verifiedserver HTTP/1.1 02:02:50.816127 Are-we-friendly question received 02:02:50.816152 Wrote request (93 bytes) input to log/4/server.input 02:02:50.816171 Identifying ourselves as friends 02:02:50.816240 Response sent (56 bytes) and written to log/4/server.response 02:02:50.816252 special request received, no persistency 02:02:50.816268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 973 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind973 ==125151== ==125151== Process terminating with default action of signal 4 (SIGILL) ==125151== Illegal opcode at address 0x10B08D ==125151== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125151== by 0x10B08D: main (tool_main.c:232) === End of file valgrind973 test 0976...[HTTP with auth redirected to HTTP on a diff port --location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind976 ../src/curl -q --output log/10/curl976.out --include --trace-ascii log/10/trace976 --trace-config all --trace-time -x http://127.0.0.1:42929 http://firsthost.com --location-trusted -u joe:secret > log/10/stdout976 2> log/10/stderr976 976: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 976 === Start of file http_server.log 02:02:50.851583 ====> Client connect 02:02:50.851618 accept_connection 3 returned 4 02:02:50.851635 accept_connection 3 returned 0 02:02:50.851650 Read 93 bytes 02:02:50.85166CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind975 ../src/curl -q --output log/11/curl975.out --include --trace-ascii log/11/trace975 --trace-config all --trace-time http://127.0.0.1:44137/975 --location-trusted -u joe:secret > log/11/stdout975 2> log/11/stderr975 0 Process 93 bytes request 02:02:50.851674 Got request: GET /verifiedserver HTTP/1.1 02:02:50.851685 Are-we-friendly question received 02:02:50.851711 Wrote request (93 bytes) input to log/10/server.input 02:02:50.851729 Identifying ourselves as friends 02:02:50.851802 Response sent (56 bytes) and written to log/10/server.response 02:02:50.851824 special request received, no persistency 02:02:50.851833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 976 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind976 ==125038== ==125038== Process terminating with default action of signal 4 (SIGILL) ==125038== Illegal opcode at address 0x10B08D ==125038== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125038== by 0x10B08D: main (tool_main.c:232) === End of file valgrind976 test 0975...[HTTP with auth redirected to FTP allowing auth to continue] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind975 ../src/curl -q --output log/11/curl975.out --include --trace-ascii log/11/trace975 --trace-config all --trace-time http://127.0.0.1:44137/975 --location-trusted -u joe:secret > log/11/stdout975 2> log/11/stderr975 975: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 975 === Start of file ftp_server.log 02:02:50.692086 ====> Client connect 02:02:50.692227 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:50.692487 < "USER anonymous" 02:02:50.692519 > "331 We are happy you popped in![CR][LF]" 02:02:50.692673 < "PASS ftp@example.com" 02:02:50.692696 > "230 Welcome you silly person[CR][LF]" 02:02:50.692838 < "PWD" 02:02:50.692866 > "257 "/" is current directory[CR][LF]" 02:02:50.693020 < "EPSV" 02:02:50.693044 ====> Passive DATA channel requested by client 02:02:50.693057 DATA sockfilt for passive data channel starting... 02:02:50.694675 DATA sockfilt for passive data channel started (pid 125077) 02:02:50.694775 DATA sockfilt for passive data channel listens on port 36697 02:02:50.694810 > "229 Entering Passive Mode (|||36697|)[LF]" 02:02:50.694828 Client has been notified that DATA conn will be accepted on port 36697 02:02:50.695072 Client connects to port 36697 02:02:50.695102 ====> Client established passive DATA connection on port 36697 02:02:50.695164 < "TYPE I" 02:02:50.695191 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:50.695361 < "SIZE verifiedserver" 02:02:50.695399 > "213 17[CR][LF]" 02:02:50.695566 < "RETR verifiedserver" 02:02:50.695600 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:50.695679 =====> Closing passive DATA connection... 02:02:50.695695 Server disconnects passive DATA connection 02:02:50.695872 Server disconnected passive DATA connection 02:02:50.695900 DATA sockfilt for passive data channel quits (pid 125077) 02:02:50.696083 DATA sockfilt for passive data channel quit (pid 125077) 02:02:50.696107 =====> Closed passive DATA connection 02:02:50.696133 > "226 File transfer complete[CR][LF]" 02:02:50.742104 < "QUIT" 02:02:50.742154 > "221 bye bye baby[CR][LF]" 02:02:50.742633 MAIN sockfilt said DISC 02:02:50.742665 ====> Client disconnected 02:02:50.742733 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:50.892126 ====> Client connect 02:02:50.892377 Received DATA (on stdin) 02:02:50.892392 > 160 bytes data, server => client 02:02:50.892405 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:50.892416 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:50.892427 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:50.892507 < 16 bytes data, client => server 02:02:50.892520 'USER anonymous\r\n' 02:02:50.892660 Received DATA (on stdin) 02:02:50.892672 > 33 bytes data, server => client 02:02:50.892683 '331 We are happy you popped in!\r\n' 02:02:50.892733 < 22 bytes data, client => server 02:02:50.892745 'PASS ftp@example.com\r\n' 02:02:50.892833 Received DATA (on stdin) 02:02:50.892844 > 30 bytes data, server => client 02:02:50.892855 '230 Welcome you silly person\r\n' 02:02:50.892902 < 5 bytes data, client => server 02:02:50.892913 'PWD\r\n' 02:02:50.893004 Received DATA (on stdin) 02:02:50.893015 > 30 bytes data, server => client 02:02:50.893026 '257 "/" is current directory\r\n' 02:02:50.893080 < 6 bytes data, client => server 02:02:50.893092 'EPSV\r\n' 02:02:50.894972 Received DATA (on stdin) 02:02:50.894986 > 38 bytes data, server => client 02:02:50.894998 '229 Entering Passive Mode (|||36697|)\n' 02:02:50.895118 < 8 bytes data, client => server 02:02:50.895135 'TYPE I\r\n' 02:02:50.895332 Received DATA (on stdin) 02:02:50.895346 > 33 bytes data, server => client 02:02:50.895358 '200 I modify TYPE as you wanted\r\n' 02:02:50.895413 < 21 bytes data, client => server 02:02:50.895426 'SIZE verifiedserver\r\n' 02:02:50.895528 Received DATA (on stdin) 02:02:50.895544 > 8 bytes data, server => client 02:02:50.895556 '213 17\r\n' 02:02:50.895620 < 21 bytes data, client => server 02:02:50.895633 'RETR verifiedserver\r\n' 02:02:50.895781 Received DATA (on stdin) 02:02:50.895798 > 29 bytes data, server => client 02:02:50.895810 '150 Binary junk (17 bytes).\r\n' 02:02:50.896273 Received DATA (on stdin) 02:02:50.896287 > 28 bytes data, server => client 02:02:50.896298 '226 File transfer complete\r\n' 02:02:50.942069 < 6 bytes data, client => server 02:02:50.942094 'QUIT\r\n' 02:02:50.942306 Received DATA (on stdin) 02:02:50.942319 > 18 bytes data, server => client 02:02:50.942329 '221 bye bye baby\r\n' 02:02:50.942718 ====> Client disconnect 02:02:50.942874 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:50.894527 Running IPv4 version 02:02:50.894655 Listening on port 36697 02:02:50.894694 Wrote pid 125077 to log/11/server/ftp_sockdata.pid 02:02:50.894712 Received PING (on stdin) 02:02:50.894837 Received PORT (on stdin) 02:02:50.895165 ====> Client connect 02:02:50.895836 Received DATA (on stdin) 02:02:50.895849 > 17 bytes data, server => client 02:02:50.895861 'WE ROOLZ: 80480\r\n' 02:02:50.895894 Received DISC (on stdin) 02:02:50.895908 ====> Client forcibly disconnected 02:02:50.896045 Received QUIT (on stdin) 02:02:50.896058 quits 02:02:50.896107 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:02:50.858570 ====> Client connect 02:02:50.858603 accept_connection 3 returned 4 02:02:50.858620 accept_connection 3 returned 0 02:02:50.858635 Read 93 bytes 02:02:50.858645 Process 93 bytes request 02:02:50.858659 Got request: GET /verifiedserver HTTP/1.1 02:02:50.858669 Are-we-friendly question received 02:02:50.858692 Wrote request (93 bytes) input to log/11/server.input 02:02:50.858710 Identifying ourselves as friends 02:02:50.858778 Response sent (56 bytes) and written to log/11/server.response 02:02:50.858790 special request received, no persistency 02:02:50.858800 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind980 ../src/curl -q --output log/6/curl980.out --include --trace-ascii log/6/trace980 --trace-config all --trace-time smtp://127.0.0.1:36521/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/6/stdout980 2> log/6/stderr980 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind978 ../src/curl -q --output log/7/curl978.out --include --trace-ascii log/7/trace978 --trace-config all --trace-time http://127.0.0.1:43753/978 --stderr log/7/redir --silent -w '%{stderr}nonsense\n' > log/7/stdout978 2> log/7/stderr978 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind979 ../src/curl -q --output log/2/curl979.out --include --trace-ascii log/2/trace979 --trace-config all --trace-time http://first:secret@127.0.0.1:38781/979 -L -u smith:doggie > log/2/stdout979 2> log/2/stderr979 server HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 975 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind975 ==125191== ==125191== Process terminating with default action of signal 4 (SIGILL) ==125191== Illegal opcode at address 0x10B08D ==125191== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125191== by 0x10B08D: main (tool_main.c:232) === End of file valgrind975 test 0980...[SMTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind980 ../src/curl -q --output log/6/curl980.out --include --trace-ascii log/6/trace980 --trace-config all --trace-time smtp://127.0.0.1:36521/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/6/stdout980 2> log/6/stderr980 980: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 980 === Start of file server.cmd CAPA STARTTLS AUTH PLAIN REPLY STARTTLS 454 currently unavailable\r\n235 Authenticated\r\n250 2.1.0 Sender ok\r\n250 2.1.5 Recipient ok\r\n354 Enter mail\r\n250 2.0.0 Accepted REPLY AUTH 535 5.7.8 Authentication credentials invalid Testnum 980 === End of file server.cmd === Start of file smtp_server.log 02:02:51.083021 ====> Client connect 02:02:51.083164 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:51.083485 < "EHLO verifiedserver" 02:02:51.083536 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:51.083734 < "HELP" 02:02:51.083769 > "214 WE ROOLZ: 120742[CR][LF]" 02:02:51.083785 return proof we are we 02:02:51.088644 < "QUIT" 02:02:51.088680 > "221 curl ESMTP server signing off[CR][LF]" 02:02:51.089551 MAIN sockfilt said DISC 02:02:51.089581 ====> Client disconnected 02:02:51.089637 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:51.283056 ====> Client connect 02:02:51.283322 Received DATA (on stdin) 02:02:51.283342 > 160 bytes data, server => client 02:02:51.283356 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:51.283369 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:51.283380 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:51.283469 < 21 bytes data, client => server 02:02:51.283488 'EHLO verifiedserver\r\n' 02:02:51.283685 Received DATA (on stdin) 02:02:51.283700 > 53 bytes data, server => client 02:02:51.283713 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:51.283775 < 6 bytes data, client => server 02:02:51.283790 'HELP\r\n' 02:02:51.288496 Received DATA (on stdin) 02:02:51.288521 > 22 bytes data, server => client 02:02:51.288534 '214 WE ROOLZ: 120742\r\n' 02:02:51.288669 < 6 bytes data, client => server 02:02:51.288684 'QUIT\r\n' 02:02:51.288819 Received DATA (on stdin) 02:02:51.288831 > 35 bytes data, server => client 02:02:51.288843 '221 curl ESMTP server signing off\r\n' 02:02:51.289640 ====> Client disconnect 02:02:51.289774 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-980 mail body === End of file stdin-for-980 === Start of file valgrind980 ==125384== ==125384== Process terminating with default action of signal 4 (SIGILL) ==125384== Illegal opcode at address 0x10B08D ==125384== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125384== by 0x10B08D: main (tool_main.c:232) === End of file valgrind980 test 0978...[verify that --stderr works for -w's stderr as well] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind978 ../src/curl -q --output log/7/curl978.out --include --trace-ascii log/7/trace978 --trace-config all --trace-time http://127.0.0.1:43753/978 --stderr log/7/redir --silent -w '%{stderr}nonsense\n' > log/7/stdout978 2> log/7/stderr978 978: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 978 === Start of file http_server.log 02:02:51.245915 ====> Client connect 02:02:51.245946 accept_connection 3 returned 4 02:02:51.245963 accept_connection 3 returned 0 02:02:51.245977 Read 93 bytes 02:02:51.245988 Process 93 bytes request 02:02:51.246003 Got request: GET /verifiedserver HTTP/1.1 02:02:51.246013 Are-we-friendly question received 02:02:51.246034 Wrote request (93 bytes) input to log/7/server.input 02:02:51.246052 Identifying ourselves as friends 02:02:51.246116 Response sent (56 bytes) and written to log/7/server.response 02:02:51.246127 special request received, no persistency 02:02:51.246138 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 978 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind978 ==125355== ==125355== Process terminating with default action of signal 4 (SIGILL) ==125355== Illegal opcode at address 0x10B08D ==125355== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125355== by 0x10B08D: main (tool_main.c:232) === End of file valgrind978 test 0979...[-u with redirect to absolute URL using same origin and auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind979 ../src/curl -q --output log/2/curl979.out --include --trace-ascii log/2/trace979 --trace-config all --trace-time http://first:secret@127.0.0.1:38781/979 -L -u smith:doggie > log/2/stdout979 2> log/2/stderr979 979: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 979 === Start of file http_server.log 02:02:51.246736 ====> Client connect 02:02:51.246768 accept_connection 3 returned 4 02:02:51.246784 accept_connection 3 returned 0 02:02:51.246798 Read 93 bytes 02:02:51.246809 Process 93 bytes request 02:02:51.246821 Got request: GET /verifiedserver HTTP/1.1 02:02:51.246831 Are-we-friendly question received 02:02:51.246864 Wrote request (93 bytes) input to log/2/server.input 02:02:51.246880 Identifying ourselves as friends 02:02:51.246947 Response sent (56 bytes) and written to log/2/server.response 02:02:51.246958 special request received, no persistency 02:02:51.246967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind982 ../src/curl -q --output log/8/curl982.out --include --trace-ascii log/8/trace982 --trace-config all --trace-time pop3://127.0.0.1:43389/982 -u user:secret --ssl > log/8/stdout982 2> log/8/stderr982 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind983 ../src/curl -q --output log/12/curl983.out --include --trace-ascii log/12/trace983 --trace-config all --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:40171/983 -T log/12/test983.txt -u user:secret -P 127.0.0.1 > log/12/stdout983 2> log/12/stderr983 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind981 ../src/curl -q --output log/3/curl981.out --include --trace-ascii log/3/trace981 --trace-config all --trace-time imap://127.0.0.1:36589/981 -T log/3/upload981 -u user:secret --ssl > log/3/stdout981 2> log/3/stderr981 ent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 979 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind979 ==125366== ==125366== Process terminating with default action of signal 4 (SIGILL) ==125366== Illegal opcode at address 0x10B08D ==125366== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125366== by 0x10B08D: main (tool_main.c:232) === End of file valgrind979 test 0982...[POP3 STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind982 ../src/curl -q --output log/8/curl982.out --include --trace-ascii log/8/trace982 --trace-config all --trace-time pop3://127.0.0.1:43389/982 -u user:secret --ssl > log/8/stdout982 2> log/8/stderr982 982: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 982 === Start of file pop3_server.log 02:02:51.232475 ====> Client connect 02:02:51.232644 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:51.234014 < "CAPA" 02:02:51.234062 > "-ERR Unrecognized command[CR][LF]" 02:02:51.234270 < "RETR verifiedserver" 02:02:51.234301 return proof we are we 02:02:51.234327 > "+OK Mail transfer starts[CR][LF]" 02:02:51.234347 > "WE ROOLZ: 101957[CR][LF]" 02:02:51.234370 > ".[CR][LF]" 02:02:51.279273 < "QUIT" 02:02:51.279317 > "+OK curl POP3 server signing off[CR][LF]" 02:02:51.280130 MAIN sockfilt said DISC 02:02:51.280155 ====> Client disconnected 02:02:51.280212 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:51.432128 ====> Client connect 02:02:51.432807 Received DATA (on stdin) 02:02:51.432827 > 178 bytes data, server => client 02:02:51.432840 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:51.432852 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:51.432864 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:51.432873 've \r\n' 02:02:51.433978 < 6 bytes data, client => server 02:02:51.434001 'CAPA\r\n' 02:02:51.434206 Received DATA (on stdin) 02:02:51.434221 > 27 bytes data, server => client 02:02:51.434234 '-ERR Unrecognized command\r\n' 02:02:51.434298 < 21 bytes data, client => server 02:02:51.434315 'RETR verifiedserver\r\n' 02:02:51.434512 Received DATA (on stdin) 02:02:51.434526 > 26 bytes data, server => client 02:02:51.434538 '+OK Mail transfer starts\r\n' 02:02:51.434566 Received DATA (on stdin) 02:02:51.434578 > 18 bytes data, server => client 02:02:51.434588 'WE ROOLZ: 101957\r\n' 02:02:51.434602 Received DATA (on stdin) 02:02:51.434613 > 3 bytes data, server => client 02:02:51.434624 '.\r\n' 02:02:51.479258 < 6 bytes data, client => server 02:02:51.479283 'QUIT\r\n' 02:02:51.479456 Received DATA (on stdin) 02:02:51.479467 > 34 bytes data, server => client 02:02:51.479478 '+OK curl POP3 server signing off\r\n' 02:02:51.480224 ====> Client disconnect 02:02:51.480349 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA STLS USER REPLY STLS -ERR currently unavailable\r\n+OK user accepted\r\n+OK authenticated REPLY PASS -ERR Authentication credentials invalid Testnum 982 === End of file server.cmd === Start of file valgrind982 ==125558== ==125558== Process terminating with default action of signal 4 (SIGILL) ==125558== Illegal opcode at address 0x10B08D ==125558== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125558== by 0x10B08D: main (tool_main.c:232) === End of file valgrind982 test 0981...[IMAP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind981 ../src/curl -q --output log/3/curl981.out --include --trace-ascii log/3/trace981 --trace-config all --trace-time imap://127.0.0.1:36589/981 -T log/3/upload981 -u user:secret --ssl > log/3/stdout981 2> log/3/stderr981 981: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 981 === Start of file imap_server.log 02:02:51.110886 ====> Client connect 02:02:51.111016 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:51.118575 < "A001 CAPABILITY" 02:02:51.118623 > "A001 BAD Command[CR][LF]" 02:02:51.118830 < "A002 LIST "verifiedserver" *" 02:02:51.118855 LIST_imap got "verifiedserver" * 02:02:51.118878 > "* LIST () "/" "WE ROOLZ: 114723"[CR][LF]" 02:02:51.118894 > "A002 OK LIST Completed[CR][LF]" 02:02:51.118906 return proof we are we 02:02:51.164917 < "A003 LOGOUT" 02:02:51.164971 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:51.164990 > "A003 OK LOGOUT completed[CR][LF]" 02:02:51.213640 MAIN sockfilt said DISC 02:02:51.213698 ====> Client disconnected 02:02:51.213763 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:50.310921 ====> Client connect 02:02:50.311168 Received DATA (on stdin) 02:02:50.311185 > 178 bytes data, server => client 02:02:50.311198 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:50.311210 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:50.311222 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:50.311231 'rve\r\n' 02:02:50.318530 < 17 bytes data, client => server 02:02:50.318557 'A001 CAPABILITY\r\n' 02:02:50.318767 Received DATA (on stdin) 02:02:50.318782 > 18 bytes data, server => client 02:02:50.318793 'A001 BAD Command\r\n' 02:02:50.318878 < 30 bytes data, client => server 02:02:50.318890 'A002 LIST "verifiedserver" *\r\n' 02:02:50.319044 Received DATA (on stdin) 02:02:50.319056 > 34 bytes data, server => client 02:02:50.319067 '* LIST () "/" "WE ROOLZ: 114723"\r\n' 02:02:50.319090 Received DATA (on stdin) 02:02:50.319100 > 24 bytes data, server => client 02:02:50.319110 'A002 OK LIST Completed\r\n' 02:02:50.364453 < 13 bytes data, client => server 02:02:50.364493 'A003 LOGOUT\r\n' 02:02:50.365134 Received DATA (on stdin) 02:02:50.365233 > 36 bytes data, server => client 02:02:50.365250 '* BYE curl IMAP server signing off\r\n' 02:02:50.365282 Received DATA (on stdin) 02:02:50.365292 > 26 bytes data, server => client 02:02:50.365302 'A003 OK LOGOUT completed\r\n' 02:02:50.413318 ====> Client disconnect 02:02:50.413910 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd CAPA STARTTLS REPLY STARTTLS A002 BAD currently unavailable\r\nA003 OK Authenticated\r\nA004 OK Accepted REPLY LOGIN A003 BAD Authentication credentials invalid Testnum 981 === End of file server.cmd === Start of file upload981 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload981 === Start of file valgrind981 ==125556== ==125556== Process terminating with default action of signal 4 (SIGILL) ==125556== Illegal opcode at address 0x10B08D ==125556== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125556== by 0x10BCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind984 ../src/curl -q --output log/1/curl984.out --include --trace-ascii log/1/trace984 --trace-config all --trace-time imap://127.0.0.1:39155/984 -T log/1/upload984 -u user:secret --ssl-reqd > log/1/stdout984 2> log/1/stderr984 08D: main (tool_main.c:232) === End of file valgrind981 test 0983...[FTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind983 ../src/curl -q --output log/12/curl983.out --include --trace-ascii log/12/trace983 --trace-config all --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:40171/983 -T log/12/test983.txt -u user:secret -P 127.0.0.1 > log/12/stdout983 2> log/12/stderr983 983: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 983 === Start of file ftp_server.log 02:02:51.247237 ====> Client connect 02:02:51.247400 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:51.248493 < "USER anonymous" 02:02:51.248532 > "331 We are happy you popped in![CR][LF]" 02:02:51.248708 < "PASS ftp@example.com" 02:02:51.248733 > "230 Welcome you silly person[CR][LF]" 02:02:51.248871 < "PWD" 02:02:51.248899 > "257 "/" is current directory[CR][LF]" 02:02:51.249398 < "EPSV" 02:02:51.249424 ====> Passive DATA channel requested by client 02:02:51.249438 DATA sockfilt for passive data channel starting... 02:02:51.253713 DATA sockfilt for passive data channel started (pid 125541) 02:02:51.253829 DATA sockfilt for passive data channel listens on port 43873 02:02:51.253865 > "229 Entering Passive Mode (|||43873|)[LF]" 02:02:51.253882 Client has been notified that DATA conn will be accepted on port 43873 02:02:51.254097 Client connects to port 43873 02:02:51.254123 ====> Client established passive DATA connection on port 43873 02:02:51.254217 < "TYPE I" 02:02:51.254243 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:51.254383 < "SIZE verifiedserver" 02:02:51.254419 > "213 17[CR][LF]" 02:02:51.254551 < "RETR verifiedserver" 02:02:51.254579 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:51.254654 =====> Closing passive DATA connection... 02:02:51.254668 Server disconnects passive DATA connection 02:02:51.254779 Server disconnected passive DATA connection 02:02:51.254798 DATA sockfilt for passive data channel quits (pid 125541) 02:02:51.255014 DATA sockfilt for passive data channel quit (pid 125541) 02:02:51.255063 =====> Closed passive DATA connection 02:02:51.255089 > "226 File transfer complete[CR][LF]" 02:02:51.298581 < "QUIT" 02:02:51.298631 > "221 bye bye baby[CR][LF]" 02:02:51.301215 MAIN sockfilt said DISC 02:02:51.301269 ====> Client disconnected 02:02:51.301414 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:51.446748 ====> Client connect 02:02:51.447557 Received DATA (on stdin) 02:02:51.447575 > 160 bytes data, server => client 02:02:51.447587 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:51.447598 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:51.447608 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:51.448459 < 16 bytes data, client => server 02:02:51.448480 'USER anonymous\r\n' 02:02:51.448674 Received DATA (on stdin) 02:02:51.448688 > 33 bytes data, server => client 02:02:51.448700 '331 We are happy you popped in!\r\n' 02:02:51.448757 < 22 bytes data, client => server 02:02:51.448769 'PASS ftp@example.com\r\n' 02:02:51.448870 Received DATA (on stdin) 02:02:51.448881 > 30 bytes data, server => client 02:02:51.448892 '230 Welcome you silly person\r\n' 02:02:51.448936 < 5 bytes data, client => server 02:02:51.448946 'PWD\r\n' 02:02:51.449037 Received DATA (on stdin) 02:02:51.449048 > 30 bytes data, server => client 02:02:51.449059 '257 "/" is current directory\r\n' 02:02:51.449118 < 6 bytes data, client => server 02:02:51.449130 'EPSV\r\n' 02:02:51.454025 Received DATA (on stdin) 02:02:51.454038 > 38 bytes data, server => client 02:02:51.454050 '229 Entering Passive Mode (|||43873|)\n' 02:02:51.454272 < 8 bytes data, client => server 02:02:51.454284 'TYPE I\r\n' 02:02:51.454380 Received DATA (on stdin) 02:02:51.454390 > 33 bytes data, server => client 02:02:51.454401 '200 I modify TYPE as you wanted\r\n' 02:02:51.454450 < 21 bytes data, client => server 02:02:51.454460 'SIZE verifiedserver\r\n' 02:02:51.454556 Received DATA (on stdin) 02:02:51.454566 > 8 bytes data, server => client 02:02:51.454577 '213 17\r\n' 02:02:51.454621 < 21 bytes data, client => server 02:02:51.454631 'RETR verifiedserver\r\n' 02:02:51.455075 Received DATA (on stdin) 02:02:51.455088 > 29 bytes data, server => client 02:02:51.455098 '150 Binary junk (17 bytes).\r\n' 02:02:51.455227 Received DATA (on stdin) 02:02:51.455238 > 28 bytes data, server => client 02:02:51.455249 '226 File transfer complete\r\n' 02:02:51.498537 < 6 bytes data, client => server 02:02:51.498562 'QUIT\r\n' 02:02:51.498775 Received DATA (on stdin) 02:02:51.498789 > 18 bytes data, server => client 02:02:51.498800 '221 bye bye baby\r\n' 02:02:51.499661 ====> Client disconnect 02:02:51.501431 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:51.451395 Running IPv4 version 02:02:51.451453 Listening on port 43873 02:02:51.451491 Wrote pid 125541 to log/12/server/ftp_sockdata.pid 02:02:51.451637 Received PING (on stdin) 02:02:51.453882 Received PORT (on stdin) 02:02:51.454189 ====> Client connect 02:02:51.454807 Received DATA (on stdin) 02:02:51.454819 > 17 bytes data, server => client 02:02:51.454830 'WE ROOLZ: 80450\r\n' 02:02:51.454859 Received DISC (on stdin) 02:02:51.454870 ====> Client forcibly disconnected 02:02:51.454941 Received QUIT (on stdin) 02:02:51.454951 quits 02:02:51.454992 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY AUTH 500 unknown command\r\n500 unknown command\r\n331 give password\r\n230 Authenticated\r\n257 "/"\r\n200 OK\r\n200 OK\r\n200 OK\r\n226 Transfer complete REPLY PASS 530 Login incorrect Testnum 983 === End of file server.cmd === Start of file test983.txt data to see that FTPS works so does it? === End of file test983.txt === Start of file valgrind983 ==125572== ==125572== Process terminating with default action of signal 4 (SIGILL) ==125572== Illegal opcode at address 0x10B08D ==125572== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125572== by 0x10B08D: main (tool_main.c:232) === End of file valgrind983 test 0984...[IMAP require STARTTLS with failing capabilities] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind984 ../src/curl -q --output log/1/curl984.out --include --trace-ascii log/1/trace984 --trace-config all --trace-time imap://127.0.0.1:39155/984 -T log/1/upload984 -u user:secret --ssl-reqd > log/1/stdout984 2> log/1/stderr984 984: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 984 === Start of file imap_server.log 02:02:51.295373 ====> Client connect 02:02:51.295542 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:02:51.295920 < "A001 CAPABILITY" 02:02:51.295965 > "A001 BAD Command[CR][LF]" 02:02:51.296183 < "A002 LIST "verifiedserver" *" 02:02:51.296219 LIST_imap got "verifiedserver" * 02:02:51.296251 > "* LIST () "/" "WE ROOLZ: 109828"[CR][LF]" 02:02:51.296273 > "A002 OK LIST Completed[CR][LF]" 02:02:51.296288 return proof we are we 02:02:51.341999 < "A003 LOGOUT" 02:02:51.342052 > "* BYE curl IMAP server signing off[CR][LF]" 02:02:51.342071 > "A003 OK LOGOUT completed[CR][LF]" 02:02:51.386894 MAIN sockfilt said DISC 02:02:51.386962 ====> Client disCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind990 ../src/curl -q --output log/4/curl990.out --include --trace-ascii log/4/trace990 --trace-config all --trace-time http://127.0.0.1:36813/990 -w '%output{log/4/output}%{http_code}\n' > log/4/stdout990 2> log/4/stderr990 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind985 ../src/curl -q --output log/5/curl985.out --include --trace-ascii log/5/trace985 --trace-config all --trace-time pop3://127.0.0.1:41423/985 -u user:secret --ssl-reqd > log/5/stdout985 2> log/5/stderr985 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind992 ../src/curl -q --output log/11/curl992.out --include --trace-ascii log/11/trace992 --trace-config all --trace-time smtp://127.0.0.1:33099/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/11/stdout992 2> log/11/stderr992 connected 02:02:51.387029 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:02:51.495271 ====> Client connect 02:02:51.495702 Received DATA (on stdin) 02:02:51.495722 > 178 bytes data, server => client 02:02:51.495736 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:51.495749 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:51.495762 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:02:51.495773 'rve\r\n' 02:02:51.495896 < 17 bytes data, client => server 02:02:51.495915 'A001 CAPABILITY\r\n' 02:02:51.496111 Received DATA (on stdin) 02:02:51.496127 > 18 bytes data, server => client 02:02:51.496138 'A001 BAD Command\r\n' 02:02:51.496212 < 30 bytes data, client => server 02:02:51.496229 'A002 LIST "verifiedserver" *\r\n' 02:02:51.496429 Received DATA (on stdin) 02:02:51.496443 > 34 bytes data, server => client 02:02:51.496455 '* LIST () "/" "WE ROOLZ: 109828"\r\n' 02:02:51.496485 Received DATA (on stdin) 02:02:51.496498 > 24 bytes data, server => client 02:02:51.496510 'A002 OK LIST Completed\r\n' 02:02:51.541949 < 13 bytes data, client => server 02:02:51.541986 'A003 LOGOUT\r\n' 02:02:51.542213 Received DATA (on stdin) 02:02:51.542227 > 36 bytes data, server => client 02:02:51.542238 '* BYE curl IMAP server signing off\r\n' 02:02:51.542267 Received DATA (on stdin) 02:02:51.542277 > 26 bytes data, server => client 02:02:51.542288 'A003 OK LOGOUT completed\r\n' 02:02:51.586631 ====> Client disconnect 02:02:51.587174 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY CAPABILITY A001 BAD Not implemented Testnum 984 === End of file server.cmd === Start of file upload984 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload984 === Start of file valgrind984 ==125645== ==125645== Process terminating with default action of signal 4 (SIGILL) ==125645== Illegal opcode at address 0x10B08D ==125645== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125645== by 0x10B08D: main (tool_main.c:232) === End of file valgrind984 test 0990...[use -w %output{}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind990 ../src/curl -q --output log/4/curl990.out --include --trace-ascii log/4/trace990 --trace-config all --trace-time http://127.0.0.1:36813/990 -w '%output{log/4/output}%{http_code}\n' > log/4/stdout990 2> log/4/stderr990 990: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 990 === Start of file http_server.log 02:02:51.815686 ====> Client connect 02:02:51.815725 accept_connection 3 returned 4 02:02:51.815745 accept_connection 3 returned 0 02:02:51.815899 Read 93 bytes 02:02:51.815917 Process 93 bytes request 02:02:51.815935 Got request: GET /verifiedserver HTTP/1.1 02:02:51.815946 Are-we-friendly question received 02:02:51.815974 Wrote request (93 bytes) input to log/4/server.input 02:02:51.815995 Identifying ourselves as friends 02:02:51.816071 Response sent (56 bytes) and written to log/4/server.response 02:02:51.816085 special request received, no persistency 02:02:51.816096 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 990 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind990 ==125836== ==125836== Process terminating with default action of signal 4 (SIGILL) ==125836== Illegal opcode at address 0x10B08D ==125836== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125836== by 0x10B08D: main (tool_main.c:232) === End of file valgrind990 test 0985...[POP3 require STARTTLS with failing capabilities] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind985 ../src/curl -q --output log/5/curl985.out --include --trace-ascii log/5/trace985 --trace-config all --trace-time pop3://127.0.0.1:41423/985 -u user:secret --ssl-reqd > log/5/stdout985 2> log/5/stderr985 985: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 985 === Start of file pop3_server.log 02:02:51.602552 ====> Client connect 02:02:51.602681 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:51.603005 < "CAPA" 02:02:51.603054 > "-ERR Unrecognized command[CR][LF]" 02:02:51.603265 < "RETR verifiedserver" 02:02:51.603296 return proof we are we 02:02:51.603323 > "+OK Mail transfer starts[CR][LF]" 02:02:51.603342 > "WE ROOLZ: 117775[CR][LF]" 02:02:51.603360 > ".[CR][LF]" 02:02:51.650696 < "QUIT" 02:02:51.650743 > "+OK curl POP3 server signing off[CR][LF]" 02:02:51.655436 MAIN sockfilt said DISC 02:02:51.655486 ====> Client disconnected 02:02:51.655551 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:51.802591 ====> Client connect 02:02:51.802835 Received DATA (on stdin) 02:02:51.802853 > 178 bytes data, server => client 02:02:51.802867 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:51.802878 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:51.802889 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:51.802899 've \r\n' 02:02:51.802989 < 6 bytes data, client => server 02:02:51.803007 'CAPA\r\n' 02:02:51.803200 Received DATA (on stdin) 02:02:51.803214 > 27 bytes data, server => client 02:02:51.803226 '-ERR Unrecognized command\r\n' 02:02:51.803291 < 21 bytes data, client => server 02:02:51.803307 'RETR verifiedserver\r\n' 02:02:51.803501 Received DATA (on stdin) 02:02:51.803515 > 26 bytes data, server => client 02:02:51.803527 '+OK Mail transfer starts\r\n' 02:02:51.803554 Received DATA (on stdin) 02:02:51.803566 > 18 bytes data, server => client 02:02:51.803576 'WE ROOLZ: 117775\r\n' 02:02:51.803589 Received DATA (on stdin) 02:02:51.803601 > 3 bytes data, server => client 02:02:51.803612 '.\r\n' 02:02:51.848933 < 6 bytes data, client => server 02:02:51.848957 'QUIT\r\n' 02:02:51.850887 Received DATA (on stdin) 02:02:51.850904 > 34 bytes data, server => client 02:02:51.850916 '+OK curl POP3 server signing off\r\n' 02:02:51.855162 ====> Client disconnect 02:02:51.855693 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY CAPA -ERR Not implemented Testnum 985 === End of file server.cmd === Start of file valgrind985 ==125911== ==125911== Process terminating with default action of signal 4 (SIGILL) ==125911== Illegal opcode at address 0x10B08D ==125911== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125911== by 0x10B08D: main (tool_main.c:232) === End of file valgrind985 test 0992...[SASL verify default mechanisms are reset by login options] ../libtool --mode=execute /usr/bin/valgrind --tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind991 ../src/curl -q --output log/10/curl991.out --include --trace-ascii log/10/trace991 --trace-config all --trace-time http://127.0.0.1:42929/991 -w '%output{>>log/10/output}%{http_code}' > log/10/stdout991 2> log/10/stderr991 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind986 ../src/curl -q --output log/9/curl986.out --include --trace-ascii log/9/trace986 --trace-config all --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:35301/986 -T log/9/test986.txt -u user:secret > log/9/stdout986 2> log/9/stderr986 ool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind992 ../src/curl -q --output log/11/curl992.out --include --trace-ascii log/11/trace992 --trace-config all --trace-time smtp://127.0.0.1:33099/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/11/stdout992 2> log/11/stderr992 992: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 992 === Start of file server.cmd AUTH OAUTHBEARER XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 992 === End of file server.cmd === Start of file smtp_server.log 02:02:51.677271 ====> Client connect 02:02:51.677406 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:51.677696 < "EHLO verifiedserver" 02:02:51.677736 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:02:51.677905 < "HELP" 02:02:51.677935 > "214 WE ROOLZ: 120934[CR][LF]" 02:02:51.677949 return proof we are we 02:02:51.678153 < "QUIT" 02:02:51.678178 > "221 curl ESMTP server signing off[CR][LF]" 02:02:51.678894 MAIN sockfilt said DISC 02:02:51.678922 ====> Client disconnected 02:02:51.678976 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:02:51.877296 ====> Client connect 02:02:51.877557 Received DATA (on stdin) 02:02:51.877572 > 160 bytes data, server => client 02:02:51.877586 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:51.877598 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:51.877609 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:51.877701 < 21 bytes data, client => server 02:02:51.877715 'EHLO verifiedserver\r\n' 02:02:51.877877 Received DATA (on stdin) 02:02:51.877890 > 53 bytes data, server => client 02:02:51.877902 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:02:51.877959 < 6 bytes data, client => server 02:02:51.877972 'HELP\r\n' 02:02:51.878086 Received DATA (on stdin) 02:02:51.878098 > 22 bytes data, server => client 02:02:51.878109 '214 WE ROOLZ: 120934\r\n' 02:02:51.878210 < 6 bytes data, client => server 02:02:51.878224 'QUIT\r\n' 02:02:51.878316 Received DATA (on stdin) 02:02:51.878327 > 35 bytes data, server => client 02:02:51.878338 '221 curl ESMTP server signing off\r\n' 02:02:51.878985 ====> Client disconnect 02:02:51.879115 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-992 mail body === End of file stdin-for-992 === Start of file valgrind992 ==125863== ==125863== Process terminating with default action of signal 4 (SIGILL) ==125863== Illegal opcode at address 0x10B08D ==125863== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125863== by 0x10B08D: main (tool_main.c:232) === End of file valgrind992 test 0991...[use -w %output{} append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind991 ../src/curl -q --output log/10/curl991.out --include --trace-ascii log/10/trace991 --trace-config all --trace-time http://127.0.0.1:42929/991 -w '%output{>>log/10/output}%{http_code}' > log/10/stdout991 2> log/10/stderr991 991: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 991 === Start of file http_server.log 02:02:51.864020 ====> Client connect 02:02:51.864054 accept_connection 3 returned 4 02:02:51.864073 accept_connection 3 returned 0 02:02:51.864088 Read 93 bytes 02:02:51.864098 Process 93 bytes request 02:02:51.864113 Got request: GET /verifiedserver HTTP/1.1 02:02:51.864123 Are-we-friendly question received 02:02:51.864148 Wrote request (93 bytes) input to log/10/server.input 02:02:51.864165 Identifying ourselves as friends 02:02:51.864232 Response sent (56 bytes) and written to log/10/server.response 02:02:51.864243 special request received, no persistency 02:02:51.864253 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file output line one === End of file output === Start of file server.cmd Testnum 991 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind991 ==125868== ==125868== Process terminating with default action of signal 4 (SIGILL) ==125868== Illegal opcode at address 0x10B08D ==125868== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125868== by 0x10B08D: main (tool_main.c:232) === End of file valgrind991 test 0986...[FTP require STARTTLS while preauthenticated] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind986 ../src/curl -q --output log/9/curl986.out --include --trace-ascii log/9/trace986 --trace-config all --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:35301/986 -T log/9/test986.txt -u user:secret > log/9/stdout986 2> log/9/stderr986 986: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 986 === Start of file ftp_server.log 02:02:51.630527 ====> Client connect 02:02:51.630683 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:51.630986 < "USER anonymous" 02:02:51.631025 > "331 We are happy you popped in![CR][LF]" 02:02:51.631209 < "PASS ftp@example.com" 02:02:51.631238 > "230 Welcome you silly person[CR][LF]" 02:02:51.631401 < "PWD" 02:02:51.631435 > "257 "/" is current directory[CR][LF]" 02:02:51.631602 < "EPSV" 02:02:51.631626 ====> Passive DATA channel requested by client 02:02:51.631639 DATA sockfilt for passive data channel starting... 02:02:51.636347 DATA sockfilt for passive data channel started (pid 125828) 02:02:51.636456 DATA sockfilt for passive data channel listens on port 35869 02:02:51.636497 > "229 Entering Passive Mode (|||35869|)[LF]" 02:02:51.636516 Client has been notified that DATA conn will be accepted on port 35869 02:02:51.637260 Client connects to port 35869 02:02:51.637289 ====> Client established passive DATA connection on port 35869 02:02:51.637396 < "TYPE I" 02:02:51.637426 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:51.643934 < "SIZE verifiedserver" 02:02:51.643996 > "213 17[CR][LF]" 02:02:51.646624 < "RETR verifiedserver" 02:02:51.646674 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:51.646771 =====> Closing passive DATA connection... 02:02:51.646791 Server disconnects passive DATA connection 02:02:51.647708 Server disconnected passive DATA connection 02:02:51.647743 DATA sockfilt for passive data channel quits (pid 125828) 02:02:51.647961 DATA sockfilt for passive data channel quit (pid 125828) 02:02:51.647986 =====> Closed passive DATA connection 02:02:51.648017 > "226 File transfer complete[CR][LF]" 02:02:51.692007 < "QUIT" 02:02:51.6CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind994 ../src/curl -q --include --trace-ascii log/7/trace994 --trace-config all --trace-time -o "log/7/#1" "http://127.0.0.1:43753/994/{hey,ho}" --skip-existing > log/7/stdout994 2> log/7/stderr994 92059 > "221 bye bye baby[CR][LF]" 02:02:51.693340 MAIN sockfilt said DISC 02:02:51.693382 ====> Client disconnected 02:02:51.693447 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:51.830548 ====> Client connect 02:02:51.830838 Received DATA (on stdin) 02:02:51.830856 > 160 bytes data, server => client 02:02:51.830869 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:51.830881 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:51.830892 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:51.830979 < 16 bytes data, client => server 02:02:51.830994 'USER anonymous\r\n' 02:02:51.831169 Received DATA (on stdin) 02:02:51.831182 > 33 bytes data, server => client 02:02:51.831194 '331 We are happy you popped in!\r\n' 02:02:51.831250 < 22 bytes data, client => server 02:02:51.831265 'PASS ftp@example.com\r\n' 02:02:51.831378 Received DATA (on stdin) 02:02:51.831391 > 30 bytes data, server => client 02:02:51.831403 '230 Welcome you silly person\r\n' 02:02:51.831457 < 5 bytes data, client => server 02:02:51.831468 'PWD\r\n' 02:02:51.831575 Received DATA (on stdin) 02:02:51.831587 > 30 bytes data, server => client 02:02:51.831598 '257 "/" is current directory\r\n' 02:02:51.831658 < 6 bytes data, client => server 02:02:51.831670 'EPSV\r\n' 02:02:51.836920 Received DATA (on stdin) 02:02:51.836939 > 38 bytes data, server => client 02:02:51.836951 '229 Entering Passive Mode (|||35869|)\n' 02:02:51.837443 < 8 bytes data, client => server 02:02:51.837456 'TYPE I\r\n' 02:02:51.837567 Received DATA (on stdin) 02:02:51.837580 > 33 bytes data, server => client 02:02:51.837592 '200 I modify TYPE as you wanted\r\n' 02:02:51.841920 < 21 bytes data, client => server 02:02:51.841946 'SIZE verifiedserver\r\n' 02:02:51.844142 Received DATA (on stdin) 02:02:51.844159 > 8 bytes data, server => client 02:02:51.844170 '213 17\r\n' 02:02:51.845232 < 21 bytes data, client => server 02:02:51.845253 'RETR verifiedserver\r\n' 02:02:51.847675 Received DATA (on stdin) 02:02:51.847697 > 29 bytes data, server => client 02:02:51.847710 '150 Binary junk (17 bytes).\r\n' 02:02:51.848159 Received DATA (on stdin) 02:02:51.848173 > 28 bytes data, server => client 02:02:51.848185 '226 File transfer complete\r\n' 02:02:51.891983 < 6 bytes data, client => server 02:02:51.892010 'QUIT\r\n' 02:02:51.892204 Received DATA (on stdin) 02:02:51.892218 > 18 bytes data, server => client 02:02:51.892229 '221 bye bye baby\r\n' 02:02:51.893059 ====> Client disconnect 02:02:51.893589 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:51.836189 Running IPv4 version 02:02:51.836249 Listening on port 35869 02:02:51.836299 Wrote pid 125828 to log/9/server/ftp_sockdata.pid 02:02:51.836425 Received PING (on stdin) 02:02:51.836510 Received PORT (on stdin) 02:02:51.837347 ====> Client connect 02:02:51.846940 Received DATA (on stdin) 02:02:51.846959 > 17 bytes data, server => client 02:02:51.846970 'WE ROOLZ: 80452\r\n' 02:02:51.847006 Received DISC (on stdin) 02:02:51.847020 ====> Client forcibly disconnected 02:02:51.847901 Received QUIT (on stdin) 02:02:51.847918 quits 02:02:51.847973 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome 230 Welcome REPLY AUTH 500 unknown command Testnum 986 === End of file server.cmd === Start of file test986.txt data to see that FTPS works so does it? === End of file test986.txt === Start of file valgrind986 ==125977== ==125977== Process terminating with default action of signal 4 (SIGILL) ==125977== Illegal opcode at address 0x10B08D ==125977== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==125977== by 0x10B08D: main (tool_main.c:232) === End of file valgrind986 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind993 ../src/curl -q --output log/6/curl993.out --include --trace-ascii log/6/trace993 --trace-config all --trace-time pop3://127.0.0.1:37773/ -u user:secret > log/6/stdout993 2> log/6/stderr993 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind995 ../src/curl -q --trace-ascii log/2/trace995 --trace-config all --trace-time -o log/2/there http://127.0.0.1:38781/995 --skip-existing > log/2/stdout995 2> log/2/stderr995 test 0994...[--skip-existing with globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind994 ../src/curl -q --include --trace-ascii log/7/trace994 --trace-config all --trace-time -o "log/7/#1" "http://127.0.0.1:43753/994/{hey,ho}" --skip-existing > log/7/stdout994 2> log/7/stderr994 994: stderr FAILED: --- log/7/check-expected 2024-12-15 02:02:52.809758504 +0000 +++ log/7/check-generated 2024-12-15 02:02:52.809758504 +0000 @@ -1,2 +0,0 @@ -Note: skips transfer, "log/7/hey" exists locally[CR][LF] -Note: skips transfer, "log/7/ho" exists locally[CR][LF] == Contents of files in the log/7/ dir after test 994 === Start of file check-expected Note: skips transfer, "log/7/hey" exists locally[CR][LF] Note: skips transfer, "log/7/ho" exists locally[CR][LF] === End of file check-expected === Start of file hey content === End of file hey === Start of file ho content === End of file ho === Start of file http_server.log 02:02:52.180656 ====> Client connect 02:02:52.180687 accept_connection 3 returned 4 02:02:52.180705 accept_connection 3 returned 0 02:02:52.180719 Read 93 bytes 02:02:52.180730 Process 93 bytes request 02:02:52.180744 Got request: GET /verifiedserver HTTP/1.1 02:02:52.180754 Are-we-friendly question received 02:02:52.180777 Wrote request (93 bytes) input to log/7/server.input 02:02:52.180795 Identifying ourselves as friends 02:02:52.180862 Response sent (56 bytes) and written to log/7/server.response 02:02:52.180875 special request received, no persistency 02:02:52.180884 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 994 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind994 ==126150== ==126150== Process terminating with default action of signal 4 (SIGILL) ==126150== Illegal opcode at address 0x10B08D ==126150== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126150== by 0x10B08D: main (tool_main.c:232) === End of file valgrind994 test 0993...[POP3 LIST 1000 messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind993 ../src/curl -q --output log/6/curl993.out --include --trace-ascii log/6/trace993 --trace-config all --trace-time pop3://127.0.0.1:37773/ -u user:secret > log/6/stdout993 2> log/6/stderr993 993: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 993 === Start of file pop3_server.log 02:02:51.979314 ====> Client connect 02:02:51.979457 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:51.979801 < "CAPA" 02:02:51.979841 > "-ERR Unrecognized command[CR][LF]" 02:02:51.980009 < "RETR verifiedserver" 02:02:51.980034 return proof we are we 02:02:51.980055 > "+OK Mail transfer starts[CR][LF]" 02:02:51.980072 > "WE ROOLZ: 117682[CR][LF]" 02:02:51.980088 > ".[CR][LF]" 02:02:52.022224 < "QUIT" 02:02:52.022276 > "+OK curl POP3 server signing off[CR][LF]" 02:02:52.023472 MAIN sockfilt said DISC 02:02:52.023568 ====> Client disconnected 02:02:52.023632 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:52.179348 ====> Client connect 02:02:52.179609 Received DATA (on stdin) 02:02:52.179624 > 178 bytes data, server => client 02:02:52.179637 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:52.179650 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:52.179662 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:52.179672 've \r\n' 02:02:52.179795 < 6 bytes data, client => server 02:02:52.179812 'CAPA\r\n' 02:02:52.179983 Received DATA (on stdin) 02:02:52.179996 > 27 bytes data, server => client 02:02:52.180007 '-ERR Unrecognized command\r\n' 02:02:52.180063 < 21 bytes data, client => server 02:02:52.180076 'RETR verifiedserver\r\n' 02:02:52.180226 Received DATA (on stdin) 02:02:52.180238 > 26 bytes data, server => client 02:02:52.180249 '+OK Mail transfer starts\r\n' 02:02:52.180275 Received DATA (on stdin) 02:02:52.180286 > 18 bytes data, server => client 02:02:52.180296 'WE ROOLZ: 117682\r\n' 02:02:52.180309 Received DATA (on stdin) 02:02:52.180318 > 3 bytes data, server => client 02:02:52.180328 '.\r\n' 02:02:52.222199 < 6 bytes data, client => server 02:02:52.222225 'QUIT\r\n' 02:02:52.222421 Received DATA (on stdin) 02:02:52.222436 > 34 bytes data, server => client 02:02:52.222449 '+OK curl POP3 server signing off\r\n' 02:02:52.223173 ====> Client disconnect 02:02:52.223635 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 993 === End of file server.cmd === Start of file valgrind993 ==126194== ==126194== Process terminating with default action of signal 4 (SIGILL) ==126194== Illegal opcode at address 0x10B08D ==126194== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126194== by 0x10B08D: main (tool_main.c:232) === End of file valgrind993 test 0995...[--skip-existing without file present] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind995 ../src/curl -q --trace-ascii log/2/trace995 --trace-config all --trace-time -o log/2/there http://127.0.0.1:38781/995 --skip-existing > log/2/stdout995 2> log/2/stderr995 995: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 995 === Start of file http_server.log 02:02:52.207564 ====> Client connect 02:02:52.207612 accept_connection 3 returned 4 02:02:52.207630 accept_connection 3 returned 0 02:02:52.207645 Read 93 bytes 02:02:52.207656 Process 93 bytes request 02:02:52.207670 Got request: GET /verifiedserver HTTP/1.1 02:02:52.207680 Are-we-friendly question received 02:02:52.207707 Wrote request (93 bytes) input to log/2/server.input 02:02:52.207726 Identifying ourselves as friends 02:02:52.207804 Response sent (56 bytes) and written to log/2/server.response 02:02:52.207818 special request received, no persistency 02:02:52.207828 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 995 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind995 ==126158== ==126158== Process terminating with default action of signal 4 (SIGILL) ==126158== Illegal opcode at address 0x10B08D ==126158== at 0x10B08D: UnknownInlinedFun (string_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind996 ../src/curl -q --include --trace-ascii log/8/trace996 --trace-config all --trace-time -o log/8/there http://127.0.0.1:43803/996 --skip-existing > log/8/stdout996 2> log/8/stderr996 fortified.h:59) ==126158== by 0x10B08D: main (tool_main.c:232) === End of file valgrind995 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind998 ../src/curl -q --output log/3/curl998.out --include --trace-ascii log/3/trace998 --trace-config all --trace-time -x 127.0.0.1:34527 http://alberto:einstein@somwhere.example/998 --location-trusted > log/3/stdout998 2> log/3/stderr998 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind997 ../src/curl -q --output log/12/curl997.out --include --trace-ascii log/12/trace997 --trace-config all --trace-time pop3://127.0.0.1:44463 -u user:secret -X 'STAT' > log/12/stdout997 2> log/12/stderr997 test 0996...[--skip-existing with file present] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind996 ../src/curl -q --include --trace-ascii log/8/trace996 --trace-config all --trace-time -o log/8/there http://127.0.0.1:43803/996 --skip-existing > log/8/stdout996 2> log/8/stderr996 996: stderr FAILED: --- log/8/check-expected 2024-12-15 02:02:52.983094928 +0000 +++ log/8/check-generated 2024-12-15 02:02:52.983094928 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/8/there" exists locally[CR][LF] == Contents of files in the log/8/ dir after test 996 === Start of file check-expected Note: skips transfer, "log/8/there" exists locally[CR][LF] === End of file check-expected === Start of file http_server.log 02:02:52.342059 ====> Client connect 02:02:52.342096 accept_connection 3 returned 4 02:02:52.342114 accept_connection 3 returned 0 02:02:52.342128 Read 93 bytes 02:02:52.342139 Process 93 bytes request 02:02:52.342153 Got request: GET /verifiedserver HTTP/1.1 02:02:52.342162 Are-we-friendly question received 02:02:52.342185 Wrote request (93 bytes) input to log/8/server.input 02:02:52.342202 Identifying ourselves as friends 02:02:52.342275 Response sent (56 bytes) and written to log/8/server.response 02:02:52.342286 special request received, no persistency 02:02:52.342295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 996 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file there content === End of file there === Start of file valgrind996 ==126294== ==126294== Process terminating with default action of signal 4 (SIGILL) ==126294== Illegal opcode at address 0x10B08D ==126294== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126294== by 0x10B08D: main (tool_main.c:232) === End of file valgrind996 test 0998...[HTTP with auth in URL redirected to another host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind998 ../src/curl -q --output log/3/curl998.out --include --trace-ascii log/3/trace998 --trace-config all --trace-time -x 127.0.0.1:34527 http://alberto:einstein@somwhere.example/998 --location-trusted > log/3/stdout998 2> log/3/stderr998 998: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 998 === Start of file http_server.log 02:02:52.328913 ====> Client connect 02:02:52.328947 accept_connection 3 returned 4 02:02:52.328964 accept_connection 3 returned 0 02:02:52.328978 Read 93 bytes 02:02:52.328989 Process 93 bytes request 02:02:52.329004 Got request: GET /verifiedserver HTTP/1.1 02:02:52.329014 Are-we-friendly question received 02:02:52.329037 Wrote request (93 bytes) input to log/3/server.input 02:02:52.329054 Identifying ourselves as friends 02:02:52.329123 Response sent (56 bytes) and written to log/3/server.response 02:02:52.329134 special request received, no persistency 02:02:52.329143 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 998 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind998 ==126306== ==126306== Process terminating with default action of signal 4 (SIGILL) ==126306== Illegal opcode at address 0x10B08D ==126306== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126306== by 0x10B08D: main (tool_main.c:232) === End of file valgrind998 test 0997...[POP3 retrieve STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind997 ../src/curl -q --output log/12/curl997.out --include --trace-ascii log/12/trace997 --trace-config all --trace-time pop3://127.0.0.1:44463 -u user:secret -X 'STAT' > log/12/stdout997 2> log/12/stderr997 997: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 997 === Start of file pop3_server.log 02:02:52.127600 ====> Client connect 02:02:52.127735 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:02:52.128001 < "CAPA" 02:02:52.128037 > "-ERR Unrecognized command[CR][LF]" 02:02:52.128205 < "RETR verifiedserver" 02:02:52.128231 return proof we are we 02:02:52.128253 > "+OK Mail transfer starts[CR][LF]" 02:02:52.128271 > "WE ROOLZ: 117699[CR][LF]" 02:02:52.128288 > ".[CR][LF]" 02:02:52.174354 < "QUIT" 02:02:52.174405 > "+OK curl POP3 server signing off[CR][LF]" 02:02:52.175448 MAIN sockfilt said DISC 02:02:52.175490 ====> Client disconnected 02:02:52.175549 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:02:52.327549 ====> Client connect 02:02:52.327881 Received DATA (on stdin) 02:02:52.327896 > 178 bytes data, server => client 02:02:52.327908 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:02:52.327920 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:02:52.327931 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:02:52.327940 've \r\n' 02:02:52.328009 < 6 bytes data, client => server 02:02:52.328021 'CAPA\r\n' 02:02:52.328177 Received DATA (on stdin) 02:02:52.328189 > 27 bytes data, server => client 02:02:52.328200 '-ERR Unrecognized command\r\n' 02:02:52.328256 < 21 bytes data, client => server 02:02:52.328269 'RETR verifiedserver\r\n' 02:02:52.328427 Received DATA (on stdin) 02:02:52.328440 > 26 bytes data, server => client 02:02:52.328450 '+OK Mail transfer starts\r\n' 02:02:52.328494 Received DATA (on stdin) 02:02:52.328509 > 18 bytes data, server => client 02:02:52.328519 'WE ROOLZ: 117699\r\n' 02:02:52.328534 Received DATA (on stdin) 02:02:52.328544 > 3 bytes data, server => client 02:02:52.328555 '.\r\n' 02:02:52.374284 < 6 bytes data, client => server 02:02:52.374319 'QUIT\r\n' 02:02:52.374545 Received DATA (on stdin) 02:02:52.374558 > 34 bytes data, server => client 02:02:52.374569 '+OK curl POP3 server signing off\r\n' 02:02:52.375250 ====> Client disconnect 02:02:52.375689 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 997 === End of file server.cmd === Start of file valgrind997 ==126334== ==126334== Process terminating with default action of signal 4 (SIGILL) ==126334== Illegal opcode at address 0x10B08D ==126334== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126334== by 0x10B08D: maCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind999 ../src/curl -q --output log/1/curl999.out --include --trace-ascii log/1/trace999 --trace-config all --trace-time -x 127.0.0.1:34215 http://alberto:einstein@somwhere.example/999 http://somewhere.else.example/999 > log/1/stdout999 2> log/1/stderr999 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1001 ../src/curl -q --output log/5/curl1001.out --include --trace-ascii log/5/trace1001 --trace-config all --trace-time http://127.0.0.1:33361/1001 -u auser:apasswd --digest -T log/5/1001 -x http://127.0.0.1:33361 -C 2 -X GET > log/5/stdout1001 2> log/5/stderr1001 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1000 ../src/curl -q --output log/4/curl1000.out --include --trace-ascii log/4/trace1000 --trace-config all --trace-time ftp://127.0.0.1:34583/1000/ -I > log/4/stdout1000 2> log/4/stderr1000 in (tool_main.c:232) === End of file valgrind997 test 0999...[HTTP with auth in first URL but not second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind999 ../src/curl -q --output log/1/curl999.out --include --trace-ascii log/1/trace999 --trace-config all --trace-time -x 127.0.0.1:34215 http://alberto:einstein@somwhere.example/999 http://somewhere.else.example/999 > log/1/stdout999 2> log/1/stderr999 999: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 999 === Start of file http_server.log 02:02:52.541481 ====> Client connect 02:02:52.541517 accept_connection 3 returned 4 02:02:52.541534 accept_connection 3 returned 0 02:02:52.541549 Read 93 bytes 02:02:52.541560 Process 93 bytes request 02:02:52.541575 Got request: GET /verifiedserver HTTP/1.1 02:02:52.541585 Are-we-friendly question received 02:02:52.541607 Wrote request (93 bytes) input to log/1/server.input 02:02:52.541625 Identifying ourselves as friends 02:02:52.541696 Response sent (56 bytes) and written to log/1/server.response 02:02:52.541708 special request received, no persistency 02:02:52.541717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 999 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind999 ==126503== ==126503== Process terminating with default action of signal 4 (SIGILL) ==126503== Illegal opcode at address 0x10B08D ==126503== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126503== by 0x10B08D: main (tool_main.c:232) === End of file valgrind999 test 1001...[HTTP POST --digest with PUT and resumed upload and modified method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1001 ../src/curl -q --output log/5/curl1001.out --include --trace-ascii log/5/trace1001 --trace-config all --trace-time http://127.0.0.1:33361/1001 -u auser:apasswd --digest -T log/5/1001 -x http://127.0.0.1:33361 -C 2 -X GET > log/5/stdout1001 2> log/5/stderr1001 1001: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1001 === Start of file 1001 test === End of file 1001 === Start of file http_server.log 02:02:52.780590 ====> Client connect 02:02:52.780623 accept_connection 3 returned 4 02:02:52.780640 accept_connection 3 returned 0 02:02:52.780653 Read 93 bytes 02:02:52.780663 Process 93 bytes request 02:02:52.780678 Got request: GET /verifiedserver HTTP/1.1 02:02:52.780687 Are-we-friendly question received 02:02:52.780710 Wrote request (93 bytes) input to log/5/server.input 02:02:52.780727 Identifying ourselves as friends 02:02:52.780788 Response sent (56 bytes) and written to log/5/server.response 02:02:52.780798 special request received, no persistency 02:02:52.780807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1001 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1001 ==126625== ==126625== Process terminating with default action of signal 4 (SIGILL) ==126625== Illegal opcode at address 0x10B08D ==126625== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126625== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1001 test 1000...[FTP dir list PASV with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1000 ../src/curl -q --output log/4/curl1000.out --include --trace-ascii log/4/trace1000 --trace-config all --trace-time ftp://127.0.0.1:34583/1000/ -I > log/4/stdout1000 2> log/4/stderr1000 1000: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1000 === Start of file ftp_server.log 02:02:52.563484 ====> Client connect 02:02:52.563644 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:52.563914 < "USER anonymous" 02:02:52.563944 > "331 We are happy you popped in![CR][LF]" 02:02:52.564092 < "PASS ftp@example.com" 02:02:52.564114 > "230 Welcome you silly person[CR][LF]" 02:02:52.564263 < "PWD" 02:02:52.564288 > "257 "/" is current directory[CR][LF]" 02:02:52.564429 < "EPSV" 02:02:52.564450 ====> Passive DATA channel requested by client 02:02:52.564463 DATA sockfilt for passive data channel starting... 02:02:52.566217 DATA sockfilt for passive data channel started (pid 126608) 02:02:52.566300 DATA sockfilt for passive data channel listens on port 39131 02:02:52.566332 > "229 Entering Passive Mode (|||39131|)[LF]" 02:02:52.566347 Client has been notified that DATA conn will be accepted on port 39131 02:02:52.566572 Client connects to port 39131 02:02:52.566598 ====> Client established passive DATA connection on port 39131 02:02:52.566655 < "TYPE I" 02:02:52.566678 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:52.566821 < "SIZE verifiedserver" 02:02:52.566851 > "213 17[CR][LF]" 02:02:52.566989 < "RETR verifiedserver" 02:02:52.567020 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:52.567097 =====> Closing passive DATA connection... 02:02:52.567114 Server disconnects passive DATA connection 02:02:52.567347 Server disconnected passive DATA connection 02:02:52.567374 DATA sockfilt for passive data channel quits (pid 126608) 02:02:52.567551 DATA sockfilt for passive data channel quit (pid 126608) 02:02:52.567574 =====> Closed passive DATA connection 02:02:52.567599 > "226 File transfer complete[CR][LF]" 02:02:52.612800 < "QUIT" 02:02:52.612864 > "221 bye bye baby[CR][LF]" 02:02:52.613758 MAIN sockfilt said DISC 02:02:52.613796 ====> Client disconnected 02:02:52.613863 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:52.763326 ====> Client connect 02:02:52.763792 Received DATA (on stdin) 02:02:52.763806 > 160 bytes data, server => client 02:02:52.763818 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:52.763829 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:52.763840 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:52.763924 < 16 bytes data, client => server 02:02:52.763937 'USER anonymous\r\n' 02:02:52.764084 Received DATA (on stdin) 02:02:52.764095 > 33 bytes data, server => client 02:02:52.764106 '331 We are happy you popped in!\r\n' 02:02:52.764153 < 22 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1004 ../src/curl -q --output log/9/curl1004.out --include --trace-ascii log/9/trace1004 --trace-config all --trace-time http://127.0.0.1:38509/1004 --proxy "" > log/9/stdout1004 2> log/9/stderr1004 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1003 ../src/curl -q --output log/10/curl1003.out --include --trace-ascii log/10/trace1003 --trace-config all --trace-time ftp://127.0.0.1:42661/path/1003 > log/10/stdout1003 2> log/10/stderr1003 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1002 ../src/curl -q --output log/11/curl1002.out --include --trace-ascii log/11/trace1002 --trace-config all --trace-time http://127.0.0.1:44137/1002.upload1 -T log/11/1002 http://127.0.0.1:44137/1002.upload2 -T log/11/1002 -u auser:apasswd --digest -x http://127.0.0.1:44137 -C 2 -X GET > log/11/stdout1002 2> log/11/stderr1002 bytes data, client => server 02:02:52.764165 'PASS ftp@example.com\r\n' 02:02:52.764259 Received DATA (on stdin) 02:02:52.764270 > 30 bytes data, server => client 02:02:52.764282 '230 Welcome you silly person\r\n' 02:02:52.764327 < 5 bytes data, client => server 02:02:52.764338 'PWD\r\n' 02:02:52.764424 Received DATA (on stdin) 02:02:52.764435 > 30 bytes data, server => client 02:02:52.764445 '257 "/" is current directory\r\n' 02:02:52.764496 < 6 bytes data, client => server 02:02:52.764506 'EPSV\r\n' 02:02:52.766492 Received DATA (on stdin) 02:02:52.766506 > 38 bytes data, server => client 02:02:52.766517 '229 Entering Passive Mode (|||39131|)\n' 02:02:52.766638 < 8 bytes data, client => server 02:02:52.766652 'TYPE I\r\n' 02:02:52.766815 Received DATA (on stdin) 02:02:52.766827 > 33 bytes data, server => client 02:02:52.766837 '200 I modify TYPE as you wanted\r\n' 02:02:52.766885 < 21 bytes data, client => server 02:02:52.766897 'SIZE verifiedserver\r\n' 02:02:52.766988 Received DATA (on stdin) 02:02:52.766998 > 8 bytes data, server => client 02:02:52.767008 '213 17\r\n' 02:02:52.767053 < 21 bytes data, client => server 02:02:52.767065 'RETR verifiedserver\r\n' 02:02:52.767255 Received DATA (on stdin) 02:02:52.767268 > 29 bytes data, server => client 02:02:52.767279 '150 Binary junk (17 bytes).\r\n' 02:02:52.767739 Received DATA (on stdin) 02:02:52.767752 > 28 bytes data, server => client 02:02:52.767763 '226 File transfer complete\r\n' 02:02:52.811995 < 6 bytes data, client => server 02:02:52.812022 'QUIT\r\n' 02:02:52.813018 Received DATA (on stdin) 02:02:52.813035 > 18 bytes data, server => client 02:02:52.813047 '221 bye bye baby\r\n' 02:02:52.813839 ====> Client disconnect 02:02:52.814010 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:52.766105 Running IPv4 version 02:02:52.766153 Listening on port 39131 02:02:52.766190 Wrote pid 126608 to log/4/server/ftp_sockdata.pid 02:02:52.766305 Received PING (on stdin) 02:02:52.766371 Received PORT (on stdin) 02:02:52.766670 ====> Client connect 02:02:52.767309 Received DATA (on stdin) 02:02:52.767322 > 17 bytes data, server => client 02:02:52.767333 'WE ROOLZ: 80536\r\n' 02:02:52.767359 Received DISC (on stdin) 02:02:52.767371 ====> Client forcibly disconnected 02:02:52.767520 Received QUIT (on stdin) 02:02:52.767532 quits 02:02:52.767580 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1000 === End of file server.cmd === Start of file valgrind1000 ==126643== ==126643== Process terminating with default action of signal 4 (SIGILL) ==126643== Illegal opcode at address 0x10B08D ==126643== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126643== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1000 test 1004...[HTTP GET with empty proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1004 ../src/curl -q --output log/9/curl1004.out --include --trace-ascii log/9/trace1004 --trace-config all --trace-time http://127.0.0.1:38509/1004 --proxy "" > log/9/stdout1004 2> log/9/stderr1004 1004: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1004 === Start of file http_server.log 02:02:52.855688 ====> Client connect 02:02:52.855719 accept_connection 3 returned 4 02:02:52.855734 accept_connection 3 returned 0 02:02:52.855748 Read 93 bytes 02:02:52.855759 Process 93 bytes request 02:02:52.855774 Got request: GET /verifiedserver HTTP/1.1 02:02:52.855784 Are-we-friendly question received 02:02:52.855807 Wrote request (93 bytes) input to log/9/server.input 02:02:52.855825 Identifying ourselves as friends 02:02:52.855895 Response sent (56 bytes) and written to log/9/server.response 02:02:52.855908 special request received, no persistency 02:02:52.855918 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1004 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1004 ==126719== ==126719== Process terminating with default action of signal 4 (SIGILL) ==126719== Illegal opcode at address 0x10B08D ==126719== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126719== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1004 test 1003...[FTP with excessively large server command response line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1003 ../src/curl -q --output log/10/curl1003.out --include --trace-ascii log/10/trace1003 --trace-config all --trace-time ftp://127.0.0.1:42661/path/1003 > log/10/stdout1003 2> log/10/stderr1003 1003: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1003 === Start of file ftp_server.log 02:02:52.582520 ====> Client connect 02:02:52.582653 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:52.582920 < "USER anonymous" 02:02:52.582956 > "331 We are happy you popped in![CR][LF]" 02:02:52.583155 < "PASS ftp@example.com" 02:02:52.583180 > "230 Welcome you silly person[CR][LF]" 02:02:52.583324 < "PWD" 02:02:52.583354 > "257 "/" is current directory[CR][LF]" 02:02:52.583502 < "EPSV" 02:02:52.583525 ====> Passive DATA channel requested by client 02:02:52.583538 DATA sockfilt for passive data channel starting... 02:02:52.587691 DATA sockfilt for passive data channel started (pid 126623) 02:02:52.587817 DATA sockfilt for passive data channel listens on port 40247 02:02:52.587860 > "229 Entering Passive Mode (|||40247|)[LF]" 02:02:52.587877 Client has been notified that DATA conn will be accepted on port 40247 02:02:52.588169 Client connects to port 40247 02:02:52.588199 ====> Client established passive DATA connection on port 40247 02:02:52.588272 < "TYPE I" 02:02:52.588302 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:52.591938 < "SIZE verifiedserver" 02:02:52.592002 > "213 17[CR][LF]" 02:02:52.592164 < "RETR verifiedserver" 02:02:52.592198 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:52.592287 =====> Closing passive DATA connection... 02:02:52.592303 Server disconnects passive DATA connection 02:02:52.592561 Server disconnected passive DATA connection 02:02:52.592587 DATA sockfilt for passive data channel quits (pid 126623) 02:02:52.598628 DATA sockfilt for passive data channel quit (pid 126623) 02:02:52.598666 =====> Closed passive DATA connection 02:02:52.598701 > "226 File transfer complete[CR][LF]" 02:02:52.635409 < "QUIT" 02:02:52.635462 > "221 bye bye baby[CR][LF]" 02:02:52.638850 MAIN sockfilt said DISC 02:02:52.638897 ====> Client disconnected 02:02:52.638957 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:52.782566 ====> Client connect 02:02:52.782801 Received DATA (on stdin) 02:02:52.782817 > 160 bytes data, server => client 02:02:52.782830 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:52.782842 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:52.782853 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:52.782925 < 16 bytes data, client => server 02:02:52.782938 'USER anonymous\r\n' 02:02:52.783099 Received DATA (on stdin) 02:02:52.783115 > 33 bytes data, server => client 02:02:52.783126 '331 We are happy you popped in!\r\n' 02:02:52.783178 < 22 bytes data, client => server 02:02:52.783215 'PASS ftp@example.com\r\n' 02:02:52.783318 Received DATA (on stdin) 02:02:52.783329 > 30 bytes data, server => client 02:02:52.783340 '230 Welcome you silly person\r\n' 02:02:52.783388 < 5 bytes data, client => server 02:02:52.783399 'PWD\r\n' 02:02:52.783491 Received DATA (on stdin) 02:02:52.783503 > 30 bytes data, server => client 02:02:52.783514 '257 "/" is current directory\r\n' 02:02:52.783568 < 6 bytes data, client => server 02:02:52.783578 'EPSV\r\n' 02:02:52.788028 Received DATA (on stdin) 02:02:52.788045 > 38 bytes data, server => client 02:02:52.788058 '229 Entering Passive Mode (|||40247|)\n' 02:02:52.788224 < 8 bytes data, client => server 02:02:52.788240 'TYPE I\r\n' 02:02:52.788442 Received DATA (on stdin) 02:02:52.788454 > 33 bytes data, server => client 02:02:52.788465 '200 I modify TYPE as you wanted\r\n' 02:02:52.791921 < 21 bytes data, client => server 02:02:52.791947 'SIZE verifiedserver\r\n' 02:02:52.792145 Received DATA (on stdin) 02:02:52.792157 > 8 bytes data, server => client 02:02:52.792168 '213 17\r\n' 02:02:52.792224 < 21 bytes data, client => server 02:02:52.792236 'RETR verifiedserver\r\n' 02:02:52.792443 Received DATA (on stdin) 02:02:52.792456 > 29 bytes data, server => client 02:02:52.792467 '150 Binary junk (17 bytes).\r\n' 02:02:52.798852 Received DATA (on stdin) 02:02:52.798869 > 28 bytes data, server => client 02:02:52.798880 '226 File transfer complete\r\n' 02:02:52.835351 < 6 bytes data, client => server 02:02:52.835377 'QUIT\r\n' 02:02:52.836050 Received DATA (on stdin) 02:02:52.836069 > 18 bytes data, server => client 02:02:52.836081 '221 bye bye baby\r\n' 02:02:52.838764 ====> Client disconnect 02:02:52.839097 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:52.787500 Running IPv4 version 02:02:52.787570 Listening on port 40247 02:02:52.787608 Wrote pid 126623 to log/10/server/ftp_sockdata.pid 02:02:52.787770 Received PING (on stdin) 02:02:52.787861 Received PORT (on stdin) 02:02:52.788260 ====> Client connect 02:02:52.792522 Received DATA (on stdin) 02:02:52.792540 > 17 bytes data, server => client 02:02:52.792552 'WE ROOLZ: 80449\r\n' 02:02:52.792583 Received DISC (on stdin) 02:02:52.792596 ====> Client forcibly disconnected 02:02:52.798491 Received QUIT (on stdin) 02:02:52.798520 quits 02:02:52.798582 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1006 ../src/curl -q --output log/6/curl1006.out --include --trace-ascii log/6/trace1006 --trace-config all --trace-time ftp://127.0.0.1:40433/path/1006 > log/6/stdout1006 2> log/6/stderr1006 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB Testnum 1003 === End of file server.cmd === Start of file valgrind1003 ==126787== ==126787== Process terminating with default action of signal 4 (SIGILL) ==126787== Illegal opcode at address 0x10B08D ==126787== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126787== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1003 test 1002...[HTTP PUT with Digest auth, resumed upload and modified method, twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1002 ../src/curl -q --output log/11/curl1002.out --include --trace-ascii log/11/trace1002 --trace-config all --trace-time http://127.0.0.1:44137/1002.upload1 -T log/11/1002 http://127.0.0.1:44137/1002.upload2 -T log/11/1002 -u auser:apasswd --digest -x http://127.0.0.1:44137 -C 2 -X GET > log/11/stdout1002 2> log/11/stderr1002 1002: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1002 === Start of file 1002 test === End of file 1002 === Start of file http_server.log 02:02:52.788534 ====> Client connect 02:02:52.791855 accept_connection 3 returned 4 02:02:52.791882 accept_connection 3 returned 0 02:02:52.791897 Read 93 bytes 02:02:52.791908 Process 93 bytes request 02:02:52.791923 Got request: GET /verifiedserver HTTP/1.1 02:02:52.791933 Are-we-friendly question received 02:02:52.791960 Wrote request (93 bytes) input to log/11/server.input 02:02:52.791979 Identifying ourselves as friends 02:02:52.792053 Response sent (56 bytes) and written to log/11/server.response 02:02:52.792064 special request received, no persistency 02:02:52.792074 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1002 ==126645== ==126645== Process terminating with default action of signal 4 (SIGILL) ==126645== Illegal opcode at address 0x10B08D ==126645== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126645== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1002 test 1006...[FTP with excessively large number of server command response lines (boundary condition)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1006 ../src/curl -q --output log/6/curl1006.out --include --trace-ascii log/6/trace1006 --trace-config all --trace-time ftp://127.0.0.1:40433/path/1006 > log/6/stdout1006 2> log/6/stderr1006 1006: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1006 === Start of file ftp_server.log 02:02:52.893360 ====> Client connect 02:02:52.893516 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:52.893811 < "USER anonymous" 02:02:52.893846 > "331 We are happy you popped in![CR][LF]" 02:02:52.894019 < "PASS ftp@example.com" 02:02:52.894045 > "230 Welcome you silly person[CR][LF]" 02:02:52.894205 < "PWD" 02:02:52.894236 > "257 "/" is current directory[CR][LF]" 02:02:52.894406 < "EPSV" 02:02:52.894430 ====> Passive DATA channel requested by client 02:02:52.894444 DATA sockfilt for passive data channel starting... 02:02:52.897006 DATA sockfilt for passive data channel started (pid 126938) 02:02:52.897107 DATA sockfilt for passive data channel listens on port 33357 02:02:52.897178 > "229 Entering Passive Mode (|||33357|)[LF]" 02:02:52.897199 Client has been notified that DATA conn will be accepted on port 33357 02:02:52.897572 Client connects to port 33357 02:02:52.897602 ====> Client established passive DATA connection on port 33357 02:02:52.897664 < "TYPE I" 02:02:52.897692 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:52.897852 < "SIZE verifiedserver" 02:02:52.897888 > "213 17[CR][LF]" 02:02:52.898045 < "RETR verifiedserver" 02:02:52.898079 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:52.898156 =====> Closing passive DATA connection... 02:02:52.898173 Server disconnects passive DATA connection 02:02:52.898412 Server disconnected passive DATA connection 02:02:52.898439 DATA sockfilt for passive data channel quits (pid 126938) 02:02:52.898641 DATA sockfilt for passive data channel quit (pid 126938) 02:02:52.898666 =====> Closed passive DATA connection 02:02:52.898694 > "226 File transfer complete[CR][LF]" 02:02:52.951838 < "QUIT" 02:02:52.951889 > "221 bye bye baby[CR][LF]" 02:02:52.955967 MAIN sockfilt said DISC 02:02:52.956015 ====> Client disconnected 02:02:52.956087 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:53.093396 ====> Client connect 02:02:53.093669 Received DATA (on stdin) 02:02:53.093685 > 160 bytes data, server => client 02:02:53.093698 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:53.093711 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:53.093726 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:53.093805 < 16 bytes data, client => server 02:02:53.093820 'USER anonymous\r\n' 02:02:53.093990 Received DATA (on stdin) 02:02:53.094003 > 33 bytes data, server => client 02:02:53.094014 '331 We are happy you popped in!\r\n' 02:02:53.094069 < 22 bytes data, client => server 02:02:53.094084 'PASS ftp@example.com\r\n' 02:02:53.094185 Received DATA (on stdin) 02:02:53.094197 > 30 bytes data, server => client 02:02:53.094209 '230 Welcome you silly person\r\n' 02:02:53.094261 < 5 bytes data, client => server 02:02:53.094275 'PWD\r\n' 02:02:53.094377 Received DATA (on stdin) 02:02:53.094390 > 30 bytes data, server => client 02:02:53.094401 '257 "/" is current directory\r\n' 02:02:53.094461 < 6 bytes data, client => server 02:02:53.094475 'EPSV\r\n' 02:02:53.097461 Received DATA (on stdin) 02:02:53.097481 > 38 bytes data, server => client 02:02:53.097493 '229 Entering Passive Mode (|||33357|)\n' 02:02:53.097630 < 8 bytes data, client => server 02:02:53.097647 'TYPE I\r\n' 02:02:53.097832 Received DATA (on stdin) 02:02:53.097845 > 33 bytes data, server => client 02:02:53.097856 '200 I modify TYPE as you wanted\r\n' 02:02:53.097908 < 21 bytes data, client => server 02:02:53.097922 'SIZE verifiedserver\r\n' 02:02:53.098027 Received DATA (on stdin) 02:02:53.098039 > 8 bytes data, server => client 02:02:53.098050 '213 17\r\n' 02:02:53.098101 < 21 bytes data, client => server 02:02:53.098114 'RETR verifiedserver\r\n' 02:02:53.098314 Received DATA (on stdin) 02:02:53.098326 > 29 bytes data, server => client 02:02:53.098337 '150 Binary junk (17 bytes).\r\n' 02:02:53.098835 Received DATA (on stdin) 02:02:53.098848 > 28 bytes data, server => client 02:02:53.098859 '226 File transfer complete\r\n' 02:02:53.145276 < 6 bytes data, client => server 02:02:53.145302 'QUIT\r\n' 02:02:53.155163 Received DATA (on stdin) 02:02:53.155191 > 18 bytes data, server => client 02:02:53.155202 '221 bye bye baby\r\n' 02:02:53.156051 ====> Client disconnect 02:02:53.156228 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:52.096283 Running IPv4 version 02:02:52.096331 Listening on port 33357 02:02:52.096368 Wrote pid 126938 to log/6/server/ftp_sockdata.pid 02:02:52.097080 Received PING (on stdin) 02:02:52.097167 Received PORT (on stdin) 02:02:52.097666 ====> Client connect 02:02:52.098366 Received DATA (on stdin) 02:02:52.098381 > 17 bytes data, server => client 02:02:52.098392 'WE ROOLZ: 80451\r\n' 02:02:52.098419 Received DISC (on stdin) 02:02:52.098433 ====> Client forcibly disconnected 02:02:52.098584 Received QUIT (on stdin) 02:02:52.098596 quits 02:02:52.098647 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1005 ../src/curl -q --output log/7/curl1005.out --include --trace-ascii log/7/trace1005 --trace-config all --trace-time ftp://127.0.0.1:41879/path/1005 > log/7/stdout1005 2> log/7/stderr1005 AAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response Testnum 1006 === End of file server.cmd === Start of file valgrind1006 ==126949== ==126949== Process terminating with default action of signal 4 (SIGILL) ==126949== Illegal opcode at address 0x10B08D ==126949== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126949== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1006 test 1005...[FTP with excessively large number of server command response lines] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1005 ../src/curl -q --output log/7/curl1005.out --include --trace-ascii log/7/trace1005 --trace-config all --trace-time ftp://127.0.0.1:41879/path/1005 > log/7/stdout1005 2> log/7/stderr1005 1005: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1005 === Start of file ftp_server.log 02:02:52.873306 ====> Client connect 02:02:52.873439 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:52.873714 < "USER anonymous" 02:02:52.873747 > "331 We are happy you popped in![CR][LF]" 02:02:52.873909 < "PASS ftp@example.com" 02:02:52.873933 > "230 Welcome you silly person[CR][LF]" 02:02:52.874084 < "PWD" 02:02:52.874114 > "257 "/" is current directory[CR][LF]" 02:02:52.874280 < "EPSV" 02:02:52.874303 ====> Passive DATA channel requested by client 02:02:52.874316 DATA sockfilt for passive data channel starting... 02:02:52.877235 DATA sockfilt for passive data channel started (pid 126932) 02:02:52.877331 DATA sockfilt for passive data channel listens on port 45369 02:02:52.877362 > "229 Entering Passive Mode (|||45369|)[LF]" 02:02:52.877378 Client has been notified that DATA conn will be accepted on port 45369 02:02:52.877618 Client connects to port 45369 02:02:52.877647 ====> Client established passive DATA connection on port 45369 02:02:52.877709 < "TYPE I" 02:02:52.877735 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:52.877991 < "SIZE verifiedserver" 02:02:52.878028 > "213 17[CR][LF]" 02:02:52.878179 < "RETR verifiedserver" 02:02:52.878213 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:52.878286 =====> Closing passive DATA connection... 02:02:52.878302 Server disconnects passive DATA connection 02:02:52.878535 Server disconnected passive DATA connection 02:02:52.878587 DATA sockfilt for passive data channel quits (pid 126932) 02:02:52.878749 DATA sockfilt for passive data channel quit (pid 126932) 02:02:52.878771 =====> Closed passive DATA connection 02:02:52.878793 > "226 File transfer complete[CR][LF]" 02:02:52.928506 < "QUIT" 02:02:52.928561 > "221 bye bye baby[CR][LF]" 02:02:52.929511 MAIN sockfilt said DISC 02:02:52.929541 ====> Client disconnected 02:02:52.929615 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:53.073346 ====> Client connect 02:02:53.073588 Received DATA (on stdin) 02:02:53.073603 > 160 bytes data, server => client 02:02:53.073617 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:53.073629 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:53.073640 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:53.073720 < 16 bytes data, client => server 02:02:53.073734 'USER anonymous\r\n' 02:02:53.073888 Received DATA (on stdin) 02:02:53.073901 > 33 bytes data, server => client 02:02:53.073911 '331 We are happy you popped in!\r\n' 02:02:53.073964 < 22 bytes data, client => server 02:02:53.073977 'PASS ftp@example.com\r\n' 02:02:53.074071 Received DATA (on stdin) 02:02:53.074083 > 30 bytes data, server => client 02:02:53.074094 '230 Welcome you silly person\r\n' 02:02:53.074144 < 5 bytes data, client => server 02:02:53.074156 'PWD\r\n' 02:02:53.074253 Received DATA (on stdin) 02:02:53.074265 > 30 bytes data, server => client 02:02:53.074277 '257 "/" is current directory\r\n' 02:02:53.074335 < 6 bytes data, client => server 02:02:53.074349 'EPSV\r\n' 02:02:53.077521 Received DATA (on stdin) 02:02:53.077535 > 38 bytes data, server => client 02:02:53.077546 '229 Entering Passive Mode (|||45369|)\n' 02:02:53.077676 < 8 bytes data, client => server 02:02:53.077697 'TYPE I\r\n' 02:02:53.077963 Received DATA (on stdin) 02:02:53.077979 > 33 bytes data, server => client 02:02:53.077991 '200 I modify TYPE as you wanted\r\n' 02:02:53.078045 < 21 bytes data, client => server 02:02:53.078058 'SIZE verifiedserver\r\n' 02:02:53.078166 Received DATA (on stdin) 02:02:53.078178 > 8 bytes data, server => client 02:02:53.078188 '213 17\r\n' 02:02:53.078238 < 21 bytes data, client => server 02:02:53.078250 'RETR verifiedserver\r\n' 02:02:53.078541 Received DATA (on stdin) 02:02:53.078554 > 29 bytes data, server => client 02:02:53.078565 '150 Binary junk (17 bytes).\r\n' 02:02:53.078931 Received DATA (on stdin) 02:02:53.078943 > 28 bytes data, server => client 02:02:53.078953 '226 File transfer complete\r\n' 02:02:53.125298 < 6 bytes data, client => server 02:02:53.125328 'QUIT\r\n' 02:02:53.128718 Received DATA (on stdin) 02:02:53.128736 > 18 bytes data, server => client 02:02:53.128747 '221 bye bye baby\r\n' 02:02:53.129602 ====> Client disconnect 02:02:53.129755 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:52.077126 Running IPv4 version 02:02:52.077174 Listening on port 45369 02:02:52.077204 Wrote pid 126932 to log/7/server/ftp_sockdata.pid 02:02:52.077322 Received PING (on stdin) 02:02:52.077392 Received PORT (on stdin) 02:02:52.077716 ====> Client connect 02:02:52.078441 Received DATA (on stdin) 02:02:52.078453 > 17 bytes data, server => client 02:02:52.078464 'WE ROOLZ: 80479\r\n' 02:02:52.078502 Received DISC (on stdin) 02:02:52.078516 ====> Client forcibly disconnected 02:02:52.078732 Received QUIT (on stdin) 02:02:52.078745 quits 02:02:52.078782 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1009 ../src/curl -q --output log/12/curl1009.out --include --trace-ascii log/12/trace1009 --trace-config all --trace-time tftp://127.0.0.1:59336//1009 --local-port 44444-45444 > log/12/stdout1009 2> log/12/stderr1009 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1008 ../src/curl -q --output log/8/curl1008.out --include --trace-ascii log/8/trace1008 --trace-config all --trace-time http://test.remote.example.com.1008:43803/path/10080002 --proxy http://127.0.0.1:43803 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/8/stdout1008 2> log/8/stderr1008 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1011 ../src/curl -q --output log/1/curl1011.out --include --trace-ascii log/1/trace1011 --trace-config all --trace-time http://127.0.0.1:34215/blah/1011 -L -d "moo" > log/1/stdout1011 2> log/1/stderr1011 -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response Testnum 1005 === End of file server.cmd === Start of file valgrind1005 ==126943== ==126943== Process terminating with default action of signal 4 (SIGILL) ==126943== Illegal opcode at address 0x10B08D ==126943== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==126943== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1005 test 1009...[TFTP retrieve with --local-port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1009 ../src/curl -q --output log/12/curl1009.out --include --trace-ascii log/12/trace1009 --trace-config all --trace-time tftp://127.0.0.1:59336//1009 --local-port 44444-45444 > log/12/stdout1009 2> log/12/stderr1009 1009: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1009 === Start of file server.cmd Testnum 1009 === End of file server.cmd === Start of file tftp_server.log 02:02:53.241016 trying to get file: verifiedserver mode 1 02:02:53.241042 Are-we-friendly question received 02:02:53.241055 write 02:02:53.241080 read 02:02:53.243560 read: 4 02:02:53.243632 end of one transfer === End of file tftp_server.log === Start of file valgrind1009 ==127089== ==127089== Process terminating with default action of signal 4 (SIGILL) ==127089== Illegal opcode at address 0x10B08D ==127089== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127089== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1009 test 1008...[HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1008 ../src/curl -q --output log/8/curl1008.out --include --trace-ascii log/8/trace1008 --trace-config all --trace-time http://test.remote.example.com.1008:43803/path/10080002 --proxy http://127.0.0.1:43803 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/8/stdout1008 2> log/8/stderr1008 1008: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1008 === Start of file http_server.log 02:02:53.239040 ====> Client connect 02:02:53.239073 accept_connection 3 returned 4 02:02:53.239090 accept_connection 3 returned 0 02:02:53.239104 Read 93 bytes 02:02:53.239115 Process 93 bytes request 02:02:53.239130 Got request: GET /verifiedserver HTTP/1.1 02:02:53.239140 Are-we-friendly question received 02:02:53.239164 Wrote request (93 bytes) input to log/8/server.input 02:02:53.239181 Identifying ourselves as friends 02:02:53.239249 Response sent (56 bytes) and written to log/8/server.response 02:02:53.239262 special request received, no persistency 02:02:53.239272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1008 ==127088== ==127088== Process terminating with default action of signal 4 (SIGILL) ==127088== Illegal opcode at address 0x10B08D ==127088== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127088== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1008 test 1011...[HTTP POST with 301 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1011 ../src/curl -q --output log/1/curl1011.out --include --trace-ascii log/1/trace1011 --trace-config all --trace-time httpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1010 ../src/curl -q --output log/3/curl1010.out --include --trace-ascii log/3/trace1010 --trace-config all --trace-time ftp://127.0.0.1:45983//list/this/path/1010/ ftp://127.0.0.1:45983//list/this/path/1010/ --ftp-method nocwd > log/3/stdout1010 2> log/3/stderr1010 ://127.0.0.1:34215/blah/1011 -L -d "moo" > log/1/stdout1011 2> log/1/stderr1011 1011: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1011 === Start of file http_server.log 02:02:53.405201 ====> Client connect 02:02:53.405235 accept_connection 3 returned 4 02:02:53.405253 accept_connection 3 returned 0 02:02:53.405268 Read 93 bytes 02:02:53.405279 Process 93 bytes request 02:02:53.405291 Got request: GET /verifiedserver HTTP/1.1 02:02:53.405303 Are-we-friendly question received 02:02:53.405328 Wrote request (93 bytes) input to log/1/server.input 02:02:53.405346 Identifying ourselves as friends 02:02:53.405411 Response sent (56 bytes) and written to log/1/server.response 02:02:53.405421 special request received, no persistency 02:02:53.405431 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1011 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1011 ==127233== ==127233== Process terminating with default action of signal 4 (SIGILL) ==127233== Illegal opcode at address 0x10B08D ==127233== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127233== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1011 test 1010...[FTP dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1010 ../src/curl -q --output log/3/curl1010.out --include --trace-ascii log/3/trace1010 --trace-config all --trace-time ftp://127.0.0.1:45983//list/this/path/1010/ ftp://127.0.0.1:45983//list/this/path/1010/ --ftp-method nocwd > log/3/stdout1010 2> log/3/stderr1010 1010: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1010 === Start of file ftp_server.log 02:02:53.045852 ====> Client connect 02:02:53.046000 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:53.046295 < "USER anonymous" 02:02:53.046330 > "331 We are happy you popped in![CR][LF]" 02:02:53.046501 < "PASS ftp@example.com" 02:02:53.046527 > "230 Welcome you silly person[CR][LF]" 02:02:53.046687 < "PWD" 02:02:53.046717 > "257 "/" is current directory[CR][LF]" 02:02:53.046883 < "EPSV" 02:02:53.046911 ====> Passive DATA channel requested by client 02:02:53.046926 DATA sockfilt for passive data channel starting... 02:02:53.055064 DATA sockfilt for passive data channel started (pid 127083) 02:02:53.062063 DATA sockfilt for passive data channel listens on port 32895 02:02:53.062135 > "229 Entering Passive Mode (|||32895|)[LF]" 02:02:53.062155 Client has been notified that DATA conn will be accepted on port 32895 02:02:53.062496 Client connects to port 32895 02:02:53.062522 ====> Client established passive DATA connection on port 32895 02:02:53.062604 < "TYPE I" 02:02:53.062632 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:53.062787 < "SIZE verifiedserver" 02:02:53.062822 > "213 17[CR][LF]" 02:02:53.062975 < "RETR verifiedserver" 02:02:53.063006 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:53.063085 =====> Closing passive DATA connection... 02:02:53.063102 Server disconnects passive DATA connection 02:02:53.063264 Server disconnected passive DATA connection 02:02:53.063287 DATA sockfilt for passive data channel quits (pid 127083) 02:02:53.063496 DATA sockfilt for passive data channel quit (pid 127083) 02:02:53.063517 =====> Closed passive DATA connection 02:02:53.063542 > "226 File transfer complete[CR][LF]" 02:02:53.105664 < "QUIT" 02:02:53.105714 > "221 bye bye baby[CR][LF]" 02:02:53.106576 MAIN sockfilt said DISC 02:02:53.106607 ====> Client disconnected 02:02:53.106743 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:53.245894 ====> Client connect 02:02:53.246150 Received DATA (on stdin) 02:02:53.246166 > 160 bytes data, server => client 02:02:53.246180 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:53.246193 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:53.246205 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:53.246298 < 16 bytes data, client => server 02:02:53.246313 'USER anonymous\r\n' 02:02:53.246472 Received DATA (on stdin) 02:02:53.246486 > 33 bytes data, server => client 02:02:53.246498 '331 We are happy you popped in!\r\n' 02:02:53.246554 < 22 bytes data, client => server 02:02:53.246568 'PASS ftp@example.com\r\n' 02:02:53.246666 Received DATA (on stdin) 02:02:53.246679 > 30 bytes data, server => client 02:02:53.246690 '230 Welcome you silly person\r\n' 02:02:53.246742 < 5 bytes data, client => server 02:02:53.246755 'PWD\r\n' 02:02:53.246857 Received DATA (on stdin) 02:02:53.246870 > 30 bytes data, server => client 02:02:53.246881 '257 "/" is current directory\r\n' 02:02:53.246941 < 6 bytes data, client => server 02:02:53.246954 'EPSV\r\n' 02:02:53.262305 Received DATA (on stdin) 02:02:53.262328 > 38 bytes data, server => client 02:02:53.262340 '229 Entering Passive Mode (|||32895|)\n' 02:02:53.262546 < 8 bytes data, client => server 02:02:53.262562 'TYPE I\r\n' 02:02:53.262772 Received DATA (on stdin) 02:02:53.262785 > 33 bytes data, server => client 02:02:53.262796 '200 I modify TYPE as you wanted\r\n' 02:02:53.262848 < 21 bytes data, client => server 02:02:53.262860 'SIZE verifiedserver\r\n' 02:02:53.262963 Received DATA (on stdin) 02:02:53.262974 > 8 bytes data, server => client 02:02:53.262985 '213 17\r\n' 02:02:53.263033 < 21 bytes data, client => server 02:02:53.263045 'RETR verifiedserver\r\n' 02:02:53.263240 Received DATA (on stdin) 02:02:53.263252 > 29 bytes data, server => client 02:02:53.263262 '150 Binary junk (17 bytes).\r\n' 02:02:53.263681 Received DATA (on stdin) 02:02:53.263693 > 28 bytes data, server => client 02:02:53.263704 '226 File transfer complete\r\n' 02:02:53.305614 < 6 bytes data, client => server 02:02:53.305650 'QUIT\r\n' 02:02:53.305863 Received DATA (on stdin) 02:02:53.305876 > 18 bytes data, server => client 02:02:53.305888 '221 bye bye baby\r\n' 02:02:53.306665 ====> Client disconnect 02:02:53.306756 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:53.252541 Running IPv4 version 02:02:53.252597 Listening on port 32895 02:02:53.252633 Wrote pid 127083 to log/3/server/ftp_sockdata.pid 02:02:53.252652 Received PING (on stdin) 02:02:53.259306 Received PORT (on stdin) 02:02:53.262585 ====> Client connect 02:02:53.263291 Received DATA (on stdin) 02:02:53.263304 > 17 bytes data, server => client 02:02:53.263315 'WE ROOLZ: 80465\r\n' 02:02:53.263342 Received DISC (on stdin) 02:02:53.263354 ====> Client forcibly disconnected 02:02:53.263431 Received QUIT (on stdin) 02:02:53.263442 quits 02:02:53.263491 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1010 === End of file server.cmd === Start of file valgrind1010 ==127165== ==127165== Process terminating with default action of signal 4 (SIGILL) ==127165== Illegal opcode at address 0x10B08D ==127165== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127165== by 0x10B08D: main (toCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1012 ../src/curl -q --output log/5/curl1012.out --include --trace-ascii log/5/trace1012 --trace-config all --trace-time http://127.0.0.1:33361/blah/1012 -L -d "moo" --post301 > log/5/stdout1012 2> log/5/stderr1012 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1013 ../src/curl -q --output log/4/curl1013.out --include --trace-ascii log/4/trace1013 --trace-config all --trace-time --version > log/4/stdout1013 2> log/4/stderr1013 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1016 ../src/curl -q --trace-ascii log/10/trace1016 --trace-config all --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/10/test1016.txt > log/10/stdout1016 2> log/10/stderr1016 ol_main.c:232) === End of file valgrind1010 test 1012...[HTTP POST with 301 redirect and --post301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1012 ../src/curl -q --output log/5/curl1012.out --include --trace-ascii log/5/trace1012 --trace-config all --trace-time http://127.0.0.1:33361/blah/1012 -L -d "moo" --post301 > log/5/stdout1012 2> log/5/stderr1012 1012: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1012 === Start of file http_server.log 02:02:53.605946 ====> Client connect 02:02:53.605979 accept_connection 3 returned 4 02:02:53.605996 accept_connection 3 returned 0 02:02:53.606011 Read 93 bytes 02:02:53.606022 Process 93 bytes request 02:02:53.606037 Got request: GET /verifiedserver HTTP/1.1 02:02:53.606047 Are-we-friendly question received 02:02:53.606070 Wrote request (93 bytes) input to log/5/server.input 02:02:53.606087 Identifying ourselves as friends 02:02:53.606155 Response sent (56 bytes) and written to log/5/server.response 02:02:53.606167 special request received, no persistency 02:02:53.606177 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1012 ==127319== ==127319== Process terminating with default action of signal 4 (SIGILL) ==127319== Illegal opcode at address 0x10B08D ==127319== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127319== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1012 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1015 ../src/curl -q --output log/11/curl1015.out --include --trace-ascii log/11/trace1015 --trace-config all --trace-time http://127.0.0.1:44137/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/11/1015.txt" --data-urlencode @log/11/1015.txt > log/11/stdout1015 2> log/11/stderr1015 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1014 ../src/curl -q --output log/9/curl1014.out --include --trace-ascii log/9/trace1014 --trace-config all --trace-time --version > log/9/stdout1014 2> log/9/stderr1014 Mismatch in protocols lists: curl: curl-config: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Mismatch in features lists: curl: curl-config: AsynchDNS GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile NTLM PSL SPNEGO SSL TLS-SRP UnixSockets alt-svc brotli libz threadsafe zstd CMD (256): /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/9/stdout1014 features CMD (256): /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/4/stdout1013 protocols CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1017 ../src/curl -q --trace-ascii log/6/trace1017 --trace-config all --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/6/test1017.txt > log/6/stdout1017 2> log/6/stderr1017 * starts no server test 1016...[X-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1016 ../src/curl -q --trace-ascii log/10/trace1016 --trace-config all --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/10/test1016.txt > log/10/stdout1016 2> log/10/stderr1016 1016: stdout FAILED: --- log/10/check-expected 2024-12-15 02:02:54.203116692 +0000 +++ log/10/check-generated 2024-12-15 02:02:54.203116692 +0000 @@ -1 +0,0 @@ -2345 == Contents of files in the log/10/ dir after test 1016 === Start of file check-expected 2345 === End of file check-expected === Start of file server.cmd Testnum 1016 === End of file server.cmd === Start of file test1016.txt 1234567890 === End of file test1016.txt === Start of file valgrind1016 ==127384== ==127384== Process terminating with default action of signal 4 (SIGILL) ==127384== Illegal opcode at address 0x10B08D ==127384== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127384== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1016 test 1015...[--data-urlencode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1015 ../src/curl -q --output log/11/curl1015.out --include --trace-ascii log/11/trace1015 --trace-config all --trace-time http://127.0.0.1:44137/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/11/1015.txt" --data-urlencode @log/11/1015.txt > log/11/stdout1015 2> log/11/stderr1015 1015: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1015 === Start of file 1015.txt content to _?!#$'|<> === End of file 1015.txt === Start of file http_server.log 02:02:53.662612 ====> Client connect 02:02:53.662647 accept_connection 3 returned 4 02:02:53.662666 accept_connection 3 returned 0 02:02:53.662680 Read 93 bytes 02:02:53.662692 Process 93 bytes request 02:02:53.662706 Got request: GET /verifiedserver HTTP/1.1 02:02:53.662716 Are-we-friendly question received 02:02:53.662740 Wrote request (93 bytes) input to log/11/server.input 02:02:53.662758 Identifying ourselves as friends 02:02:53.662824 Response sent (56 bytes) and written to log/11/server.response 02:02:53.662835 special request received, no persistency 02:02:53.662844 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1015 ==127402== ==127402== Process terminating with default action of signal 4 (SIGILL) ==127402== Illegal opcode at address 0x10B08D ==127402== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127402== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1015 * starts no server test 1014...[Compare curl --version with curl-config --features] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1014 ../src/curl -q --output log/9/curl1014.out --include --trace-ascii log/9/trace1014 --trace-config all --trace-time --version > log/9/stdout1014 2> log/9/stderr1014 postcheck /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/9/stdout1014 features 1014: postcheck FAILED == Contents of files in the log/9/ dir after test 1014 === Start of file server.cmd Testnum 1014 === End of file server.cmd === Start of file valgrind1014 ==127386== ==127386== Process terminating with default action of signal 4 (SIGILL) ==127386== Illegal opcode at address 0x10B08D ==127386== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127386== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1014 * starts no server test 1013...[Compare curl --version with curl-config --protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1013 ../src/curl -q --output log/4/curl1013.out --include --trace-ascii log/4/trace1013 --trace-config all --trace-time --version > log/4/stdout1013 2> log/4/stderr1013 postcheck /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/4/stdout1013 protocols 1013: postcheck FAILED == Contents of files in the log/4/ dir after test 1013 === Start of file server.cmd Testnum 1013 === End of file server.cmd === Start of file valgrind1013 ==127335== ==127335== Process terminating with default action of signal 4 (SIGILL) ==127335== Illegal opcode at address 0x10B08D ==127335== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127335== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1013 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1018 ../src/curl -q --trace-ascii log/7/trace1018 --trace-config all --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/7/test1018.txt > log/7/stdout1018 2> log/7/stderr1018 * starts no server test 1017...[0-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1017 ../src/curl -q --trace-ascii log/6/trace1017 --trace-config all --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/6/test1017.txt > log/6/stdout1017 2> log/6/stderr1017 1017: stdout FAILED: --- log/6/check-expected 2024-12-15 02:02:54.409787044 +0000 +++ log/6/check-generated 2024-12-15 02:02:54.409787044 +0000 @@ -1 +0,0 @@ -1234 == Contents of files in the log/6/ dir after test 1017 === Start of file check-expected 1234 === End of file check-expected === Start of file server.cmd Testnum 1017 === End of file server.cmd === Start of file test1017.txt 1234567890 === End of file test1017.txt === Start of file valgrind1017 ==127580== ==127580== Process terminating with default action of signal 4 (SIGILL) ==127580== Illegal opcode at address 0x10B08D ==127580== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127580== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1017 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1019 ../src/curl -q --trace-ascii log/12/trace1019 --trace-config all --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/12/test1019.txt > log/12/stdout1019 2> log/12/stderr1019 * starts no server test 1018...[X-X range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1018 ../src/curl -q --trace-ascii log/7/trace1018 --trace-config all --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/7/test1018.txt > log/7/stdout1018 2> log/7/stderr1018 1018: stdout FAILED: --- log/7/check-expected 2024-12-15 02:02:54.423120616 +0000 +++ log/7/check-generated 2024-12-15 02:02:54.423120616 +0000 @@ -1 +0,0 @@ -5 == Contents of files in the log/7/ dir after test 1018 === Start of file check-expected 5 === End of file check-expected === Start of file server.cmd Testnum 1018 === End of file server.cmd === Start of file test1018.txt 1234567890 === End of file test1018.txt === Start of file valgrind1018 ==127587== ==127587== Process terminating with default action of signal 4 (SIGILL) ==127587== Illegal opcode at address 0x10B08D ==127587== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127587== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1018 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1020 ../src/curl -q --trace-ascii log/8/trace1020 --trace-config all --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/8/test1020.txt > log/8/stdout1020 2> log/8/stderr1020 * starts no server test 1019...[X- range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1019 ../src/curl -q --trace-ascii log/12/trace1019 --trace-config all --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/12/test1019.txt > log/12/stdout1019 2> log/12/stderr1019 1019: stdout FAILED: --- log/12/check-expected 2024-12-15 02:02:54.549789540 +0000 +++ log/12/check-generated 2024-12-15 02:02:54.549789540 +0000 @@ -1,2 +0,0 @@ -890[LF] -1234567890[LF] == Contents of files in the log/12/ dir after test 1019 === Start of file check-expected 890[LF] 1234567890[LF] === End of file check-expected === Start of file server.cmd Testnum 1019 === End of file server.cmd === Start of file test1019.txt 1234567890 1234567890 === End of file test1019.txt === Start of file valgrind1019 ==127681== ==127681== Process terminating with default action of signal 4 (SIGILL) ==127681== Illegal opcode at address 0x10B08D ==127681== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127681== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1019 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1007 ../src/curl -q --output log/2/curl1007.out --include --trace-ascii log/2/trace1007 --trace-config all --trace-time -T log/2/test1007.txt tftp://127.0.0.1:56121//invalid-file -sS > log/2/stdout1007 2> log/2/stderr1007 * starts no server test 1020...[-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1020 ../src/curl -q --trace-ascii log/8/trace1020 --trace-config all --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/8/test1020.txt > log/8/stdout1020 2> log/8/stderr1020 1020: stdout FAILED: --- log/8/check-expected 2024-12-15 02:02:54.556456325 +0000 +++ log/8/check-generated 2024-12-15 02:02:54.556456325 +0000 @@ -1 +0,0 @@ -34567890[LF] == Contents of files in the log/8/ dir after test 1020 === Start of file check-expected 34567890[LF] === End of file check-expected === Start of file server.cmd Testnum 1020 === End of file server.cmd === Start of file test1020.txt 1234567890 1234567890 === End of file test1020.txt === Start of file valgrind1020 ==127680== ==127680== Process terminating with default action of signal 4 (SIGILL) ==127680== Illegal opcode at address 0x10B08D ==127680== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127680== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1020 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1021 ../src/curl -q --output log/1/curl1021.out --include --trace-ascii log/1/trace1021 --trace-config all --trace-time http://test.remote.example.com.1021:34215/path/10210002 --proxy http://127.0.0.1:34215 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/1/stdout1021 2> log/1/stderr1021 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1022 ../src/curl -q --output log/3/curl1022.out --include --trace-ascii log/3/trace1022 --trace-config all --trace-time --version > log/3/stdout1022 2> log/3/stderr1022 Mismatch in --version: curl: curl-config: 8.11.1 CMD (256): /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/3/stdout1022 version CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1027 ../src/curl -q --output log/9/curl1027.out --include --trace-ascii log/9/trace1027 --trace-config all --trace-time --help > log/9/stdout1027 2> log/9/stderr1027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1023 ../src/curl -q --output log/5/curl1023.out --include --trace-ascii log/5/trace1023 --trace-config all --trace-time --version > log/5/stdout1023 2> log/5/stderr1023 CMD (256): /usr/bin/perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(Usage: curl )|(--version\s*Show version)/, ); exit ($lines != 2); # Let this file pass an XML syntax check: ' log/9/stdout1027 Mismatch in --version: curl: curl-config: 8.11.1 CMD (256): /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/5/stdout1023 vernum CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1025 ../src/curl -q --output log/11/curl1025.out --include --trace-ascii log/11/trace1025 --trace-config all --trace-time http://127.0.0.1:44137/want/1025 -L -c log/11/jar1025 -b forcedcookie=yes > log/11/stdout1025 2> log/11/stderr1025 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/2/server/tftp_server.pid" --portfile "log/2/server/tftp_server.port" --logfile "log/2/tftp_server.log" --logdir "log/2" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --silent --verbose --globoff "tftp://127.0.0.1:56121/verifiedserver" 2>log/2/tftp_verify.log RUN: Verifying our test tftp server took 0 seconds RUN: TFTP server on PID 126918 port 56121 * pid tftp => 126918 126918 test 1007...[TFTP send with invalid permission on server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1007 ../src/curl -q --output log/2/curl1007.out --include --trace-ascii log/2/trace1007 --trace-config all --trace-time -T log/2/test1007.txt tftp://127.0.0.1:56121//invalid-file -sS > log/2/stdout1007 2> log/2/stderr1007 1007: stderr FAILED: --- log/2/check-expected 2024-12-15 02:02:54.686458646 +0000 +++ log/2/check-generated 2024-12-15 02:02:54.686458646 +0000 @@ -1 +0,0 @@ -curl: (69) TFTP: Access Violation[CR][LF] == Contents of files in the log/2/ dir after test 1007 === Start of file check-expected curl: (69) TFTP: Access Violation[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 1007 === End of file server.cmd === Start of file test1007.txt This data will not be sent === End of file test1007.txt === Start of file tftp_server.log 02:02:52.074599 Wrote pid 126918 to log/2/server/tftp_server.pid 02:02:52.074647 Wrote port 56121 to log/2/server/tftp_server.port 02:02:52.074705 Running IPv4 version on port UDP/56121 02:02:53.102517 trying to get file: verifiedserver mode 1 02:02:53.102535 Are-we-friendly question received 02:02:53.102547 write 02:02:53.102575 read 02:02:53.103179 read: 4 02:02:53.103226 end of one transfer === End of file tftp_server.log === Start of file valgrind1007 ==127788== ==127788== Process terminating with default action of signal 4 (SIGILL) ==127788== Illegal opcode at address 0x10B08D ==127788== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127788== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1007 test 1021...[HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1021 ../src/curl -q --output log/1/curl1021.out --include --trace-ascii log/1/trace1021 --trace-config all --trace-time http://test.remote.example.com.1021:34215/path/10210002 --proxy http://127.0.0.1:34215 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/1/stdout1021 2> log/1/stderr1021 1021: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1021 === Start of file http_server.log 02:02:54.172169 ====> Client connect 02:02:54.172213 accept_connection 3 returned 4 02:02:54.172232 accept_connection 3 returned 0 02:02:54.172247 Read 93 bytes 02:02:54.172259 Process 93 bytes request 02:02:54.172274 Got request: GET /verifiedserver HTTP/1.1 02:02:54.172284 Are-we-friendly question received 02:02:54.172308 Wrote request (93 bytes) input to log/1/server.input 02:02:54.172328 Identifying ourselves as friends 02:02:54.172405 Response sent (56 bytes) and written to log/1/server.response 02:02:54.172418 special request received, no persistency 02:02:54.172429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1021 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1021 ==127843== ==127843== Process terminating with default action of signal 4 (SIGILL) ==127843== Illegal opcode at address 0x10B08D ==127843== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127843== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1021 * starts no server test 1022...[Compare curl --version with curl-config --version] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1022 ../src/curl -q --output log/3/curl1022.out --include --trace-ascii log/3/trace1022 --trace-config all --trace-time --version > log/3/stdout1022 2> log/3/stderr1022 postcheck /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/3/stdout1022 version 1022: postcheck FAILED == Contents of files in the log/3/ dir after test 1022 === Start of file server.cmd Testnum 1022 === End of file server.cmd === Start of file valgrind1022 ==127824== ==127824== Process terminating with default action of signal 4 (SIGILL) ==127824== Illegal opcode at address 0x10B08D ==127824== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127824== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1022 * starts no server test 1027...[curl --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1027 ../src/curl -q --output log/9/curl1027.out --include --trace-ascii log/9/trace1027 --trace-config all --trace-time --help > log/9/stdout1027 2> log/9/stderr1027 postcheck /usr/bin/perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(Usage: curl )|(--version\s*Show version)/, ); exit ($lines != 2); # Let this file pass an XML syntax check: ' log/9/stdout1027 1027: postcheck FAILED == Contents of files in the log/9/ dir after test 1027 === Start of file server.cmd Testnum 1027 === End of file server.cmd === Start of file valgrind1027 ==127995== ==127995== Process terminating with default action of signal 4 (SIGILL) ==127995== Illegal opcode at address 0x10B08D ==127995== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127995== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1027 * starts no server test 1023...[Compare curl --version with curl-config --vernum] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1023 ../src/curl -q --output log/5/curl1023.out --include --trace-ascii log/5/trace1023 --trace-config all --trace-time --version > log/5/stdout1023 2> log/5/stderr1023 postcheck /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/5/stdout1023 vernum 1023: postcheck FAILED == Contents of files in the log/5/ dir after test 1023 === Start of file server.cmd Testnum 1023 === End of file server.cmd === Start of file valgrind1023 ==127958== ==127958== Process terminating with default action of signal 4 (SIGILL) ==127958== Illegal opcode at address 0x10B08D ==127958== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==127958== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1023 test 1025...[HTTP Location: following with command-line and server cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1025 ../src/curl -q --output log/11/curl1025.out --include --trace-ascii log/11/trace1025 --trace-config all --trace-time http://127.0.0.1:44137/want/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1024 ../src/curl -q --output log/10/curl1024.out --include --trace-ascii log/10/trace1024 --trace-config all --trace-time http://127.0.0.1:42929/want/1024 -L -c log/10/jar1024 > log/10/stdout1024 2> log/10/stderr1024 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1028 ../src/curl -q --include --trace-ascii log/4/trace1028 --trace-config all --trace-time http://127.0.0.1:36813/10280001 -L > log/4/stdout1028 2> log/4/stderr1028 1025 -L -c log/11/jar1025 -b forcedcookie=yes > log/11/stdout1025 2> log/11/stderr1025 1025: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1025 === Start of file http_server.log 02:02:54.491245 ====> Client connect 02:02:54.491279 accept_connection 3 returned 4 02:02:54.491297 accept_connection 3 returned 0 02:02:54.491313 Read 93 bytes 02:02:54.491324 Process 93 bytes request 02:02:54.491339 Got request: GET /verifiedserver HTTP/1.1 02:02:54.491349 Are-we-friendly question received 02:02:54.491374 Wrote request (93 bytes) input to log/11/server.input 02:02:54.491392 Identifying ourselves as friends 02:02:54.491467 Response sent (56 bytes) and written to log/11/server.response 02:02:54.491479 special request received, no persistency 02:02:54.491489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1025 ==128090== ==128090== Process terminating with default action of signal 4 (SIGILL) ==128090== Illegal opcode at address 0x10B08D ==128090== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128090== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1025 test 1024...[HTTP Location: following with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1024 ../src/curl -q --output log/10/curl1024.out --include --trace-ascii log/10/trace1024 --trace-config all --trace-time http://127.0.0.1:42929/want/1024 -L -c log/10/jar1024 > log/10/stdout1024 2> log/10/stderr1024 1024: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1024 === Start of file http_server.log 02:02:54.479186 ====> Client connect 02:02:54.479224 accept_connection 3 returned 4 02:02:54.479242 accept_connection 3 returned 0 02:02:54.479257 Read 93 bytes 02:02:54.479268 Process 93 bytes request 02:02:54.479284 Got request: GET /verifiedserver HTTP/1.1 02:02:54.479295 Are-we-friendly question received 02:02:54.479321 Wrote request (93 bytes) input to log/10/server.input 02:02:54.479340 Identifying ourselves as friends 02:02:54.479417 Response sent (56 bytes) and written to log/10/server.response 02:02:54.479430 special request received, no persistency 02:02:54.479440 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1024 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1024 ==128082== ==128082== Process terminating with default action of signal 4 (SIGILL) ==128082== Illegal opcode at address 0x10B08D ==128082== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128082== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1024 test 1028...[HTTP Location: redirect to FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1028 ../src/curl -q --include --trace-ascii log/4/trace1028 --trace-config all --trace-time http://127.0.0.1:36813/10280001 -L > log/4/stdout1028 2> log/4/stderr1028 1028: stdout FAILED: --- log/4/check-expected 2024-12-15 02:02:55.153133635 +0000 +++ log/4/check-generated 2024-12-15 02:02:55.153133635 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 302 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake swsclose[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Location: ftp://127.0.0.1:34583/10280002[CR][LF] -Content-Length: 0[CR][LF] -Connection: close[CR][LF] -[CR][LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/4/ dir after test 1028 === Start of file check-expected HTTP/1.1 302 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake swsclose[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Location: ftp://127.0.0.1:34583/10280002[CR][LF] Content-Length: 0[CR][LF] Connection: close[CR][LF] [CR][LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file ftp_server.log 02:02:54.372035 ====> Client connect 02:02:54.372205 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:54.373082 < "USER anonymous" 02:02:54.373129 > "331 We are happy you popped in![CR][LF]" 02:02:54.373289 < "PASS ftp@example.com" 02:02:54.373314 > "230 Welcome you silly person[CR][LF]" 02:02:54.373457 < "PWD" 02:02:54.373484 > "257 "/" is current directory[CR][LF]" 02:02:54.375085 < "EPSV" 02:02:54.375110 ====> Passive DATA channel requested by client 02:02:54.375124 DATA sockfilt for passive data channel starting... 02:02:54.380074 DATA sockfilt for passive data channel started (pid 128163) 02:02:54.380186 DATA sockfilt for passive data channel listens on port 35879 02:02:54.380231 > "229 Entering Passive Mode (|||35879|)[LF]" 02:02:54.380247 Client has been notified that DATA conn will be accepted on port 35879 02:02:54.385055 Client connects to port 35879 02:02:54.385123 ====> Client established passive DATA connection on port 35879 02:02:54.385241 < "TYPE I" 02:02:54.385290 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:54.388648 < "SIZE verifiedserver" 02:02:54.388696 > "213 17[CR][LF]" 02:02:54.388850 < "RETR verifiedserver" 02:02:54.388882 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:54.388966 =====> Closing passive DATA connection... 02:02:54.388982 Server disconnects passive DATA connection 02:02:54.395661 Server disconnected passive DATA connection 02:02:54.395775 DATA sockfilt for passive data channel quits (pid 128163) 02:02:54.396381 DATA sockfilt for passive data channel quit (pid 128163) 02:02:54.396414 =====> Closed passive DATA connection 02:02:54.396457 > "226 File transfer complete[CR][LF]" 02:02:54.440200 < "QUIT" 02:02:54.440256 > "221 bye bye baby[CR][LF]" 02:02:54.441427 MAIN sockfilt said DISC 02:02:54.441471 ====> Client disconnected 02:02:54.441528 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:54.571894 ====> Client connect 02:02:54.572357 Received DATA (on stdin) 02:02:54.572374 > 160 bytes data, server => client 02:02:54.572387 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:54.572399 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:54.572410 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:54.573070 < 16 bytes data, client => server 02:02:54.573089 'USER anonymous\r\n' 02:02:54.573272 Received DATA (on stdin) 02:02:54.573284 > 33 bytes data, server => client 02:02:54.573295 '331 We are happy you popped in!\r\n' 02:02:54.573349 < 22 bytes data, client => server 02:02:54.573362 'PASS ftp@example.com\r\n' 02:02:54.573452 Received DATA (on stdin) 02:02:54.573464 > 30 bytes data, server => client 02:02:54.573474 '230 Welcome you silly person\r\n' 02:02:54.573521 < 5 bytes data, client => server 02:02:54.573532 'PWD\r\n' 02:02:54.573620 Received DATA (on stdin) 02:02:54.573632 > 30 bytes data, server => client 02:02:54.573642 '257 "/" is current directory\r\n' 02:02:54.575117 < 6 bytes data, client => server 02:02:54.575136 'EPSV\r\n' 02:02:54.580397 Received DATA (on stdin) 02:02:54.580414 > 38 bytes data, server => client 02:02:54.580427 '229 Entering Passive Mode (|||35879|)\n' 02:02:54.580584 < 8 bytes data, client => server 02:02:54.580601 'TYPE I\r\n' 02:02:54.588530 Received DATA (on stdin) 02:02:54.588558 > 33 bytes data, server => client 02:02:54.588570 '200 I modify TYPE as you wanted\r\n' 02:02:54.588666 < 21 bytes data, client => server 02:02:54.588679 'SIZE verifiedserver\r\n' 02:02:54.588836 Received DATA (on stdin) 02:02:54.588848 > 8 bytes data, server => client 02:02:54.588859 '213 17\r\n' 02:02:54.588909 < 21 bytes data, client => server 02:02:54.588922 'RETR verifiedserver\r\n' 02:02:54.589121 Received DATA (on stdin) 02:02:54.589133 > 29 bytes data, server => client 02:02:54.589144 '150 Binary junk (17 bytes).\r\n' 02:02:54.596924 Received DATA (on stdin) 02:02:54.596952 > 28 bytes data, server => client 02:02:54.596964 '226 File transfer complete\r\n' 02:02:54.634347 < 6 bytes data, client => server 02:02:54.634377 'QUIT\r\n' 02:02:54.640404 Received DATA (on stdin) 02:02:54.640425 > 18 bytes data, server => client 02:02:54.640436 '221 bye bye baby\r\n' 02:02:54.641271 ====> Client disconnect 02:02:54.641666 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:54.579909 Running IPv4 version 02:02:54.579978 Listening on port 35879 02:02:54.580012 Wrote pid 128163 to log/4/server/ftp_sockdata.pid 02:02:54.580155 Received PING (on stdin) 02:02:54.580239 Received PORT (on stdin) 02:02:54.581868 ====> Client connect 02:02:54.589219 Received DATA (on stdin) 02:02:54.589239 > 17 bytes data, server => client 02:02:54.589251 'WE ROOLZ: 80536\r\n' 02:02:54.589294 Received DISC (on stdin) 02:02:54.589310 ====> Client forcibly disconnected 02:02:54.595944 Received QUIT (on stdin) 02:02:54.595972 quits 02:02:54.596061 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:02:54.503161 ====> Client connect 02:02:54.503193 accept_connection 3 returned 4 02:02:54.503210 accept_connection 3 returned 0 02:02:54.503225 Read 93 bytes 02:02:54.503236 Process 93 bytes request 02:02:54.503251 Got request: GET /verifiedserver HTTP/1.1 02:02:54.503261 Are-we-friendly question received 02:02:54.503282 Wrote request (93 bytes) input to log/4/server.input 02:02:54.503299 Identifying ourselves as friends 02:02:54.503374 Response sent (56 bytes) and written to log/4/server.response 02:02:54.503385 special request received, no persistency 02:02:54.503395 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1028 ==128246== ==128246== Process terminating with default action of signal 4 (SIGILL) ==128246== Illegal opcode at address 0x10B08D ==128246== at CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1029 ../src/curl -q --include --trace-ascii log/6/trace1029 --trace-config all --trace-time http://127.0.0.1:39457/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/6/stdout1029 2> log/6/stderr1029 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128246== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1028 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1030 ../src/curl -q --output log/7/curl1030.out --include --trace-ascii log/7/trace1030 --trace-config all --trace-time http://127.0.0.1:43753/1030 -T log/7/put1030 -u testuser:testpass --anyauth > log/7/stdout1030 2> log/7/stderr1030 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1032 ../src/curl -q --output log/8/curl1032.out --include --trace-ascii log/8/trace1032 --trace-config all --trace-time --range 1-3 --head http://127.0.0.1:43803/1032 > log/8/stdout1032 2> log/8/stderr1032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1031 ../src/curl -q --output log/12/curl1031.out --include --trace-ascii log/12/trace1031 --trace-config all --trace-time http://127.0.0.1:40653/want/this/1031 -L > log/12/stdout1031 2> log/12/stderr1031 test 1029...[HTTP Location: and 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1029 ../src/curl -q --include --trace-ascii log/6/trace1029 --trace-config all --trace-time http://127.0.0.1:39457/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/6/stdout1029 2> log/6/stderr1029 1029: stdout FAILED: --- log/6/check-expected 2024-12-15 02:02:55.266468988 +0000 +++ log/6/check-generated 2024-12-15 02:02:55.266468988 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10290002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:39457/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:39457/we/want/our/1029 0 [LF] == Contents of files in the log/6/ dir after test 1029 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10290002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:39457/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:39457/we/want/our/1029 0 [LF] === End of file check-expected === Start of file http_server.log 02:02:54.663889 ====> Client connect 02:02:54.663921 accept_connection 3 returned 4 02:02:54.663938 accept_connection 3 returned 0 02:02:54.663951 Read 93 bytes 02:02:54.663962 Process 93 bytes request 02:02:54.663977 Got request: GET /verifiedserver HTTP/1.1 02:02:54.663986 Are-we-friendly question received 02:02:54.664006 Wrote request (93 bytes) input to log/6/server.input 02:02:54.664023 Identifying ourselves as friends 02:02:54.664147 Response sent (56 bytes) and written to log/6/server.response 02:02:54.664194 special request received, no persistency 02:02:54.664216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1029 ==128274== ==128274== Process terminating with default action of signal 4 (SIGILL) ==128274== Illegal opcode at address 0x10B08D ==128274== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128274== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1029 test 1030...[HTTP PUT with --anyauth authorization (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1030 ../src/curl -q --output log/7/curl1030.out --include --trace-ascii log/7/trace1030 --trace-config all --trace-time http://127.0.0.1:43753/1030 -T log/7/put1030 -u testuser:testpass --anyauth > log/7/stdout1030 2> log/7/stderr1030 1030: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1030 === Start of file http_server.log 02:02:54.678827 ====> Client connect 02:02:54.678868 accept_connection 3 returned 4 02:02:54.678887 accept_connection 3 returned 0 02:02:54.678903 Read 93 bytes 02:02:54.678914 Process 93 bytes request 02:02:54.678930 Got request: GET /verifiedserver HTTP/1.1 02:02:54.678939 Are-we-friendly question received 02:02:54.678964 Wrote request (93 bytes) input to log/7/server.input 02:02:54.678983 Identifying ourselves as friends 02:02:54.679061 Response sent (56 bytes) and written to log/7/server.response 02:02:54.679072 special request received, no persistency 02:02:54.679081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file put1030 This is data we upload with PUT a second line line three four is the number of lines === End of file put1030 === Start of file server.cmd Testnum 1030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1030 ==128294== ==128294== Process terminating with default action of signal 4 (SIGILL) ==128294== Illegal opcode at address 0x10B08D ==128294== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128294== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1030 test 1032...[HTTP HEAD with --range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1032 ../src/curl -q --output log/8/curl1032.out --include --trace-ascii log/8/trace1032 --trace-config all --trace-time --range 1-3 --head http://127.0.0.1:43803/1032 > log/8/stdout1032 2> log/8/stderr1032 1032: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1032 === Start of file http_server.log 02:02:54.802696 ====> Client connect 02:02:54.802729 accept_connection 3 returned 4 02:02:54.802746 accept_connection 3 returned 0 02:02:54.802760 Read 93 bytes 02:02:54.802771 Process 93 bytes request 02:02:54.802785 Got request: GET /verifiedserver HTTP/1.1 02:02:54.802795 Are-we-friendly question received 02:02:54.802816 Wrote request (93 bytes) input to log/8/server.input 02:02:54.802833 Identifying ourselves as friends 02:02:54.802894 Response sent (56 bytes) and written to log/8/server.response 02:02:54.802904 special request received, no persistency 02:02:54.802913 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1032 ==128443== ==128443== Process terminating with default action of signal 4 (SIGILL) ==128443== Illegal opcode at address 0x10B08D ==128443== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128443== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1032 test 1031...[HTTP Location: following to a query string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1031 ../src/curl -q --outpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1035 ../src/curl -q --output log/3/curl1035.out --include --trace-ascii log/3/trace1035 --trace-config all --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/3/stdout1035 2> log/3/stderr1035 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1034 ../src/curl -q --output log/1/curl1034.out --include --trace-ascii log/1/trace1034 --trace-config all --trace-time -K - -x 127.0.0.1:47 log/1/stdout1034 2> log/1/stderr1034 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1033 ../src/curl -q --output log/2/curl1033.out --include --trace-ascii log/2/trace1033 --trace-config all --trace-time http://127.0.0.1:38781/1033 > log/2/stdout1033 2> log/2/stderr1033 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1036 ../src/curl -q --output log/9/curl1036.out --include --trace-ascii log/9/trace1036 --trace-config all --trace-time ftp://127.0.0.1:35301/1036 -C - > log/9/stdout1036 2> log/9/stderr1036 ut log/12/curl1031.out --include --trace-ascii log/12/trace1031 --trace-config all --trace-time http://127.0.0.1:40653/want/this/1031 -L > log/12/stdout1031 2> log/12/stderr1031 1031: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1031 === Start of file http_server.log 02:02:54.795391 ====> Client connect 02:02:54.795430 accept_connection 3 returned 4 02:02:54.795450 accept_connection 3 returned 0 02:02:54.795468 Read 93 bytes 02:02:54.795478 Process 93 bytes request 02:02:54.795492 Got request: GET /verifiedserver HTTP/1.1 02:02:54.795501 Are-we-friendly question received 02:02:54.795535 Wrote request (93 bytes) input to log/12/server.input 02:02:54.795553 Identifying ourselves as friends 02:02:54.795625 Response sent (56 bytes) and written to log/12/server.response 02:02:54.795637 special request received, no persistency 02:02:54.795646 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1031 ==128441== ==128441== Process terminating with default action of signal 4 (SIGILL) ==128441== Illegal opcode at address 0x10B08D ==128441== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128441== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1031 * starts no server setenv LC_ALL = setenv LC_CTYPE = en_US.UTF-8 test 1035...[HTTP over proxy with too long IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1035 ../src/curl -q --output log/3/curl1035.out --include --trace-ascii log/3/trace1035 --trace-config all --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/3/stdout1035 2> log/3/stderr1035 curl returned 132, when expecting 3 1035: exit FAILED == Contents of files in the log/3/ dir after test 1035 === Start of file server.cmd Testnum 1035 === End of file server.cmd === Start of file valgrind1035 ==128564== ==128564== Process terminating with default action of signal 4 (SIGILL) ==128564== Illegal opcode at address 0x10B08D ==128564== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128564== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1035 * starts no server setenv LC_ALL = setenv LC_CTYPE = en_US.UTF-8 test 1034...[HTTP over proxy with malformatted IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1034 ../src/curl -q --output log/1/curl1034.out --include --trace-ascii log/1/trace1034 --trace-config all --trace-time -K - -x 127.0.0.1:47 log/1/stdout1034 2> log/1/stderr1034 curl returned 132, when expecting 3 1034: exit FAILED == Contents of files in the log/1/ dir after test 1034 === Start of file server.cmd Testnum 1034 === End of file server.cmd === Start of file stdin-for-1034 url = "http://invalid-utf8-.local/page/1034" === End of file stdin-for-1034 === Start of file valgrind1034 ==128545== ==128545== Process terminating with default action of signal 4 (SIGILL) ==128545== Illegal opcode at address 0x10B08D ==128545== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128545== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1034 test 1033...[HTTP GET with 102 response!] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1033 ../src/curl -q --output log/2/curl1033.out --include --trace-ascii log/2/trace1033 --trace-config all --trace-time http://127.0.0.1:38781/1033 > log/2/stdout1033 2> log/2/stderr1033 1033: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1033 === Start of file http_server.log 02:02:54.998875 ====> Client connect 02:02:54.998911 accept_connection 3 returned 4 02:02:54.998929 accept_connection 3 returned 0 02:02:54.998944 Read 93 bytes 02:02:54.998954 Process 93 bytes request 02:02:54.998969 Got request: GET /verifiedserver HTTP/1.1 02:02:54.998979 Are-we-friendly question received 02:02:54.999005 Wrote request (93 bytes) input to log/2/server.input 02:02:54.999021 Identifying ourselves as friends 02:02:54.999095 Response sent (56 bytes) and written to log/2/server.response 02:02:54.999105 special request received, no persistency 02:02:54.999115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1033 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1033 ==128601== ==128601== Process terminating with default action of signal 4 (SIGILL) ==128601== Illegal opcode at address 0x10B08D ==128601== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128601== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1033 test 1036...[FTP download resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1036 ../src/curl -q --output log/9/curl1036.out --include --trace-ascii log/9/trace1036 --trace-config all --trace-time ftp://127.0.0.1:35301/1036 -C - > log/9/stdout1036 2> log/9/stderr1036 1036: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1036 === Start of file curl1036.out This is the start! === End of file curl1036.out === Start of file ftp_server.log 02:02:54.992288 ====> Client connect 02:02:54.992446 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:54.992735 < "USER anonymous" 02:02:54.992772 > "331 We are happy you popped in![CR][LF]" 02:02:54.992951 < "PASS ftp@example.com" 02:02:54.992978 > "230 Welcome you silly person[CR][LF]" 02:02:54.993139 < "PWD" 02:02:54.993172 > "257 "/" is current directory[CR][LF]" 02:02:54.993347 < "EPSV" 02:02:54.993373 ====> Passive DATA channel requested by client 02:02:54.993387 DATA sockfilt for passive data channel starting... 02:02:54.995001 DATA sockfilt for passive data channel started (pid 128728) 02:02:54.995112 DATA sockfilt for passive data channel listens on port 39023 02:02:54.995151 > "229 Entering Passive Mode (|||39023|)[LF]" 02:02:54.995170 Client has been notifiedCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1040 ../src/curl -q --output log/4/curl1040.out --include --trace-ascii log/4/trace1040 --trace-config all --trace-time http://127.0.0.1:36813/1040 -C - > log/4/stdout1040 2> log/4/stderr1040 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1037 ../src/curl -q --output log/5/curl1037.out --include --trace-ascii log/5/trace1037 --trace-config all --trace-time ftp://127.0.0.1:36485/1037 -C - > log/5/stdout1037 2> log/5/stderr1037 that DATA conn will be accepted on port 39023 02:02:54.995414 Client connects to port 39023 02:02:54.995442 ====> Client established passive DATA connection on port 39023 02:02:54.995505 < "TYPE I" 02:02:54.995532 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:54.995702 < "SIZE verifiedserver" 02:02:54.995739 > "213 17[CR][LF]" 02:02:54.995904 < "RETR verifiedserver" 02:02:54.995941 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:54.996022 =====> Closing passive DATA connection... 02:02:54.996039 Server disconnects passive DATA connection 02:02:54.996284 Server disconnected passive DATA connection 02:02:54.996317 DATA sockfilt for passive data channel quits (pid 128728) 02:02:54.996524 DATA sockfilt for passive data channel quit (pid 128728) 02:02:54.996551 =====> Closed passive DATA connection 02:02:54.996579 > "226 File transfer complete[CR][LF]" 02:02:55.039410 < "QUIT" 02:02:55.039453 > "221 bye bye baby[CR][LF]" 02:02:55.040302 MAIN sockfilt said DISC 02:02:55.040333 ====> Client disconnected 02:02:55.040413 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:55.192306 ====> Client connect 02:02:55.192599 Received DATA (on stdin) 02:02:55.192616 > 160 bytes data, server => client 02:02:55.192629 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:55.192641 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:55.192653 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:55.192731 < 16 bytes data, client => server 02:02:55.192746 'USER anonymous\r\n' 02:02:55.192916 Received DATA (on stdin) 02:02:55.192930 > 33 bytes data, server => client 02:02:55.192942 '331 We are happy you popped in!\r\n' 02:02:55.192999 < 22 bytes data, client => server 02:02:55.193014 'PASS ftp@example.com\r\n' 02:02:55.193118 Received DATA (on stdin) 02:02:55.193131 > 30 bytes data, server => client 02:02:55.193142 '230 Welcome you silly person\r\n' 02:02:55.193194 < 5 bytes data, client => server 02:02:55.193207 'PWD\r\n' 02:02:55.193313 Received DATA (on stdin) 02:02:55.193326 > 30 bytes data, server => client 02:02:55.193337 '257 "/" is current directory\r\n' 02:02:55.193400 < 6 bytes data, client => server 02:02:55.193415 'EPSV\r\n' 02:02:55.195320 Received DATA (on stdin) 02:02:55.195335 > 38 bytes data, server => client 02:02:55.195347 '229 Entering Passive Mode (|||39023|)\n' 02:02:55.195471 < 8 bytes data, client => server 02:02:55.195489 'TYPE I\r\n' 02:02:55.195672 Received DATA (on stdin) 02:02:55.195685 > 33 bytes data, server => client 02:02:55.195697 '200 I modify TYPE as you wanted\r\n' 02:02:55.195752 < 21 bytes data, client => server 02:02:55.195767 'SIZE verifiedserver\r\n' 02:02:55.195880 Received DATA (on stdin) 02:02:55.195894 > 8 bytes data, server => client 02:02:55.195905 '213 17\r\n' 02:02:55.195958 < 21 bytes data, client => server 02:02:55.195971 'RETR verifiedserver\r\n' 02:02:55.196181 Received DATA (on stdin) 02:02:55.196194 > 29 bytes data, server => client 02:02:55.196206 '150 Binary junk (17 bytes).\r\n' 02:02:55.196721 Received DATA (on stdin) 02:02:55.196735 > 28 bytes data, server => client 02:02:55.196747 '226 File transfer complete\r\n' 02:02:55.239393 < 6 bytes data, client => server 02:02:55.239415 'QUIT\r\n' 02:02:55.239595 Received DATA (on stdin) 02:02:55.239607 > 18 bytes data, server => client 02:02:55.239617 '221 bye bye baby\r\n' 02:02:55.240394 ====> Client disconnect 02:02:55.240558 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:54.194868 Running IPv4 version 02:02:54.194918 Listening on port 39023 02:02:54.194958 Wrote pid 128728 to log/9/server/ftp_sockdata.pid 02:02:54.195083 Received PING (on stdin) 02:02:54.195171 Received PORT (on stdin) 02:02:54.195508 ====> Client connect 02:02:54.196236 Received DATA (on stdin) 02:02:54.196250 > 17 bytes data, server => client 02:02:54.196261 'WE ROOLZ: 80452\r\n' 02:02:54.196289 Received DISC (on stdin) 02:02:54.196303 ====> Client forcibly disconnected 02:02:54.196466 Received QUIT (on stdin) 02:02:54.196479 quits 02:02:54.196537 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1036 === End of file server.cmd === Start of file valgrind1036 ==128744== ==128744== Process terminating with default action of signal 4 (SIGILL) ==128744== Illegal opcode at address 0x10B08D ==128744== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128744== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1036 test 1040...[HTTP GET with resume from end of entirely-downloaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1040 ../src/curl -q --output log/4/curl1040.out --include --trace-ascii log/4/trace1040 --trace-config all --trace-time http://127.0.0.1:36813/1040 -C - > log/4/stdout1040 2> log/4/stderr1040 1040: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1040 === Start of file curl1040.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1040.out === Start of file http_server.log 02:02:55.410347 ====> Client connect 02:02:55.410381 accept_connection 3 returned 4 02:02:55.410397 accept_connection 3 returned 0 02:02:55.410411 Read 93 bytes 02:02:55.410421 Process 93 bytes request 02:02:55.410436 Got request: GET /verifiedserver HTTP/1.1 02:02:55.410446 Are-we-friendly question received 02:02:55.410467 Wrote request (93 bytes) input to log/4/server.input 02:02:55.410484 Identifying ourselves as friends 02:02:55.410547 Response sent (56 bytes) and written to log/4/server.response 02:02:55.410557 special request received, no persistency 02:02:55.410567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1040 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1040 ==128874== ==128874== Process terminating with default action of signal 4 (SIGILL) ==128874== Illegal opcode at address 0x10B08D ==128874== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128874== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1040 test 1037...[FTP download resume from end of empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1037 ../src/curl -q --output log/5/curl1037.out --include --trace-ascii log/5/trace1037 --trace-config all --trace-time ftp://127.0.0.1:36485/1037 -C - > log/5/stdout1037 2> log/5/stderr1037 1037: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1037 === Start of file ftp_server.log 02:02:55.026197 ====> Client connect 02:02:55.026350 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:55.026621 < "USER anonymous" 02:02:55.026653 > "331 We are happy you popped in![CR][LF]" 02:02:55.026815 < "PASS ftp@example.coCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1038 ../src/curl -q --output log/11/curl1038.out --include --trace-ascii log/11/trace1038 --trace-config all --trace-time ftp://127.0.0.1:45687/1038 -T log/11/upload1038 -C - > log/11/stdout1038 2> log/11/stderr1038 m" 02:02:55.026840 > "230 Welcome you silly person[CR][LF]" 02:02:55.026985 < "PWD" 02:02:55.027014 > "257 "/" is current directory[CR][LF]" 02:02:55.027166 < "EPSV" 02:02:55.027190 ====> Passive DATA channel requested by client 02:02:55.027203 DATA sockfilt for passive data channel starting... 02:02:55.032775 DATA sockfilt for passive data channel started (pid 128741) 02:02:55.032904 DATA sockfilt for passive data channel listens on port 35009 02:02:55.032954 > "229 Entering Passive Mode (|||35009|)[LF]" 02:02:55.032973 Client has been notified that DATA conn will be accepted on port 35009 02:02:55.037805 Client connects to port 35009 02:02:55.037853 ====> Client established passive DATA connection on port 35009 02:02:55.041844 < "TYPE I" 02:02:55.041886 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:55.042060 < "SIZE verifiedserver" 02:02:55.042113 > "213 17[CR][LF]" 02:02:55.042251 < "RETR verifiedserver" 02:02:55.042281 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:55.042363 =====> Closing passive DATA connection... 02:02:55.042377 Server disconnects passive DATA connection 02:02:55.042597 Server disconnected passive DATA connection 02:02:55.042622 DATA sockfilt for passive data channel quits (pid 128741) 02:02:55.042819 DATA sockfilt for passive data channel quit (pid 128741) 02:02:55.042839 =====> Closed passive DATA connection 02:02:55.042863 > "226 File transfer complete[CR][LF]" 02:02:55.098503 < "QUIT" 02:02:55.098559 > "221 bye bye baby[CR][LF]" 02:02:55.099926 MAIN sockfilt said DISC 02:02:55.099967 ====> Client disconnected 02:02:55.100033 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:54.226219 ====> Client connect 02:02:54.226499 Received DATA (on stdin) 02:02:54.226514 > 160 bytes data, server => client 02:02:54.226527 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:54.226540 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:54.226551 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:54.226624 < 16 bytes data, client => server 02:02:54.226638 'USER anonymous\r\n' 02:02:54.226794 Received DATA (on stdin) 02:02:54.226806 > 33 bytes data, server => client 02:02:54.226817 '331 We are happy you popped in!\r\n' 02:02:54.226872 < 22 bytes data, client => server 02:02:54.226885 'PASS ftp@example.com\r\n' 02:02:54.226978 Received DATA (on stdin) 02:02:54.226989 > 30 bytes data, server => client 02:02:54.227000 '230 Welcome you silly person\r\n' 02:02:54.227048 < 5 bytes data, client => server 02:02:54.227059 'PWD\r\n' 02:02:54.227152 Received DATA (on stdin) 02:02:54.227163 > 30 bytes data, server => client 02:02:54.227174 '257 "/" is current directory\r\n' 02:02:54.227229 < 6 bytes data, client => server 02:02:54.227241 'EPSV\r\n' 02:02:54.233123 Received DATA (on stdin) 02:02:54.233142 > 38 bytes data, server => client 02:02:54.233160 '229 Entering Passive Mode (|||35009|)\n' 02:02:54.241838 < 8 bytes data, client => server 02:02:54.241860 'TYPE I\r\n' 02:02:54.242028 Received DATA (on stdin) 02:02:54.242039 > 33 bytes data, server => client 02:02:54.242049 '200 I modify TYPE as you wanted\r\n' 02:02:54.242121 < 21 bytes data, client => server 02:02:54.242133 'SIZE verifiedserver\r\n' 02:02:54.242251 Received DATA (on stdin) 02:02:54.242261 > 8 bytes data, server => client 02:02:54.242271 '213 17\r\n' 02:02:54.242318 < 21 bytes data, client => server 02:02:54.242328 'RETR verifiedserver\r\n' 02:02:54.242515 Received DATA (on stdin) 02:02:54.242527 > 29 bytes data, server => client 02:02:54.242536 '150 Binary junk (17 bytes).\r\n' 02:02:54.243000 Received DATA (on stdin) 02:02:54.243012 > 28 bytes data, server => client 02:02:54.243023 '226 File transfer complete\r\n' 02:02:54.295233 < 6 bytes data, client => server 02:02:54.295270 'QUIT\r\n' 02:02:54.298711 Received DATA (on stdin) 02:02:54.298730 > 18 bytes data, server => client 02:02:54.298743 '221 bye bye baby\r\n' 02:02:54.299608 ====> Client disconnect 02:02:54.300172 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:55.232579 Running IPv4 version 02:02:55.232649 Listening on port 35009 02:02:55.232694 Wrote pid 128741 to log/5/server/ftp_sockdata.pid 02:02:55.232851 Received PING (on stdin) 02:02:55.232946 Received PORT (on stdin) 02:02:55.237880 ====> Client connect 02:02:55.242565 Received DATA (on stdin) 02:02:55.242581 > 17 bytes data, server => client 02:02:55.242592 'WE ROOLZ: 80534\r\n' 02:02:55.242618 Received DISC (on stdin) 02:02:55.242630 ====> Client forcibly disconnected 02:02:55.242765 Received QUIT (on stdin) 02:02:55.242776 quits 02:02:55.242826 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1037 === End of file server.cmd === Start of file valgrind1037 ==128825== ==128825== Process terminating with default action of signal 4 (SIGILL) ==128825== Illegal opcode at address 0x10B08D ==128825== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128825== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1037 test 1038...[FTP PASV upload resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1038 ../src/curl -q --output log/11/curl1038.out --include --trace-ascii log/11/trace1038 --trace-config all --trace-time ftp://127.0.0.1:45687/1038 -T log/11/upload1038 -C - > log/11/stdout1038 2> log/11/stderr1038 1038: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1038 === Start of file ftp_server.log 02:02:55.158458 ====> Client connect 02:02:55.158715 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:55.165603 < "USER anonymous" 02:02:55.165650 > "331 We are happy you popped in![CR][LF]" 02:02:55.168594 < "PASS ftp@example.com" 02:02:55.168633 > "230 Welcome you silly person[CR][LF]" 02:02:55.168780 < "PWD" 02:02:55.168811 > "257 "/" is current directory[CR][LF]" 02:02:55.168963 < "EPSV" 02:02:55.168987 ====> Passive DATA channel requested by client 02:02:55.169000 DATA sockfilt for passive data channel starting... 02:02:55.172134 DATA sockfilt for passive data channel started (pid 128823) 02:02:55.173879 DATA sockfilt for passive data channel listens on port 37677 02:02:55.173928 > "229 Entering Passive Mode (|||37677|)[LF]" 02:02:55.173950 Client has been notified that DATA conn will be accepted on port 37677 02:02:55.176550 Client connects to port 37677 02:02:55.176591 ====> Client established passive DATA connection on port 37677 02:02:55.176684 < "TYPE I" 02:02:55.176723 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:55.176894 < "SIZE verifiedserver" 02:02:55.176930 > "213 17[CR][LF]" 02:02:55.177089 < "RETR verifiedserver" 02:02:55.177125 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:55.177209 =====> Closing passive DATA connection... 02:02:55.177227 Server disconnects passive DATA connection 02:02:55.177459 Server disconnected passive DATA connection 02:02:55.177488 DATA sockfilt for passive data channel quits (pid 128823) 02:02:55.177696 DATA sockfilt for passive data channel quit (pid 128823) 02:02:55.177721 =====> Closed passive DATA connection 02:02:55.177749 > "226 File transfer complete[CR][LF]" 02:02:55.222620 < "QUIT" 02:02:55.222671 > "221 bye bye baby[CR][LF]" 02:02:55.223643 MAIN sockfilt said DISC 02:02:55.223680 ====> Client disconnected 02:02:55.223737 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:55.358502 ====> Client connect 02:02:55.358877 Received DATA (on stdin) 02:02:55.358899 > 160 bytes data, server => client 02:02:55.358912 '220- _ _ ____ _ \r\n220- ___| | | | _ \|CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1041 ../src/curl -q --output log/6/curl1041.out --include --trace-ascii log/6/trace1041 --trace-config all --trace-time http://127.0.0.1:39457/1041 -Tlog/6/test1041.txt -C - > log/6/stdout1041 2> log/6/stderr1041 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1039 ../src/curl -q --output log/10/curl1039.out --include --trace-ascii log/10/trace1039 --trace-config all --trace-time ftp://127.0.0.1:42661/1039 -T log/10/upload1039 -C - > log/10/stdout1039 2> log/10/stderr1039 | ' 02:02:55.358926 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:55.358937 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:55.361981 < 16 bytes data, client => server 02:02:55.362004 'USER anonymous\r\n' 02:02:55.368491 Received DATA (on stdin) 02:02:55.368514 > 33 bytes data, server => client 02:02:55.368526 '331 We are happy you popped in!\r\n' 02:02:55.368613 < 22 bytes data, client => server 02:02:55.368626 'PASS ftp@example.com\r\n' 02:02:55.368773 Received DATA (on stdin) 02:02:55.368784 > 30 bytes data, server => client 02:02:55.368795 '230 Welcome you silly person\r\n' 02:02:55.368843 < 5 bytes data, client => server 02:02:55.368854 'PWD\r\n' 02:02:55.368949 Received DATA (on stdin) 02:02:55.368960 > 30 bytes data, server => client 02:02:55.368971 '257 "/" is current directory\r\n' 02:02:55.369027 < 6 bytes data, client => server 02:02:55.369038 'EPSV\r\n' 02:02:55.374097 Received DATA (on stdin) 02:02:55.374113 > 38 bytes data, server => client 02:02:55.374125 '229 Entering Passive Mode (|||37677|)\n' 02:02:55.376590 < 8 bytes data, client => server 02:02:55.376613 'TYPE I\r\n' 02:02:55.376867 Received DATA (on stdin) 02:02:55.376880 > 33 bytes data, server => client 02:02:55.376892 '200 I modify TYPE as you wanted\r\n' 02:02:55.376947 < 21 bytes data, client => server 02:02:55.376961 'SIZE verifiedserver\r\n' 02:02:55.377071 Received DATA (on stdin) 02:02:55.377083 > 8 bytes data, server => client 02:02:55.377094 '213 17\r\n' 02:02:55.377145 < 21 bytes data, client => server 02:02:55.377158 'RETR verifiedserver\r\n' 02:02:55.377366 Received DATA (on stdin) 02:02:55.377379 > 29 bytes data, server => client 02:02:55.377389 '150 Binary junk (17 bytes).\r\n' 02:02:55.377891 Received DATA (on stdin) 02:02:55.377904 > 28 bytes data, server => client 02:02:55.377915 '226 File transfer complete\r\n' 02:02:55.421952 < 6 bytes data, client => server 02:02:55.421985 'QUIT\r\n' 02:02:55.422815 Received DATA (on stdin) 02:02:55.422830 > 18 bytes data, server => client 02:02:55.422841 '221 bye bye baby\r\n' 02:02:55.423728 ====> Client disconnect 02:02:55.423878 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:55.370846 Running IPv4 version 02:02:55.370901 Listening on port 37677 02:02:55.370943 Wrote pid 128823 to log/11/server/ftp_sockdata.pid 02:02:55.370960 Received PING (on stdin) 02:02:55.373882 Received PORT (on stdin) 02:02:55.376637 ====> Client connect 02:02:55.377418 Received DATA (on stdin) 02:02:55.377435 > 17 bytes data, server => client 02:02:55.377447 'WE ROOLZ: 80480\r\n' 02:02:55.377474 Received DISC (on stdin) 02:02:55.377488 ====> Client forcibly disconnected 02:02:55.377634 Received QUIT (on stdin) 02:02:55.377647 quits 02:02:55.377699 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1038 === End of file server.cmd === Start of file upload1038 this is the *****cr@p******** that we're gonna upload worx? === End of file upload1038 === Start of file valgrind1038 ==128893== ==128893== Process terminating with default action of signal 4 (SIGILL) ==128893== Illegal opcode at address 0x10B08D ==128893== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128893== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1038 test 1041...[HTTP PUT with resume from end of already-uploaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1041 ../src/curl -q --output log/6/curl1041.out --include --trace-ascii log/6/trace1041 --trace-config all --trace-time http://127.0.0.1:39457/1041 -Tlog/6/test1041.txt -C - > log/6/stdout1041 2> log/6/stderr1041 1041: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1041 === Start of file http_server.log 02:02:55.531315 ====> Client connect 02:02:55.531352 accept_connection 3 returned 4 02:02:55.531371 accept_connection 3 returned 0 02:02:55.531386 Read 93 bytes 02:02:55.531399 Process 93 bytes request 02:02:55.531415 Got request: GET /verifiedserver HTTP/1.1 02:02:55.531427 Are-we-friendly question received 02:02:55.531456 Wrote request (93 bytes) input to log/6/server.input 02:02:55.531477 Identifying ourselves as friends 02:02:55.531557 Response sent (56 bytes) and written to log/6/server.response 02:02:55.531571 special request received, no persistency 02:02:55.531581 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1041 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file test1041.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test1041.txt === Start of file valgrind1041 ==129018== ==129018== Process terminating with default action of signal 4 (SIGILL) ==129018== Illegal opcode at address 0x10B08D ==129018== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129018== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1041 test 1039...[FTP PASV upload resume from end of empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1039 ../src/curl -q --output log/10/curl1039.out --include --trace-ascii log/10/trace1039 --trace-config all --trace-time ftp://127.0.0.1:42661/1039 -T log/10/upload1039 -C - > log/10/stdout1039 2> log/10/stderr1039 1039: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1039 === Start of file ftp_server.log 02:02:55.187750 ====> Client connect 02:02:55.187902 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:55.188183 < "USER anonymous" 02:02:55.188215 > "331 We are happy you popped in![CR][LF]" 02:02:55.188487 < "PASS ftp@example.com" 02:02:55.188517 > "230 Welcome you silly person[CR][LF]" 02:02:55.188673 < "PWD" 02:02:55.188704 > "257 "/" is current directory[CR][LF]" 02:02:55.188862 < "EPSV" 02:02:55.188886 ====> Passive DATA channel requested by client 02:02:55.188899 DATA sockfilt for passive data channel starting... 02:02:55.190790 DATA sockfilt for passive data channel started (pid 128842) 02:02:55.190889 DATA sockfilt for passive data channel listens on port 36893 02:02:55.190930 > "229 Entering Passive Mode (|||36893|)[LF]" 02:02:55.190948 Client has been notified that DATA conn will be accepted on port 36893 02:02:55.191196 Client connects to port 36893 02:02:55.191225 ====> Client established passive DATA connection on port 36893 02:02:55.191282 < "TYPE I" 02:02:55.191308 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:55.191472 < "SIZE verifiedserver" 02:02:55.191511 > "213 17[CR][LF]" 02:02:55.191678 < "RETR verifiedserver" 02:02:55.191719 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:55.191801 =====> Closing passive DATA connection... 02:02:55.191815 Server disconnects passive DATA connection 02:02:55.192041 Server disconnected passive DATA connection 02:02:55.192066 DATA socCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1043 ../src/curl -q --output log/8/curl1043.out --include --trace-ascii log/8/trace1043 --trace-config all --trace-time http://127.0.0.1:43803/1043 -C - > log/8/stdout1043 2> log/8/stderr1043 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1042 ../src/curl -q --output log/7/curl1042.out --include --trace-ascii log/7/trace1042 --trace-config all --trace-time http://127.0.0.1:43753/1042 -C 200 > log/7/stdout1042 2> log/7/stderr1042 kfilt for passive data channel quits (pid 128842) 02:02:55.192254 DATA sockfilt for passive data channel quit (pid 128842) 02:02:55.192304 =====> Closed passive DATA connection 02:02:55.192330 > "226 File transfer complete[CR][LF]" 02:02:55.238658 < "QUIT" 02:02:55.238712 > "221 bye bye baby[CR][LF]" 02:02:55.239993 MAIN sockfilt said DISC 02:02:55.240036 ====> Client disconnected 02:02:55.240106 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:55.387772 ====> Client connect 02:02:55.388053 Received DATA (on stdin) 02:02:55.388069 > 160 bytes data, server => client 02:02:55.388082 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:55.388094 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:55.388106 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:55.388185 < 16 bytes data, client => server 02:02:55.388198 'USER anonymous\r\n' 02:02:55.388355 Received DATA (on stdin) 02:02:55.388368 > 33 bytes data, server => client 02:02:55.388380 '331 We are happy you popped in!\r\n' 02:02:55.388431 < 22 bytes data, client => server 02:02:55.388443 'PASS ftp@example.com\r\n' 02:02:55.388657 Received DATA (on stdin) 02:02:55.388670 > 30 bytes data, server => client 02:02:55.388682 '230 Welcome you silly person\r\n' 02:02:55.388734 < 5 bytes data, client => server 02:02:55.388746 'PWD\r\n' 02:02:55.388842 Received DATA (on stdin) 02:02:55.388855 > 30 bytes data, server => client 02:02:55.388866 '257 "/" is current directory\r\n' 02:02:55.388923 < 6 bytes data, client => server 02:02:55.388934 'EPSV\r\n' 02:02:55.391095 Received DATA (on stdin) 02:02:55.391110 > 38 bytes data, server => client 02:02:55.391122 '229 Entering Passive Mode (|||36893|)\n' 02:02:55.391251 < 8 bytes data, client => server 02:02:55.391269 'TYPE I\r\n' 02:02:55.391449 Received DATA (on stdin) 02:02:55.391462 > 33 bytes data, server => client 02:02:55.391473 '200 I modify TYPE as you wanted\r\n' 02:02:55.391527 < 21 bytes data, client => server 02:02:55.391540 'SIZE verifiedserver\r\n' 02:02:55.391653 Received DATA (on stdin) 02:02:55.391666 > 8 bytes data, server => client 02:02:55.391677 '213 17\r\n' 02:02:55.391731 < 21 bytes data, client => server 02:02:55.391744 'RETR verifiedserver\r\n' 02:02:55.392046 Received DATA (on stdin) 02:02:55.392058 > 29 bytes data, server => client 02:02:55.392068 '150 Binary junk (17 bytes).\r\n' 02:02:55.392472 Received DATA (on stdin) 02:02:55.392485 > 28 bytes data, server => client 02:02:55.392496 '226 File transfer complete\r\n' 02:02:55.438620 < 6 bytes data, client => server 02:02:55.438657 'QUIT\r\n' 02:02:55.438859 Received DATA (on stdin) 02:02:55.438874 > 18 bytes data, server => client 02:02:55.438885 '221 bye bye baby\r\n' 02:02:55.439680 ====> Client disconnect 02:02:55.440247 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:55.390391 Running IPv4 version 02:02:55.390447 Listening on port 36893 02:02:55.390484 Wrote pid 128842 to log/10/server/ftp_sockdata.pid 02:02:55.390869 Received PING (on stdin) 02:02:55.390950 Received PORT (on stdin) 02:02:55.391290 ====> Client connect 02:02:55.391954 Received DATA (on stdin) 02:02:55.391967 > 17 bytes data, server => client 02:02:55.391977 'WE ROOLZ: 80449\r\n' 02:02:55.392009 Received DISC (on stdin) 02:02:55.392021 ====> Client forcibly disconnected 02:02:55.392210 Received QUIT (on stdin) 02:02:55.392222 quits 02:02:55.392273 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1039 === End of file server.cmd === Start of file upload1039 this is the *****cr@p******** that we're gonna upload worx? === End of file upload1039 === Start of file valgrind1039 ==128969== ==128969== Process terminating with default action of signal 4 (SIGILL) ==128969== Illegal opcode at address 0x10B08D ==128969== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==128969== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1039 test 1043...[HTTP GET with resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1043 ../src/curl -q --output log/8/curl1043.out --include --trace-ascii log/8/trace1043 --trace-config all --trace-time http://127.0.0.1:43803/1043 -C - > log/8/stdout1043 2> log/8/stderr1043 1043: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1043 === Start of file curl1043.out 012345678 012345678 012345678 012345678 === End of file curl1043.out === Start of file http_server.log 02:02:55.609197 ====> Client connect 02:02:55.609230 accept_connection 3 returned 4 02:02:55.609246 accept_connection 3 returned 0 02:02:55.609261 Read 93 bytes 02:02:55.609272 Process 93 bytes request 02:02:55.609285 Got request: GET /verifiedserver HTTP/1.1 02:02:55.609296 Are-we-friendly question received 02:02:55.609319 Wrote request (93 bytes) input to log/8/server.input 02:02:55.609338 Identifying ourselves as friends 02:02:55.609405 Response sent (56 bytes) and written to log/8/server.response 02:02:55.609416 special request received, no persistency 02:02:55.609426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1043 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1043 ==129184== ==129184== Process terminating with default action of signal 4 (SIGILL) ==129184== Illegal opcode at address 0x10B08D ==129184== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129184== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1043 test 1042...[HTTP GET beyond end of entirely-downloaded file, no server resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1042 ../src/curl -q --output log/7/curl1042.out --include --trace-ascii log/7/trace1042 --trace-config all --trace-time http://127.0.0.1:43753/1042 -C 200 > log/7/stdout1042 2> log/7/stderr1042 1042: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1042 === Start of file curl1042.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1042.out === Start of file http_server.log 02:02:55.532415 ====> Client connect 02:02:55.532454 accept_connection 3 returned 4 02:02:55.532470 accept_connection 3 returned 0 02:02:55.532484 Read 93 bytes 02:02:55.532494 Process 93 bytes request 02:02:55.532506 Got request: GET /verifiedserver HTTP/1.1 02:02:55.532516 Are-we-friendly question received 02:02:55.532540 Wrote request (93 bytes) input to log/7/server.input 02:02:55.532557 Identifying ourselves as friends 02:02:55.532628 Response sent (56 bytes) and written to log/7/server.response 02:02:55.532640 special request received, no persistency 02:02:55.532650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1044 ../src/curl -q --include --trace-ascii log/12/trace1044 --trace-config all --trace-time ftp://127.0.0.1:40171/blalbla/1044 -I > log/12/stdout1044 2> log/12/stderr1044 :43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1042 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1042 ==129026== ==129026== Process terminating with default action of signal 4 (SIGILL) ==129026== Illegal opcode at address 0x10B08D ==129026== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129026== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1042 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1045 ../src/curl -q --output log/3/curl1045.out --include --trace-ascii log/3/trace1045 --trace-config all --trace-time http://127.0.0.1:34527/1045 --interface 127.0.0.1 > log/3/stdout1045 2> log/3/stderr1045 test 1044...[FTP download large file info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1044 ../src/curl -q --include --trace-ascii log/12/trace1044 --trace-config all --trace-time ftp://127.0.0.1:40171/blalbla/1044 -I > log/12/stdout1044 2> log/12/stderr1044 1044: stdout FAILED: --- log/12/check-expected 2024-12-15 02:02:56.286487178 +0000 +++ log/12/check-generated 2024-12-15 02:02:56.286487178 +0000 @@ -1,3 +0,0 @@ -Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT[CR][LF] -Content-Length: 9999999999[CR][LF] -Accept-ranges: bytes[CR][LF] == Contents of files in the log/12/ dir after test 1044 === Start of file check-expected Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT[CR][LF] Content-Length: 9999999999[CR][LF] Accept-ranges: bytes[CR][LF] === End of file check-expected === Start of file ftp_server.log 02:02:55.415143 ====> Client connect 02:02:55.415284 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:55.415536 < "USER anonymous" 02:02:55.415570 > "331 We are happy you popped in![CR][LF]" 02:02:55.415722 < "PASS ftp@example.com" 02:02:55.415745 > "230 Welcome you silly person[CR][LF]" 02:02:55.415914 < "PWD" 02:02:55.415944 > "257 "/" is current directory[CR][LF]" 02:02:55.416102 < "EPSV" 02:02:55.416125 ====> Passive DATA channel requested by client 02:02:55.416137 DATA sockfilt for passive data channel starting... 02:02:55.420590 DATA sockfilt for passive data channel started (pid 129150) 02:02:55.420697 DATA sockfilt for passive data channel listens on port 46417 02:02:55.420735 > "229 Entering Passive Mode (|||46417|)[LF]" 02:02:55.420750 Client has been notified that DATA conn will be accepted on port 46417 02:02:55.421245 Client connects to port 46417 02:02:55.421275 ====> Client established passive DATA connection on port 46417 02:02:55.421381 < "TYPE I" 02:02:55.421411 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:55.421566 < "SIZE verifiedserver" 02:02:55.421602 > "213 17[CR][LF]" 02:02:55.421802 < "RETR verifiedserver" 02:02:55.421833 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:55.421911 =====> Closing passive DATA connection... 02:02:55.421926 Server disconnects passive DATA connection 02:02:55.422569 Server disconnected passive DATA connection 02:02:55.422599 DATA sockfilt for passive data channel quits (pid 129150) 02:02:55.422783 DATA sockfilt for passive data channel quit (pid 129150) 02:02:55.422804 =====> Closed passive DATA connection 02:02:55.422829 > "226 File transfer complete[CR][LF]" 02:02:55.478516 < "QUIT" 02:02:55.478572 > "221 bye bye baby[CR][LF]" 02:02:55.485916 MAIN sockfilt said DISC 02:02:55.485980 ====> Client disconnected 02:02:55.486074 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:55.615127 ====> Client connect 02:02:55.615429 Received DATA (on stdin) 02:02:55.615441 > 160 bytes data, server => client 02:02:55.615451 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:55.615461 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:55.615472 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:55.615545 < 16 bytes data, client => server 02:02:55.615558 'USER anonymous\r\n' 02:02:55.615712 Received DATA (on stdin) 02:02:55.615726 > 33 bytes data, server => client 02:02:55.615738 '331 We are happy you popped in!\r\n' 02:02:55.615791 < 22 bytes data, client => server 02:02:55.615893 'PASS ftp@example.com\r\n' 02:02:55.615906 Received DATA (on stdin) 02:02:55.615915 > 30 bytes data, server => client 02:02:55.615925 '230 Welcome you silly person\r\n' 02:02:55.615974 < 5 bytes data, client => server 02:02:55.615985 'PWD\r\n' 02:02:55.616082 Received DATA (on stdin) 02:02:55.616094 > 30 bytes data, server => client 02:02:55.616105 '257 "/" is current directory\r\n' 02:02:55.616163 < 6 bytes data, client => server 02:02:55.616175 'EPSV\r\n' 02:02:55.620896 Received DATA (on stdin) 02:02:55.620913 > 38 bytes data, server => client 02:02:55.620926 '229 Entering Passive Mode (|||46417|)\n' 02:02:55.621426 < 8 bytes data, client => server 02:02:55.621439 'TYPE I\r\n' 02:02:55.621550 Received DATA (on stdin) 02:02:55.621562 > 33 bytes data, server => client 02:02:55.621573 '200 I modify TYPE as you wanted\r\n' 02:02:55.621627 < 21 bytes data, client => server 02:02:55.621639 'SIZE verifiedserver\r\n' 02:02:55.621741 Received DATA (on stdin) 02:02:55.621752 > 8 bytes data, server => client 02:02:55.621763 '213 17\r\n' 02:02:55.621857 < 21 bytes data, client => server 02:02:55.621871 'RETR verifiedserver\r\n' 02:02:55.622969 Received DATA (on stdin) 02:02:55.622982 > 29 bytes data, server => client 02:02:55.622994 '150 Binary junk (17 bytes).\r\n' 02:02:55.623020 Received DATA (on stdin) 02:02:55.623031 > 28 bytes data, server => client 02:02:55.623042 '226 File transfer complete\r\n' 02:02:55.675171 < 6 bytes data, client => server 02:02:55.675203 'QUIT\r\n' 02:02:55.681836 Received DATA (on stdin) 02:02:55.681870 > 18 bytes data, server => client 02:02:55.681883 '221 bye bye baby\r\n' 02:02:55.685974 ====> Client disconnect 02:02:55.686218 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:55.620437 Running IPv4 version 02:02:55.620500 Listening on port 46417 02:02:55.620535 Wrote pid 129150 to log/12/server/ftp_sockdata.pid 02:02:55.620672 Received PING (on stdin) 02:02:55.620753 Received PORT (on stdin) 02:02:55.621332 ====> Client connect 02:02:55.622568 Received DATA (on stdin) 02:02:55.622586 > 17 bytes data, server => client 02:02:55.622598 'WE ROOLZ: 80450\r\n' 02:02:55.622634 Received DISC (on stdin) 02:02:55.622647 ====> Client forcibly disconnected 02:02:55.622744 Received QUIT (on stdin) 02:02:55.622756 quits 02:02:55.622805 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1044 === End of file server.cmd === Start of file valgrind1044 ==129230== ==129230== Process terminating with default action of signal 4 (SIGILL) ==129230== Illegal opcode at address 0x10B08D ==129230== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129230== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1044 test 1045...[HTTP GET with numeric localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1045 ../src/curl -q --output log/3/curl1045.out --include --trace-ascii log/3/trace1045 --trace-config all --trace-time http://127.0.0.1:34527/1045 --interface 127.0.0.1 > log/3/stdout1045 2> log/3/stderr1045 1045: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1045 === Start of file http_server.log 02:02:55.806639 ====> Client connect 02:02:55.806674 accept_connection 3 returned 4 02:02:55.806691 accept_connection 3 returned 0 02:02:55.806705 Read 93 bytes 02:02:55.806716 Process 93 bytes request 02:02:55.806731 Got request: GET /verifiedserver HTTP/1.1 02:02:55.806741 Are-we-friendly question received 02:02:55.806764 Wrote request (93 bytes) input to log/3/server.input 02:02:55.806782 Identifying ourselves as friends 02:02:55.806852 Response sent (56 bytes) and written to log/3/server.response 02:02:55.806864 special request received, no persistency 02:02:55.806873 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes daCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1047 ../src/curl -q --output log/2/curl1047.out --include --trace-ascii log/2/trace1047 --trace-config all --trace-time ftp://127.0.0.1:36595/ --interface 127.0.0.1 > log/2/stdout1047 2> log/2/stderr1047 CMD (0): ../src/curl --max-time 13 --output log/1/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:34481/verifiedserver" 2>log/1/http_ipv6_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1053 ../src/curl -q --output log/10/curl1053.out --include --trace-ascii log/10/trace1053 --trace-config all --trace-time http://127.0.0.1:42929/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/10/test1053.txt > log/10/stdout1053 2> log/10/stderr1053 ta] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1045 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1045 ==129332== ==129332== Process terminating with default action of signal 4 (SIGILL) ==129332== Illegal opcode at address 0x10B08D ==129332== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129332== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1045 test 1047...[FTP dir list PASV with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1047 ../src/curl -q --output log/2/curl1047.out --include --trace-ascii log/2/trace1047 --trace-config all --trace-time ftp://127.0.0.1:36595/ --interface 127.0.0.1 > log/2/stdout1047 2> log/2/stderr1047 1047: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1047 === Start of file ftp_server.log 02:02:55.769849 ====> Client connect 02:02:55.769997 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:55.770273 < "USER anonymous" 02:02:55.770306 > "331 We are happy you popped in![CR][LF]" 02:02:55.770462 < "PASS ftp@example.com" 02:02:55.770488 > "230 Welcome you silly person[CR][LF]" 02:02:55.770622 < "PWD" 02:02:55.770648 > "257 "/" is current directory[CR][LF]" 02:02:55.770787 < "EPSV" 02:02:55.770810 ====> Passive DATA channel requested by client 02:02:55.770823 DATA sockfilt for passive data channel starting... 02:02:55.775208 DATA sockfilt for passive data channel started (pid 129389) 02:02:55.775323 DATA sockfilt for passive data channel listens on port 38645 02:02:55.775363 > "229 Entering Passive Mode (|||38645|)[LF]" 02:02:55.775380 Client has been notified that DATA conn will be accepted on port 38645 02:02:55.775659 Client connects to port 38645 02:02:55.775690 ====> Client established passive DATA connection on port 38645 02:02:55.775768 < "TYPE I" 02:02:55.775800 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:55.775964 < "SIZE verifiedserver" 02:02:55.776000 > "213 17[CR][LF]" 02:02:55.776149 < "RETR verifiedserver" 02:02:55.776183 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:55.776260 =====> Closing passive DATA connection... 02:02:55.776275 Server disconnects passive DATA connection 02:02:55.776505 Server disconnected passive DATA connection 02:02:55.776530 DATA sockfilt for passive data channel quits (pid 129389) 02:02:55.776726 DATA sockfilt for passive data channel quit (pid 129389) 02:02:55.776746 =====> Closed passive DATA connection 02:02:55.776770 > "226 File transfer complete[CR][LF]" 02:02:55.828558 < "QUIT" 02:02:55.828611 > "221 bye bye baby[CR][LF]" 02:02:55.829503 MAIN sockfilt said DISC 02:02:55.829544 ====> Client disconnected 02:02:55.829611 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:55.969870 ====> Client connect 02:02:55.970147 Received DATA (on stdin) 02:02:55.970162 > 160 bytes data, server => client 02:02:55.970175 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:55.970187 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:55.970198 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:55.970274 < 16 bytes data, client => server 02:02:55.970286 'USER anonymous\r\n' 02:02:55.970446 Received DATA (on stdin) 02:02:55.970458 > 33 bytes data, server => client 02:02:55.970469 '331 We are happy you popped in!\r\n' 02:02:55.970519 < 22 bytes data, client => server 02:02:55.970530 'PASS ftp@example.com\r\n' 02:02:55.970625 Received DATA (on stdin) 02:02:55.970636 > 30 bytes data, server => client 02:02:55.970646 '230 Welcome you silly person\r\n' 02:02:55.970689 < 5 bytes data, client => server 02:02:55.970700 'PWD\r\n' 02:02:55.970785 Received DATA (on stdin) 02:02:55.970795 > 30 bytes data, server => client 02:02:55.970806 '257 "/" is current directory\r\n' 02:02:55.970856 < 6 bytes data, client => server 02:02:55.970867 'EPSV\r\n' 02:02:55.975527 Received DATA (on stdin) 02:02:55.975543 > 38 bytes data, server => client 02:02:55.975555 '229 Entering Passive Mode (|||38645|)\n' 02:02:55.975715 < 8 bytes data, client => server 02:02:55.975732 'TYPE I\r\n' 02:02:55.975939 Received DATA (on stdin) 02:02:55.975953 > 33 bytes data, server => client 02:02:55.975963 '200 I modify TYPE as you wanted\r\n' 02:02:55.976020 < 21 bytes data, client => server 02:02:55.976032 'SIZE verifiedserver\r\n' 02:02:55.976139 Received DATA (on stdin) 02:02:55.976151 > 8 bytes data, server => client 02:02:55.976161 '213 17\r\n' 02:02:55.976212 < 21 bytes data, client => server 02:02:55.976223 'RETR verifiedserver\r\n' 02:02:55.976509 Received DATA (on stdin) 02:02:55.976522 > 29 bytes data, server => client 02:02:55.976533 '150 Binary junk (17 bytes).\r\n' 02:02:55.976909 Received DATA (on stdin) 02:02:55.976921 > 28 bytes data, server => client 02:02:55.976933 '226 File transfer complete\r\n' 02:02:56.028504 < 6 bytes data, client => server 02:02:56.028543 'QUIT\r\n' 02:02:56.028757 Received DATA (on stdin) 02:02:56.028772 > 18 bytes data, server => client 02:02:56.028784 '221 bye bye baby\r\n' 02:02:56.029584 ====> Client disconnect 02:02:56.029752 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:55.972262 Running IPv4 version 02:02:55.972320 Listening on port 38645 02:02:55.972355 Wrote pid 129389 to log/2/server/ftp_sockdata.pid 02:02:55.975282 Received PING (on stdin) 02:02:55.975374 Received PORT (on stdin) 02:02:55.975752 ====> Client connect 02:02:55.976415 Received DATA (on stdin) 02:02:55.976429 > 17 bytes data, server => client 02:02:55.976440 'WE ROOLZ: 80457\r\n' 02:02:55.976472 Received DISC (on stdin) 02:02:55.976484 ====> Client forcibly disconnected 02:02:55.976676 Received QUIT (on stdin) 02:02:55.976688 quits 02:02:55.976740 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1047 === End of file server.cmd === Start of file valgrind1047 ==129402== ==129402== Process terminating with default action of signal 4 (SIGILL) ==129402== Illegal opcode at address 0x10B08D ==129402== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129402== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1047 test 1053...[HTTP RFC1867-type formposting from file with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1053 ../src/curl -q --output log/10/curl1053.out --include --trace-ascii log/10/trace1053 --trace-config all --trace-time http://127.0.0.1:42929/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/10/test1053.txt > log/10/stdout1053 2> log/10/stderr1053 1053: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1053 === Start of file http_server.log 02:02:56.324759 ====> Client connect 02:02:56.324790 accept_connection 3 returned 4 02:02:56.324806 accept_connection 3 returned 0 02:02:56.324820 Read 93 bytes 02:02:56.324830 Process 93 bytes request 02:02:56.324841 Got request: GET /verifiedserver HTTP/1.1 02:02:56.324851 Are-we-friendly question received 02:02:56.324874 Wrote request (93 bytes) input to log/10/server.input 02:02:56.324889 Identifying ourselves as friends 02:02:56.324960 Response sent (56 bytes) and written to log/10/server.response 02:02CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1052 ../src/curl -q --output log/6/curl1052.out --include --trace-ascii log/6/trace1052 --trace-config all --trace-time http://127.0.0.1:39457/want/1052 -0 -L -T log/6/test1052.txt > log/6/stdout1052 2> log/6/stderr1052 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1051 ../src/curl -q --output log/11/curl1051.out --include --trace-ascii log/11/trace1051 --trace-config all --trace-time http://127.0.0.1:44137/want/1051 -L -T log/11/test1051.txt > log/11/stdout1051 2> log/11/stderr1051 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1054 ../src/curl -q --output log/8/curl1054.out --include --trace-ascii log/8/trace1054 --trace-config all --trace-time http://127.0.0.1:43803/blah/1054 -L -d @log/8/test1054.txt --post301 > log/8/stdout1054 2> log/8/stderr1054 :56.324970 special request received, no persistency 02:02:56.324980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1053 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file test1053.txt foo- This is a moo- bar === End of file test1053.txt === Start of file valgrind1053 ==129505== ==129505== Process terminating with default action of signal 4 (SIGILL) ==129505== Illegal opcode at address 0x10B08D ==129505== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129505== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1053 test 1052...[HTTP 1.0 PUT with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1052 ../src/curl -q --output log/6/curl1052.out --include --trace-ascii log/6/trace1052 --trace-config all --trace-time http://127.0.0.1:39457/want/1052 -0 -L -T log/6/test1052.txt > log/6/stdout1052 2> log/6/stderr1052 1052: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1052 === Start of file http_server.log 02:02:56.335136 ====> Client connect 02:02:56.335184 accept_connection 3 returned 4 02:02:56.335205 accept_connection 3 returned 0 02:02:56.335220 Read 93 bytes 02:02:56.335231 Process 93 bytes request 02:02:56.335246 Got request: GET /verifiedserver HTTP/1.1 02:02:56.335256 Are-we-friendly question received 02:02:56.335277 Wrote request (93 bytes) input to log/6/server.input 02:02:56.335295 Identifying ourselves as friends 02:02:56.335369 Response sent (56 bytes) and written to log/6/server.response 02:02:56.335383 special request received, no persistency 02:02:56.335393 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1052 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file test1052.txt Weird file to upload for testing the PUT feature === End of file test1052.txt === Start of file valgrind1052 ==129537== ==129537== Process terminating with default action of signal 4 (SIGILL) ==129537== Illegal opcode at address 0x10B08D ==129537== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129537== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1052 test 1051...[HTTP PUT with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1051 ../src/curl -q --output log/11/curl1051.out --include --trace-ascii log/11/trace1051 --trace-config all --trace-time http://127.0.0.1:44137/want/1051 -L -T log/11/test1051.txt > log/11/stdout1051 2> log/11/stderr1051 1051: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1051 === Start of file http_server.log 02:02:56.323193 ====> Client connect 02:02:56.323225 accept_connection 3 returned 4 02:02:56.323243 accept_connection 3 returned 0 02:02:56.323258 Read 93 bytes 02:02:56.323269 Process 93 bytes request 02:02:56.323287 Got request: GET /verifiedserver HTTP/1.1 02:02:56.323297 Are-we-friendly question received 02:02:56.323322 Wrote request (93 bytes) input to log/11/server.input 02:02:56.323341 Identifying ourselves as friends 02:02:56.323412 Response sent (56 bytes) and written to log/11/server.response 02:02:56.323424 special request received, no persistency 02:02:56.323434 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1051 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file test1051.txt Weird file to upload for testing the PUT feature === End of file test1051.txt === Start of file valgrind1051 ==129504== ==129504== Process terminating with default action of signal 4 (SIGILL) ==129504== Illegal opcode at address 0x10B08D ==129504== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129504== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1051 test 1054...[HTTP POST from file with 301 redirect and --post301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1054 ../src/curl -q --output log/8/curl1054.out --include --trace-ascii log/8/trace1054 --trace-config all --trace-time http://127.0.0.1:43803/blah/1054 -L -d @log/8/test1054.txt --post301 > log/8/stdout1054 2> log/8/stderr1054 1054: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1054 === Start of file http_server.log 02:02:56.508300 ====> Client connect 02:02:56.508335 accept_connection 3 returned 4 02:02:56.508351 accept_connection 3 returned 0 02:02:56.508366 Read 93 bytes 02:02:56.508377 Process 93 bytes request 02:02:56.508392 Got request: GET /verifiedserver HTTP/1.1 02:02:56.508401 Are-we-friendly question received 02:02:56.508423 Wrote request (93 bytes) input to log/8/server.input 02:02:56.508440 Identifying ourselves as friends 02:02:56.508519 Response sent (56 bytes) and written to log/8/server.response 02:02:56.508530 special request received, no persistency 02:02:56.508539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1054 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1055 ../src/curl -q --output log/7/curl1055.out --include --trace-ascii log/7/trace1055 --trace-config all --trace-time http://127.0.0.1:43753/1055 -L -T log/7/test1055.txt > log/7/stdout1055 2> log/7/stderr1055 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1057 ../src/curl -q --output log/3/curl1057.out --include --trace-ascii log/3/trace1057 --trace-config all --trace-time -r -12 ftp://127.0.0.1:45983/1057 > log/3/stdout1057 2> log/3/stderr1057 = Start of file test1054.txt field=data === End of file test1054.txt === Start of file valgrind1054 ==129710== ==129710== Process terminating with default action of signal 4 (SIGILL) ==129710== Illegal opcode at address 0x10B08D ==129710== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129710== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1054 test 1055...[HTTP PUT Location: redirect to FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1055 ../src/curl -q --output log/7/curl1055.out --include --trace-ascii log/7/trace1055 --trace-config all --trace-time http://127.0.0.1:43753/1055 -L -T log/7/test1055.txt > log/7/stdout1055 2> log/7/stderr1055 1055: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1055 === Start of file ftp_server.log 02:02:56.340412 ====> Client connect 02:02:56.340531 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:56.340763 < "USER anonymous" 02:02:56.340801 > "331 We are happy you popped in![CR][LF]" 02:02:56.340969 < "PASS ftp@example.com" 02:02:56.340990 > "230 Welcome you silly person[CR][LF]" 02:02:56.341107 < "PWD" 02:02:56.341130 > "257 "/" is current directory[CR][LF]" 02:02:56.341285 < "EPSV" 02:02:56.341309 ====> Passive DATA channel requested by client 02:02:56.341320 DATA sockfilt for passive data channel starting... 02:02:56.342656 DATA sockfilt for passive data channel started (pid 129742) 02:02:56.342749 DATA sockfilt for passive data channel listens on port 38863 02:02:56.342785 > "229 Entering Passive Mode (|||38863|)[LF]" 02:02:56.342801 Client has been notified that DATA conn will be accepted on port 38863 02:02:56.343097 Client connects to port 38863 02:02:56.343125 ====> Client established passive DATA connection on port 38863 02:02:56.343180 < "TYPE I" 02:02:56.343204 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:56.343348 < "SIZE verifiedserver" 02:02:56.343385 > "213 17[CR][LF]" 02:02:56.343591 < "RETR verifiedserver" 02:02:56.343623 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:56.343691 =====> Closing passive DATA connection... 02:02:56.343706 Server disconnects passive DATA connection 02:02:56.343828 Server disconnected passive DATA connection 02:02:56.343847 DATA sockfilt for passive data channel quits (pid 129742) 02:02:56.343998 DATA sockfilt for passive data channel quit (pid 129742) 02:02:56.344015 =====> Closed passive DATA connection 02:02:56.344037 > "226 File transfer complete[CR][LF]" 02:02:56.385401 < "QUIT" 02:02:56.385453 > "221 bye bye baby[CR][LF]" 02:02:56.385551 MAIN sockfilt said DISC 02:02:56.385578 ====> Client disconnected 02:02:56.385642 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:56.540446 ====> Client connect 02:02:56.540675 Received DATA (on stdin) 02:02:56.540690 > 160 bytes data, server => client 02:02:56.540700 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:56.540708 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:56.540716 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:56.540780 < 16 bytes data, client => server 02:02:56.540793 'USER anonymous\r\n' 02:02:56.540944 Received DATA (on stdin) 02:02:56.540957 > 33 bytes data, server => client 02:02:56.540968 '331 We are happy you popped in!\r\n' 02:02:56.541021 < 22 bytes data, client => server 02:02:56.541033 'PASS ftp@example.com\r\n' 02:02:56.541124 Received DATA (on stdin) 02:02:56.541133 > 30 bytes data, server => client 02:02:56.541141 '230 Welcome you silly person\r\n' 02:02:56.541180 < 5 bytes data, client => server 02:02:56.541189 'PWD\r\n' 02:02:56.541264 Received DATA (on stdin) 02:02:56.541273 > 30 bytes data, server => client 02:02:56.541281 '257 "/" is current directory\r\n' 02:02:56.541332 < 6 bytes data, client => server 02:02:56.541345 'EPSV\r\n' 02:02:56.543012 Received DATA (on stdin) 02:02:56.543029 > 38 bytes data, server => client 02:02:56.543040 '229 Entering Passive Mode (|||38863|)\n' 02:02:56.543186 < 8 bytes data, client => server 02:02:56.543198 'TYPE I\r\n' 02:02:56.543343 Received DATA (on stdin) 02:02:56.543353 > 33 bytes data, server => client 02:02:56.543362 '200 I modify TYPE as you wanted\r\n' 02:02:56.543408 < 21 bytes data, client => server 02:02:56.543418 'SIZE verifiedserver\r\n' 02:02:56.543524 Received DATA (on stdin) 02:02:56.543537 > 8 bytes data, server => client 02:02:56.543547 '213 17\r\n' 02:02:56.543641 < 21 bytes data, client => server 02:02:56.543659 'RETR verifiedserver\r\n' 02:02:56.543811 Received DATA (on stdin) 02:02:56.543829 > 29 bytes data, server => client 02:02:56.543840 '150 Binary junk (17 bytes).\r\n' 02:02:56.544173 Received DATA (on stdin) 02:02:56.544184 > 28 bytes data, server => client 02:02:56.544196 '226 File transfer complete\r\n' 02:02:56.585368 < 6 bytes data, client => server 02:02:56.585399 'QUIT\r\n' 02:02:56.585570 Received DATA (on stdin) 02:02:56.585584 > 18 bytes data, server => client 02:02:56.585593 '221 bye bye baby\r\n' 02:02:56.585650 ====> Client disconnect 02:02:56.585727 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:56.542572 Running IPv4 version 02:02:56.542623 Listening on port 38863 02:02:56.542653 Wrote pid 129742 to log/7/server/ftp_sockdata.pid 02:02:56.542735 Received PING (on stdin) 02:02:56.542813 Received PORT (on stdin) 02:02:56.543159 ====> Client connect 02:02:56.543851 Received DATA (on stdin) 02:02:56.543863 > 17 bytes data, server => client 02:02:56.543872 'WE ROOLZ: 80479\r\n' 02:02:56.543901 Received DISC (on stdin) 02:02:56.543912 ====> Client forcibly disconnected 02:02:56.543988 Received QUIT (on stdin) 02:02:56.543997 quits 02:02:56.544035 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:02:56.516559 ====> Client connect 02:02:56.516595 accept_connection 3 returned 4 02:02:56.516611 accept_connection 3 returned 0 02:02:56.516627 Read 93 bytes 02:02:56.516638 Process 93 bytes request 02:02:56.516653 Got request: GET /verifiedserver HTTP/1.1 02:02:56.516662 Are-we-friendly question received 02:02:56.516688 Wrote request (93 bytes) input to log/7/server.input 02:02:56.516705 Identifying ourselves as friends 02:02:56.516770 Response sent (56 bytes) and written to log/7/server.response 02:02:56.516781 special request received, no persistency 02:02:56.516790 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1055 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file test1055.txt Weird file to upload for testing the PUT feature === End of file test1055.txt === Start of file valgrind1055 ==129774== ==129774== Process terminating with default action of signal 4 (SIGILL) ==129774== Illegal opcode at address 0x10B08D ==129774== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129774== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1055 test 1057...[FTP retrieve a byte-range relative to end of file] ../libtool --mode=execute /usr/bin/valgrind --toolCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1058 ../src/curl -q --output log/2/curl1058.out --include --trace-ascii log/2/trace1058 --trace-config all --trace-time http://127.0.0.1:38781/want/1058 -r -101 > log/2/stdout1058 2> log/2/stderr1058 =memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1057 ../src/curl -q --output log/3/curl1057.out --include --trace-ascii log/3/trace1057 --trace-config all --trace-time -r -12 ftp://127.0.0.1:45983/1057 > log/3/stdout1057 2> log/3/stderr1057 1057: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1057 === Start of file ftp_server.log 02:02:56.481827 ====> Client connect 02:02:56.481997 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:56.482333 < "USER anonymous" 02:02:56.482380 > "331 We are happy you popped in![CR][LF]" 02:02:56.482596 < "PASS ftp@example.com" 02:02:56.482627 > "230 Welcome you silly person[CR][LF]" 02:02:56.482811 < "PWD" 02:02:56.482848 > "257 "/" is current directory[CR][LF]" 02:02:56.483044 < "EPSV" 02:02:56.483074 ====> Passive DATA channel requested by client 02:02:56.483089 DATA sockfilt for passive data channel starting... 02:02:56.485996 DATA sockfilt for passive data channel started (pid 129838) 02:02:56.486103 DATA sockfilt for passive data channel listens on port 33613 02:02:56.486143 > "229 Entering Passive Mode (|||33613|)[LF]" 02:02:56.486162 Client has been notified that DATA conn will be accepted on port 33613 02:02:56.486437 Client connects to port 33613 02:02:56.486469 ====> Client established passive DATA connection on port 33613 02:02:56.486538 < "TYPE I" 02:02:56.486567 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:56.486739 < "SIZE verifiedserver" 02:02:56.486776 > "213 17[CR][LF]" 02:02:56.486934 < "RETR verifiedserver" 02:02:56.486968 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:56.487041 =====> Closing passive DATA connection... 02:02:56.487057 Server disconnects passive DATA connection 02:02:56.487250 Server disconnected passive DATA connection 02:02:56.487276 DATA sockfilt for passive data channel quits (pid 129838) 02:02:56.487532 DATA sockfilt for passive data channel quit (pid 129838) 02:02:56.487557 =====> Closed passive DATA connection 02:02:56.487587 > "226 File transfer complete[CR][LF]" 02:02:56.535373 < "QUIT" 02:02:56.535426 > "221 bye bye baby[CR][LF]" 02:02:56.537222 MAIN sockfilt said DISC 02:02:56.537267 ====> Client disconnected 02:02:56.537333 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:56.681841 ====> Client connect 02:02:56.682154 Received DATA (on stdin) 02:02:56.682172 > 160 bytes data, server => client 02:02:56.682186 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:56.682198 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:56.682210 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:56.682310 < 16 bytes data, client => server 02:02:56.682330 'USER anonymous\r\n' 02:02:56.682528 Received DATA (on stdin) 02:02:56.682545 > 33 bytes data, server => client 02:02:56.682557 '331 We are happy you popped in!\r\n' 02:02:56.682619 < 22 bytes data, client => server 02:02:56.682636 'PASS ftp@example.com\r\n' 02:02:56.682769 Received DATA (on stdin) 02:02:56.682783 > 30 bytes data, server => client 02:02:56.682796 '230 Welcome you silly person\r\n' 02:02:56.682854 < 5 bytes data, client => server 02:02:56.682870 'PWD\r\n' 02:02:56.682992 Received DATA (on stdin) 02:02:56.683006 > 30 bytes data, server => client 02:02:56.683018 '257 "/" is current directory\r\n' 02:02:56.683087 < 6 bytes data, client => server 02:02:56.683104 'EPSV\r\n' 02:02:56.686310 Received DATA (on stdin) 02:02:56.686326 > 38 bytes data, server => client 02:02:56.686338 '229 Entering Passive Mode (|||33613|)\n' 02:02:56.686493 < 8 bytes data, client => server 02:02:56.686512 'TYPE I\r\n' 02:02:56.686710 Received DATA (on stdin) 02:02:56.686724 > 33 bytes data, server => client 02:02:56.686736 '200 I modify TYPE as you wanted\r\n' 02:02:56.686792 < 21 bytes data, client => server 02:02:56.686806 'SIZE verifiedserver\r\n' 02:02:56.686918 Received DATA (on stdin) 02:02:56.686931 > 8 bytes data, server => client 02:02:56.686941 '213 17\r\n' 02:02:56.686993 < 21 bytes data, client => server 02:02:56.687006 'RETR verifiedserver\r\n' 02:02:56.687197 Received DATA (on stdin) 02:02:56.687209 > 29 bytes data, server => client 02:02:56.687220 '150 Binary junk (17 bytes).\r\n' 02:02:56.687716 Received DATA (on stdin) 02:02:56.687734 > 28 bytes data, server => client 02:02:56.687746 '226 File transfer complete\r\n' 02:02:56.735339 < 6 bytes data, client => server 02:02:56.735370 'QUIT\r\n' 02:02:56.735571 Received DATA (on stdin) 02:02:56.735585 > 18 bytes data, server => client 02:02:56.735748 '221 bye bye baby\r\n' 02:02:56.737302 ====> Client disconnect 02:02:56.738550 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:56.685959 Running IPv4 version 02:02:56.686017 Listening on port 33613 02:02:56.686057 Wrote pid 129838 to log/3/server/ftp_sockdata.pid 02:02:56.686077 Received PING (on stdin) 02:02:56.686161 Received PORT (on stdin) 02:02:56.686531 ====> Client connect 02:02:56.687270 Received DATA (on stdin) 02:02:56.687285 > 17 bytes data, server => client 02:02:56.687296 'WE ROOLZ: 80465\r\n' 02:02:56.687326 Received DISC (on stdin) 02:02:56.687338 ====> Client forcibly disconnected 02:02:56.687476 Received QUIT (on stdin) 02:02:56.687492 quits 02:02:56.687550 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1057 === End of file server.cmd === Start of file valgrind1057 ==129862== ==129862== Process terminating with default action of signal 4 (SIGILL) ==129862== Illegal opcode at address 0x10B08D ==129862== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129862== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1057 test 1058...[HTTP range relative to end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1058 ../src/curl -q --output log/2/curl1058.out --include --trace-ascii log/2/trace1058 --trace-config all --trace-time http://127.0.0.1:38781/want/1058 -r -101 > log/2/stdout1058 2> log/2/stderr1058 1058: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1058 === Start of file http_server.log 02:02:56.767703 ====> Client connect 02:02:56.767738 accept_connection 3 returned 4 02:02:56.767756 accept_connection 3 returned 0 02:02:56.767769 Read 93 bytes 02:02:56.767781 Process 93 bytes request 02:02:56.767793 Got request: GET /verifiedserver HTTP/1.1 02:02:56.767803 Are-we-friendly question received 02:02:56.767830 Wrote request (93 bytes) input to log/2/server.input 02:02:56.767849 Identifying ourselves as friends 02:02:56.767928 Response sent (56 bytes) and written to log/2/server.response 02:02:56.767941 special request received, no persistency 02:02:56.767952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1058 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1058 ==129899== ==129899== Process terminating CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1046 ../src/curl -q --output log/1/curl1046.out --include --trace-ascii log/1/trace1046 --trace-config all --trace-time -g "http://[::1]:34481/1046" --interface ::1 > log/1/stdout1046 2> log/1/stderr1046 CMD (0): ../src/curl --max-time 13 --output log/12/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:33507/verifiedserver" 2>log/12/http_ipv6_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1059 ../src/curl -q --output log/10/curl1059.out --include --trace-ascii log/10/trace1059 --trace-config all --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:42929 > log/10/stdout1059 2> log/10/stderr1059 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1048 ../src/curl -q --output log/9/curl1048.out --include --trace-ascii log/9/trace1048 --trace-config all --trace-time -g "ftp://[::1]:32861/" --interface ::1 > log/9/stdout1048 2> log/9/stderr1048 with default action of signal 4 (SIGILL) ==129899== Illegal opcode at address 0x10B08D ==129899== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129899== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1058 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/1/server/http_ipv6_server.pid" --logfile "log/1/http_ipv6_server.log" --logdir "log/1" --portfile log/1/server/http_ipv6_server.port --config log/1/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/1/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:34481/verifiedserver" 2>log/1/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 129253 port 34481 * pid http-ipv6 => 129253 129253 test 1046...[HTTP-IPv6 GET with numeric localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1046 ../src/curl -q --output log/1/curl1046.out --include --trace-ascii log/1/trace1046 --trace-config all --trace-time -g "http://[::1]:34481/1046" --interface ::1 > log/1/stdout1046 2> log/1/stderr1046 1046: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1046 === Start of file http_ipv6_server.log 02:02:55.763176 Running HTTP IPv6 version on port 34481 02:02:55.763256 Wrote pid 129253 to log/1/server/http_ipv6_server.pid 02:02:55.763289 Wrote port 34481 to log/1/server/http_ipv6_server.port 02:02:56.767294 ====> Client connect 02:02:56.767316 accept_connection 3 returned 4 02:02:56.767333 accept_connection 3 returned 0 02:02:56.767347 Read 89 bytes 02:02:56.767357 Process 89 bytes request 02:02:56.767381 Got request: GET /verifiedserver HTTP/1.1 02:02:56.767392 Are-we-friendly question received 02:02:56.767418 Wrote request (89 bytes) input to log/1/server.input 02:02:56.767441 Identifying ourselves as friends 02:02:56.767504 Response sent (57 bytes) and written to log/1/server.response 02:02:56.767517 special request received, no persistency 02:02:56.767527 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:34481... * Connected to ::1 (::1) port 34481 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:34481 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 129253 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1046 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 129253 === End of file server.response === Start of file valgrind1046 ==129892== ==129892== Process terminating with default action of signal 4 (SIGILL) ==129892== Illegal opcode at address 0x10B08D ==129892== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==129892== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1046 test 1059...[HTTP CONNECT with proxytunnel to unsupported FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1059 ../src/curl -q --output log/10/curl1059.out --include --trace-ascii log/10/trace1059 --trace-config all --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:42929 > log/10/stdout1059 2> log/10/stderr1059 1059: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1059 === Start of file http_server.log 02:02:57.040425 ====> Client connect 02:02:57.040462 accept_connection 3 returned 4 02:02:57.040481 accept_connection 3 returned 0 02:02:57.040497 Read 93 bytes 02:02:57.040509 Process 93 bytes request 02:02:57.040525 Got request: GET /verifiedserver HTTP/1.1 02:02:57.040536 Are-we-friendly question received 02:02:57.040566 Wrote request (93 bytes) input to log/10/server.input 02:02:57.040587 Identifying ourselves as friends 02:02:57.040663 Response sent (56 bytes) and written to log/10/server.response 02:02:57.040676 special request received, no persistency 02:02:57.040687 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1059 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1059 ==130082== ==130082== Process terminating with default action of signal 4 (SIGILL) ==130082== Illegal opcode at address 0x10B08D ==130082== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130082== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1059 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/ftp_ipv6_server.pid" --logfile "log/9/ftp_ipv6_server.log" --logdir "log/9" --portfile "log/9/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 32861 (log/9/server/ftp_ipv6_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://[::1]:32861/verifiedserver" 2>log/9/ftp_ipv6_verify.log RUN: Verifying our test ftp-ipv6 server took 0 seconds RUN: FTP-IPv6 server is PID 129395 port 32861 * pid ftp-ipv6 => 129395 129395 test 1048...[FTP-IPv6 dir list PASV with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1048 ../src/curl -q --output log/9/curl1048.out --include --trace-ascii log/9/trace1048 --trace-config all --trace-time -g "ftp://[::1]:32861/" --interface ::1 > log/9/stdout1048 2> log/9/stderr1048 1048: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1048 === Start of file ftp_ipv6_server.log 02:02:55.876748 FTP server listens on port IPv6/32861 02:02:55.876832 logged pid 129395 in log/9/server/ftp_ipv6_server.pid 02:02:55.876857 Awaiting input 02:02:56.877877 ====> Client connect 02:02:56.878020 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:56.878291 < "USER anonymous" 02:02:56.878332 > "331 We are happy you popped in![CR][LF]" 02:02:56.878539 < "PASS ftp@example.com" 02:02:56.878564 > "230 Welcome you silly person[CR][LF]" 02:02:56.879024 < "PWD" 02:02:56.879057 > "257 "/" is current directory[CR][LF]" 02:02:56.879213 < "EPSV" 02:02:56.879239 ====> Passive DATA channel requested by client 02:02:56.879251 DATA sockfilt for passive data channel starting... 02:02:56.880861 DATA sockfilt for passive data channel started (pid 130083) 02:02:56.880961 DATA sockfilt for passive data channel listens on port 36075 02:02:56.881000 > "229 Entering Passive Mode (|||36075|)[LF]" 02:02:56.881017 Client has been notified that DATA conn will be accepted on port 36075 02:02:56.881226 Client connects to pCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1061 ../src/curl -q --output log/11/curl1061.out --include --trace-ascii log/11/trace1061 --trace-config all --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:44137 --proxy-user silly:person --proxy-digest --proxytunnel > log/11/stdout1061 2> log/11/stderr1061 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1049 ../src/curl -q --output log/4/curl1049.out --include --trace-ascii log/4/trace1049 --trace-config all --trace-time tftp://127.0.0.1:37300//1049 --interface 127.0.0.1 > log/4/stdout1049 2> log/4/stderr1049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1062 ../src/curl -q --output log/8/curl1062.out --include --trace-ascii log/8/trace1062 --trace-config all --trace-time ftp://127.0.0.1:39101/path/1062 > log/8/stdout1062 2> log/8/stderr1062 ort 36075 02:02:56.881253 ====> Client established passive DATA connection on port 36075 02:02:56.881318 < "TYPE I" 02:02:56.881348 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:56.881492 < "SIZE verifiedserver" 02:02:56.881527 > "213 18[CR][LF]" 02:02:56.881667 < "RETR verifiedserver" 02:02:56.881706 > "150 Binary junk (18 bytes).[CR][LF]" 02:02:56.881783 =====> Closing passive DATA connection... 02:02:56.881798 Server disconnects passive DATA connection 02:02:56.882256 Server disconnected passive DATA connection 02:02:56.882397 DATA sockfilt for passive data channel quits (pid 130083) 02:02:56.882596 DATA sockfilt for passive data channel quit (pid 130083) 02:02:56.882619 =====> Closed passive DATA connection 02:02:56.882645 > "226 File transfer complete[CR][LF]" 02:02:56.928737 < "QUIT" 02:02:56.928789 > "221 bye bye baby[CR][LF]" 02:02:56.929671 MAIN sockfilt said DISC 02:02:56.929700 ====> Client disconnected 02:02:56.929768 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 02:02:55.076437 Running IPv6 version 02:02:55.076531 Listening on port 32861 02:02:55.076575 Wrote pid 129406 to log/9/server/ftp_ipv6_sockctrl.pid 02:02:55.076609 Wrote port 32861 to log/9/server/ftp_ipv6_server.port 02:02:55.076793 Received PING (on stdin) 02:02:56.077947 ====> Client connect 02:02:56.078170 Received DATA (on stdin) 02:02:56.078183 > 160 bytes data, server => client 02:02:56.078196 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:56.078208 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:56.078218 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:56.078282 < 16 bytes data, client => server 02:02:56.078294 'USER anonymous\r\n' 02:02:56.078474 Received DATA (on stdin) 02:02:56.078495 > 33 bytes data, server => client 02:02:56.078507 '331 We are happy you popped in!\r\n' 02:02:56.078556 < 22 bytes data, client => server 02:02:56.078568 'PASS ftp@example.com\r\n' 02:02:56.078749 Received DATA (on stdin) 02:02:56.078763 > 30 bytes data, server => client 02:02:56.078775 '230 Welcome you silly person\r\n' 02:02:56.078820 < 5 bytes data, client => server 02:02:56.078831 'PWD\r\n' 02:02:56.079195 Received DATA (on stdin) 02:02:56.079207 > 30 bytes data, server => client 02:02:56.079219 '257 "/" is current directory\r\n' 02:02:56.079275 < 6 bytes data, client => server 02:02:56.079287 'EPSV\r\n' 02:02:56.081163 Received DATA (on stdin) 02:02:56.081176 > 38 bytes data, server => client 02:02:56.081189 '229 Entering Passive Mode (|||36075|)\n' 02:02:56.081290 < 8 bytes data, client => server 02:02:56.081305 'TYPE I\r\n' 02:02:56.081486 Received DATA (on stdin) 02:02:56.081497 > 33 bytes data, server => client 02:02:56.081508 '200 I modify TYPE as you wanted\r\n' 02:02:56.081555 < 21 bytes data, client => server 02:02:56.081567 'SIZE verifiedserver\r\n' 02:02:56.081665 Received DATA (on stdin) 02:02:56.081676 > 8 bytes data, server => client 02:02:56.081687 '213 18\r\n' 02:02:56.081730 < 21 bytes data, client => server 02:02:56.081741 'RETR verifiedserver\r\n' 02:02:56.081937 Received DATA (on stdin) 02:02:56.081950 > 29 bytes data, server => client 02:02:56.081961 '150 Binary junk (18 bytes).\r\n' 02:02:56.082787 Received DATA (on stdin) 02:02:56.082800 > 28 bytes data, server => client 02:02:56.082812 '226 File transfer complete\r\n' 02:02:56.128593 < 6 bytes data, client => server 02:02:56.128623 'QUIT\r\n' 02:02:56.128932 Received DATA (on stdin) 02:02:56.128947 > 18 bytes data, server => client 02:02:56.128958 '221 bye bye baby\r\n' 02:02:56.129759 ====> Client disconnect 02:02:56.129910 Received ACKD (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file ftp_ipv6_sockdata.log 02:02:56.080732 Running IPv6 version 02:02:56.080787 Listening on port 36075 02:02:56.080826 Wrote pid 130083 to log/9/server/ftp_ipv6_sockdata.pid 02:02:56.080949 Received PING (on stdin) 02:02:56.081022 Received PORT (on stdin) 02:02:56.081323 ====> Client connect 02:02:56.081986 Received DATA (on stdin) 02:02:56.081999 > 18 bytes data, server => client 02:02:56.082011 'WE ROOLZ: 129395\r\n' 02:02:56.082033 Received DISC (on stdin) 02:02:56.082046 ====> Client forcibly disconnected 02:02:56.082554 Received QUIT (on stdin) 02:02:56.082568 quits 02:02:56.082617 ============> sockfilt quits === End of file ftp_ipv6_sockdata.log === Start of file server.cmd Testnum 1048 === End of file server.cmd === Start of file valgrind1048 ==130110== ==130110== Process terminating with default action of signal 4 (SIGILL) ==130110== Illegal opcode at address 0x10B08D ==130110== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130110== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1048 test 1061...[HTTP proxy CONNECT auth Digest, large headers and chunked data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1061 ../src/curl -q --output log/11/curl1061.out --include --trace-ascii log/11/trace1061 --trace-config all --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:44137 --proxy-user silly:person --proxy-digest --proxytunnel > log/11/stdout1061 2> log/11/stderr1061 1061: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1061 === Start of file http_server.log 02:02:57.071476 ====> Client connect 02:02:57.071510 accept_connection 3 returned 4 02:02:57.071527 accept_connection 3 returned 0 02:02:57.071542 Read 93 bytes 02:02:57.071553 Process 93 bytes request 02:02:57.071568 Got request: GET /verifiedserver HTTP/1.1 02:02:57.071578 Are-we-friendly question received 02:02:57.071602 Wrote request (93 bytes) input to log/11/server.input 02:02:57.071620 Identifying ourselves as friends 02:02:57.071685 Response sent (56 bytes) and written to log/11/server.response 02:02:57.071696 special request received, no persistency 02:02:57.071706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1061 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1061 ==130154== ==130154== Process terminating with default action of signal 4 (SIGILL) ==130154== Illegal opcode at address 0x10B08D ==130154== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130154== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1061 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/4/server/tftp_server.pid" --portfile "log/4/server/tftp_server.port" --logfile "log/4/tftp_server.log" --logdir "log/4" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --silent --verbose --globoff "tftp://127.0.0.1:37300/verifiedserver" 2>log/4/tftp_verify.log RUN: Verifying our test tftp server took 0 seconds RUN: TFTP server on PID 129453 port 37300 * pid tftp => 129453 129453 test 1049...[TFTP retrieve with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1049 ../src/curl -q --output log/4/curl1049.out --include --trace-ascii log/4/trace1049 --trace-config all --trace-time tftp://127.0.0.1:37300//1049 --interface 127.0.0.1 > log/4/stdout1049 2> log/4/stderr1049 1049: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1049 === Start of file server.cmd Testnum 1049 === End of file server.cmd === Start of file tftp_server.log 02:02:56.234023 Wrote pid 129453 to log/4/server/tftp_server.pid 02:02:56.234076 Wrote port 37300 to log/4/server/tftp_server.port 02:02:56.234089 Running IPv4 version on port UDP/37300 02:02:57.252370 trying to get file: verifiedserver mode 1 02:02:57.252387 Are-we-friendly question received 02:02:57.252399 write 02:02:57.252431 read 02:02:57.253217 read: 4 02:02:57.253286 end of one transfer === End of file tftp_server.log === Start of file valgrind1049 ==130275== ==130275== Process terminating with default action of signal 4 (SIGILL) ==130275== Illegal opcode at address 0x10B08D ==130275== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130275== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1049 test 1062...[FTP with excessively long server command response lines, boundary condition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1062 ../src/curl -q --output log/8/curl1062.out --include --trace-ascii log/8/trace1062 --trace-config all --trace-time ftp://127.0.0.1:39101/path/1062 > log/8/stdout1062 2> log/8/stderr1062 1062: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1062 === Start of file ftp_server.log 02:02:57.010174 ====> Client connect 02:02:57.010349 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:57.010682 < "USER anonymous" 02:02:57.010727 > "331 We are happy you popped in![CR][LF]" 02:02:57.010915 < "PASS ftp@example.com" 02:02:57.010948 > "230 Welcome you silly person[CR][LF]" 02:02:57.011113 < "PWD" 02:02:57.011146 > "257 "/" is current directory[CR][LF]" 02:02:57.011324 < "EPSV" 02:02:57.011351 ====> Passive DATA channel requested by client 02:02:57.011365 DATA sockfilt for passive data channel starting... 02:02:57.013814 DATA sockfilt for passive data channel started (pid 130194) 02:02:57.013917 DATA sockfilt for passive data channel listens on port 40955 02:02:57.013954 > "229 Entering Passive Mode (|||40955|)[LF]" 02:02:57.013970 Client has been notified that DATA conn will be accepted on port 40955 02:02:57.014233 Client connects to port 40955 02:02:57.014261 ====> Client established passive DATA connection on port 40955 02:02:57.014324 < "TYPE I" 02:02:57.014352 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:57.014512 < "SIZE verifiedserver" 02:02:57.014548 > "213 17[CR][LF]" 02:02:57.014719 < "RETR verifiedserver" 02:02:57.014754 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:57.014830 =====> Closing passive DATA connection... 02:02:57.014848 Server disconnects passive DATA connection 02:02:57.015115 Server disconnected passive DATA connection 02:02:57.015229 DATA sockfilt for passive data channel quits (pid 130194) 02:02:57.015438 DATA sockfilt for passive data channel quit (pid 130194) 02:02:57.015465 =====> Closed passive DATA connection 02:02:57.015497 > "226 File transfer complete[CR][LF]" 02:02:57.058639 < "QUIT" 02:02:57.058691 > "221 bye bye baby[CR][LF]" 02:02:57.059933 MAIN sockfilt said DISC 02:02:57.059974 ====> Client disconnected 02:02:57.060034 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:57.210204 ====> Client connect 02:02:57.210510 Received DATA (on stdin) 02:02:57.210529 > 160 bytes data, server => client 02:02:57.210543 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:57.210556 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:57.210567 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:57.210658 < 16 bytes data, client => server 02:02:57.210676 'USER anonymous\r\n' 02:02:57.210870 Received DATA (on stdin) 02:02:57.210883 > 33 bytes data, server => client 02:02:57.210894 '331 We are happy you popped in!\r\n' 02:02:57.210952 < 22 bytes data, client => server 02:02:57.210968 'PASS ftp@example.com\r\n' 02:02:57.211088 Received DATA (on stdin) 02:02:57.211101 > 30 bytes data, server => client 02:02:57.211111 '230 Welcome you silly person\r\n' 02:02:57.211164 < 5 bytes data, client => server 02:02:57.211178 'PWD\r\n' 02:02:57.211286 Received DATA (on stdin) 02:02:57.211298 > 30 bytes data, server => client 02:02:57.211309 '257 "/" is current directory\r\n' 02:02:57.211374 < 6 bytes data, client => server 02:02:57.211389 'EPSV\r\n' 02:02:57.214115 Received DATA (on stdin) 02:02:57.214128 > 38 bytes data, server => client 02:02:57.214140 '229 Entering Passive Mode (|||40955|)\n' 02:02:57.214292 < 8 bytes data, client => server 02:02:57.214308 'TYPE I\r\n' 02:02:57.214492 Received DATA (on stdin) 02:02:57.214504 > 33 bytes data, server => client 02:02:57.214516 '200 I modify TYPE as you wanted\r\n' 02:02:57.214568 < 21 bytes data, client => server 02:02:57.214581 'SIZE verifiedserver\r\n' 02:02:57.214688 Received DATA (on stdin) 02:02:57.214702 > 8 bytes data, server => client 02:02:57.214717 '213 17\r\n' 02:02:57.214773 < 21 bytes data, client => server 02:02:57.214786 'RETR verifiedserver\r\n' 02:02:57.214990 Received DATA (on stdin) 02:02:57.215005 > 29 bytes data, server => client 02:02:57.215017 '150 Binary junk (17 bytes).\r\n' 02:02:57.215640 Received DATA (on stdin) 02:02:57.215654 > 28 bytes data, server => client 02:02:57.215665 '226 File transfer complete\r\n' 02:02:57.258607 < 6 bytes data, client => server 02:02:57.258636 'QUIT\r\n' 02:02:57.258835 Received DATA (on stdin) 02:02:57.258847 > 18 bytes data, server => client 02:02:57.258858 '221 bye bye baby\r\n' 02:02:57.259642 ====> Client disconnect 02:02:57.260174 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:57.213648 Running IPv4 version 02:02:57.213708 Listening on port 40955 02:02:57.213746 Wrote pid 130194 to log/8/server/ftp_sockdata.pid 02:02:57.213891 Received PING (on stdin) 02:02:57.213977 Received PORT (on stdin) 02:02:57.214328 ====> Client connect 02:02:57.215071 Received DATA (on stdin) 02:02:57.215086 > 17 bytes data, server => client 02:02:57.215099 'WE ROOLZ: 80441\r\n' 02:02:57.215131 Received DISC (on stdin) 02:02:57.215151 ====> Client forcibly disconnected 02:02:57.215387 Received QUIT (on stdin) 02:02:57.215400 quits 02:02:57.215456 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1060 ../src/curl -q --output log/6/curl1060.out --include --trace-ascii log/6/trace1060 --trace-config all --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:39457 --proxy-user silly:person --proxy-digest --proxytunnel > log/6/stdout1060 2> log/6/stderr1060 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-A Exactly fill curl's buffer\r\n250 Finally, here is the response, boundary condition Testnum 1062 === End of file server.cmd === Start of file valgrind1062 ==130350== ==130350== Process terminating with default action of signal 4 (SIGILL) ==130350== Illegal opcode at address 0x10B08D ==130350== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130350== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1062 test 1060...[HTTP proxy CONNECT auth Digest, large headers and data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1060 ../src/curl -q --output log/6/curl1060.out --include --traCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1050 ../src/curl -q --output log/5/curl1050.out --include --trace-ascii log/5/trace1050 --trace-config all --trace-time -g "ftp://[::1]:36625/" -P ::1 > log/5/stdout1050 2> log/5/stderr1050 ce-ascii log/6/trace1060 --trace-config all --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:39457 --proxy-user silly:person --proxy-digest --proxytunnel > log/6/stdout1060 2> log/6/stderr1060 1060: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1060 === Start of file http_server.log 02:02:57.077662 ====> Client connect 02:02:57.077693 accept_connection 3 returned 4 02:02:57.077710 accept_connection 3 returned 0 02:02:57.077725 Read 93 bytes 02:02:57.077736 Process 93 bytes request 02:02:57.077751 Got request: GET /verifiedserver HTTP/1.1 02:02:57.077761 Are-we-friendly question received 02:02:57.077782 Wrote request (93 bytes) input to log/6/server.input 02:02:57.077800 Identifying ourselves as friends 02:02:57.077871 Response sent (56 bytes) and written to log/6/server.response 02:02:57.077885 special request received, no persistency 02:02:57.077895 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1060 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1060 ==130173== ==130173== Process terminating with default action of signal 4 (SIGILL) ==130173== Illegal opcode at address 0x10B08D ==130173== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130173== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1060 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/ftp_ipv6_server.pid" --logfile "log/5/ftp_ipv6_server.log" --logdir "log/5" --portfile "log/5/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 36625 (log/5/server/ftp_ipv6_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://[::1]:36625/verifiedserver" 2>log/5/ftp_ipv6_verify.log RUN: Verifying our test ftp-ipv6 server took 0 seconds RUN: FTP-IPv6 server is PID 129454 port 36625 * pid ftp-ipv6 => 129454 129454 test 1050...[FTP-IPv6 dir list, EPRT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1050 ../src/curl -q --output log/5/curl1050.out --include --trace-ascii log/5/trace1050 --trace-config all --trace-time -g "ftp://[::1]:36625/" -P ::1 > log/5/stdout1050 2> log/5/stderr1050 1050: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1050 === Start of file ftp_ipv6_server.log 02:02:56.089350 FTP server listens on port IPv6/36625 02:02:56.089428 logged pid 129454 in log/5/server/ftp_ipv6_server.pid 02:02:56.089453 Awaiting input 02:02:57.092990 ====> Client connect 02:02:57.093144 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:57.093450 < "USER anonymous" 02:02:57.093493 > "331 We are happy you popped in![CR][LF]" 02:02:57.093656 < "PASS ftp@example.com" 02:02:57.093681 > "230 Welcome you silly person[CR][LF]" 02:02:57.093842 < "PWD" 02:02:57.093872 > "257 "/" is current directory[CR][LF]" 02:02:57.094041 < "EPSV" 02:02:57.094067 ====> Passive DATA channel requested by client 02:02:57.094079 DATA sockfilt for passive data channel starting... 02:02:57.095710 DATA sockfilt for passive data channel started (pid 130335) 02:02:57.095836 DATA sockfilt for passive data channel listens on port 42163 02:02:57.095885 > "229 Entering Passive Mode (|||42163|)[LF]" 02:02:57.095905 Client has been notified that DATA conn will be accepted on port 42163 02:02:57.096149 Client connects to port 42163 02:02:57.096177 ====> Client established passive DATA connection on port 42163 02:02:57.096240 < "TYPE I" 02:02:57.096267 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:57.096425 < "SIZE verifiedserver" 02:02:57.096463 > "213 18[CR][LF]" 02:02:57.096622 < "RETR verifiedserver" 02:02:57.096653 > "150 Binary junk (18 bytes).[CR][LF]" 02:02:57.096727 =====> Closing passive DATA connection... 02:02:57.096747 Server disconnects passive DATA connection 02:02:57.096969 Server disconnected passive DATA connection 02:02:57.097002 DATA sockfilt for passive data channel quits (pid 130335) 02:02:57.097206 DATA sockfilt for passive data channel quit (pid 130335) 02:02:57.097234 =====> Closed passive DATA connection 02:02:57.097262 > "226 File transfer complete[CR][LF]" 02:02:57.138805 < "QUIT" 02:02:57.138860 > "221 bye bye baby[CR][LF]" 02:02:57.139657 MAIN sockfilt said DISC 02:02:57.139686 ====> Client disconnected 02:02:57.139757 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 02:02:56.289125 Running IPv6 version 02:02:56.289196 Listening on port 36625 02:02:56.289235 Wrote pid 129466 to log/5/server/ftp_ipv6_sockctrl.pid 02:02:56.289268 Wrote port 36625 to log/5/server/ftp_ipv6_server.port 02:02:56.289402 Received PING (on stdin) 02:02:57.293055 ====> Client connect 02:02:57.293296 Received DATA (on stdin) 02:02:57.293311 > 160 bytes data, server => client 02:02:57.293324 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:57.293336 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:57.293348 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:57.293425 < 16 bytes data, client => server 02:02:57.293442 'USER anonymous\r\n' 02:02:57.293636 Received DATA (on stdin) 02:02:57.293650 > 33 bytes data, server => client 02:02:57.293661 '331 We are happy you popped in!\r\n' 02:02:57.293710 < 22 bytes data, client => server 02:02:57.293722 'PASS ftp@example.com\r\n' 02:02:57.293821 Received DATA (on stdin) 02:02:57.293834 > 30 bytes data, server => client 02:02:57.293845 '230 Welcome you silly person\r\n' 02:02:57.293897 < 5 bytes data, client => server 02:02:57.293910 'PWD\r\n' 02:02:57.294012 Received DATA (on stdin) 02:02:57.294025 > 30 bytes data, server => client 02:02:57.294036 '257 "/" is current directory\r\n' 02:02:57.294093 < 6 bytes data, client => server 02:02:57.294106 'EPSV\r\n' 02:02:57.296054 Received DATA (on stdin) 02:02:57.296076 > 38 bytes data, server => client 02:02:57.296090 '229 Entering Passive Mode (|||42163|)\n' 02:02:57.296210 < 8 bytes data, client => server 02:02:57.296225 'TYPE I\r\n' 02:02:57.296409 Received DATA (on stdin) 02:02:57.296422 > 33 bytes data, server => client 02:02:57.296433 '200 I modify TYPE as you wanted\r\n' 02:02:57.296482 < 21 bytes data, client => server 02:02:57.296494 'SIZE verifiedserver\r\n' 02:02:57.296604 Received DATA (on stdin) 02:02:57.296617 > 8 bytes data, server => client 02:02:57.296628 '213 18\r\n' 02:02:57.296676 < 21 bytes data, client => server 02:02:57.296688 'RETR verifiedserver\r\n' 02:02:57.296888 Received DATA (on stdin) 02:02:57.296900 > 29 bytes data, server => client 02:02:57.296911 '150 Binary junk (18 bytes).\r\n' 02:02:57.297405 Received DATA (on stdin) 02:02:57.297420 > 28 bytes data, server => client 02:02:57.297432 '226 File transfer complete\r\n' 02:02:57.338760 < 6 bytes data, client => server 02:02:57.338790 'QUIT\r\n' 02:02:57.339035 Received DATA (on stdin) 02:02:57.339049 > 18 bytes data, server => cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1063 ../src/curl -q --output log/7/curl1063.out --include --trace-ascii log/7/trace1063 --trace-config all --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/7/test1063.txt > log/7/stdout1063 2> log/7/stderr1063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1064 ../src/curl -q --include --trace-ascii log/3/trace1064 --trace-config all --trace-time -H "Expect:" -T log/3/1064 http://127.0.0.1:34527/1064.upload1 -T log/3/1064 http://127.0.0.1:34527/10640002.upload2 > log/3/stdout1064 2> log/3/stderr1064 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1065 ../src/curl -q --include --trace-ascii log/2/trace1065 --trace-config all --trace-time -H "Expect:" -T log/2/1065 http://127.0.0.1:38781/1065.upload1 http://127.0.0.1:38781/10650002.url2 > log/2/stdout1065 2> log/2/stderr1065 lient 02:02:57.339060 '221 bye bye baby\r\n' 02:02:57.339743 ====> Client disconnect 02:02:57.339900 Received ACKD (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file ftp_ipv6_sockdata.log 02:02:57.295421 Running IPv6 version 02:02:57.295617 Listening on port 42163 02:02:57.295662 Wrote pid 130335 to log/5/server/ftp_ipv6_sockdata.pid 02:02:57.295794 Received PING (on stdin) 02:02:57.295893 Received PORT (on stdin) 02:02:57.296245 ====> Client connect 02:02:57.296937 Received DATA (on stdin) 02:02:57.296953 > 18 bytes data, server => client 02:02:57.296965 'WE ROOLZ: 129454\r\n' 02:02:57.296987 Received DISC (on stdin) 02:02:57.297000 ====> Client forcibly disconnected 02:02:57.297151 Received QUIT (on stdin) 02:02:57.297165 quits 02:02:57.297220 ============> sockfilt quits === End of file ftp_ipv6_sockdata.log === Start of file server.cmd Testnum 1050 === End of file server.cmd === Start of file valgrind1050 ==130391== ==130391== Process terminating with default action of signal 4 (SIGILL) ==130391== Illegal opcode at address 0x10B08D ==130391== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130391== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1050 * starts no server test 1063...[Invalid large X- range on a file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1063 ../src/curl -q --output log/7/curl1063.out --include --trace-ascii log/7/trace1063 --trace-config all --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/7/test1063.txt > log/7/stdout1063 2> log/7/stderr1063 curl returned 132, when expecting 36 1063: exit FAILED == Contents of files in the log/7/ dir after test 1063 === Start of file server.cmd Testnum 1063 === End of file server.cmd === Start of file test1063.txt 1234567890 1234567890 === End of file test1063.txt === Start of file valgrind1063 ==130343== ==130343== Process terminating with default action of signal 4 (SIGILL) ==130343== Illegal opcode at address 0x10B08D ==130343== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130343== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1066 ../src/curl -q --include --trace-ascii log/1/trace1066 --trace-config all --trace-time http://127.0.0.1:34215/want/1066 http://127.0.0.1:34215/want/10660001 --dump-header - > log/1/stdout1066 2> log/1/stderr1066 test 1065...[HTTP PUT with one file but two URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1065 ../src/curl -q --include --trace-ascii log/2/trace1065 --trace-config all --trace-time -H "Expect:" -T log/2/1065 http://127.0.0.1:38781/1065.upload1 http://127.0.0.1:38781/10650002.url2 > log/2/stdout1065 2> log/2/stderr1065 1065: stdout FAILED: --- log/2/check-expected 2024-12-15 02:02:58.079852488 +0000 +++ log/2/check-generated 2024-12-15 02:02:58.079852488 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -still ok[LF] == Contents of files in the log/2/ dir after test 1065 === Start of file 1065 test === End of file 1065 === Start of file check-expected HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 9[CR][LF] [CR][LF] still ok[LF] === End of file check-expected === Start of file http_server.log 02:02:57.463861 ====> Client connect 02:02:57.463894 accept_connection 3 returned 4 02:02:57.463909 accept_connection 3 returned 0 02:02:57.463923 Read 93 bytes 02:02:57.463933 Process 93 bytes request 02:02:57.463947 Got request: GET /verifiedserver HTTP/1.1 02:02:57.463956 Are-we-friendly question received 02:02:57.463979 Wrote request (93 bytes) input to log/2/server.input 02:02:57.463995 Identifying ourselves as friends 02:02:57.464055 Response sent (56 bytes) and written to log/2/server.response 02:02:57.464067 special request received, no persistency 02:02:57.464075 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1065 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1065 ==130574== ==130574== Process terminating with default action of signal 4 (SIGILL) ==130574== Illegal opcode at address 0x10B08D ==130574== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130574== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1065 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1056 ../src/curl -q --output log/12/curl1056.out --include --trace-ascii log/12/trace1056 --trace-config all --trace-time http://127.0.0.1:40653/we/are/all/twits/1056 -L > log/12/stdout1056 2> log/12/stderr1056 test 1064...[HTTP PUT twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1064 ../src/curl -q --include --trace-ascii log/3/trace1064 --trace-config all --trace-time -H "Expect:" -T log/3/1064 http://127.0.0.1:34527/1064.upload1 -T log/3/1064 http://127.0.0.1:34527/10640002.upload2 > log/3/stdout1064 2> log/3/stderr1064 1064: stdout FAILED: --- log/3/check-expected 2024-12-15 02:02:58.093186057 +0000 +++ log/3/check-generated 2024-12-15 02:02:58.093186057 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -still ok[LF] == Contents of files in the log/3/ dir after test 1064 === Start of file 1064 test === End of file 1064 === Start of file check-expected HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 9[CR][LF] [CR][LF] still ok[LF] === End of file check-expected === Start of file http_server.log 02:02:57.451910 ====> Client connect 02:02:57.451947 accept_connection 3 returned 4 02:02:57.451965 accept_connection 3 returned 0 02:02:57.451980 Read 93 bytes 02:02:57.451990 Process 93 bytes request 02:02:57.452005 Got request: GET /verifiedserver HTTP/1.1 02:02:57.452016 Are-we-friendly question received 02:02:57.452040 Wrote request (93 bytes) input to log/3/server.input 02:02:57.452058 Identifying ourselves as friends 02:02:57.452130 Response sent (56 bytes) and written to log/3/server.response 02:02:57.452144 special request received, no persistency 02:02:57.452158 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1064 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1064 ==130572== ==130572== Process terminating with default action of signal 4 (SIGILL) ==130572== Illegal opcode at address 0x10B08D ==130572== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130572== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1064 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1068 ../src/curl -q --output log/9/curl1068.out --include --trace-ascii log/9/trace1068 --trace-config all --trace-time http://127.0.0.1:38509/bzz/1068 -T - log/9/stdout1068 2> log/9/stderr1068 test 1066...[HTTP --dump-header - with two URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1066 ../src/curl -q --include --trace-ascii log/1/trace1066 --trace-config all --trace-time http://127.0.0.1:34215/want/1066 http://127.0.0.1:34215/want/10660001 --dump-header - > log/1/stdout1066 2> log/1/stderr1066 1066: stdout FAILED: --- log/1/check-expected 2024-12-15 02:02:58.103186235 +0000 +++ log/1/check-generated 2024-12-15 02:02:58.103186235 +0000 @@ -1,22 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: thebest/1.0[CR][LF] -Server: thebest/1.0[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Length: 6[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -[CR][LF] -first[LF] -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: thebest/1.0[CR][LF] -Server: thebest/1.0[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Length: 7[CR][LF] -Content-Length: 7[CR][LF] -[CR][LF] -[CR][LF] -second[LF] == Contents of files in the log/1/ dir after test 1066 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Server: thebest/1.0[CR][LF] Server: thebest/1.0[CR][LF] Content-Type: text/plain[CR][LF] Content-Type: text/plain[CR][LF] Content-Length: 6[CR][LF] Content-Length: 6[CR][LF] [CR][LF] [CR][LF] first[LF] HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Server: thebest/1.0[CR][LF] Server: thebest/1.0[CR][LF] Content-Type: text/plain[CR][LF] Content-Type: text/plain[CR][LF] Content-Length: 7[CR][LF] Content-Length: 7[CR][LF] [CR][LF] [CR][LF] second[LF] === End of file check-expected === Start of file http_server.log 02:02:57.484256 ====> Client connect 02:02:57.484292 accept_connection 3 returned 4 02:02:57.484312 accept_connection 3 returned 0 02:02:57.484329 Read 93 bytes 02:02:57.484341 Process 93 bytes request 02:02:57.484356 Got request: GET /verifiedserver HTTP/1.1 02:02:57.484367 Are-we-friendly question received 02:02:57.484483 Wrote request (93 bytes) input to log/1/server.input 02:02:57.484505 Identifying ourselves as friends 02:02:57.484576 Response sent (56 bytes) and written to log/1/server.response 02:02:57.484589 special request received, no persistency 02:02:57.484597 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1066 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1066 ==130584== ==130584== Process terminating with default action of signal 4 (SIGILL) ==130584== Illegal opcode at address 0x10B08D ==130584== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130584== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1066 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/12/server/http_ipv6_server.pid" --logfile "log/12/http_ipv6_server.log" --logdir "log/12" --portfile log/12/server/http_ipv6_server.port --config log/12/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/12/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:33507/verifiedserver" 2>log/12/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 129708 port 33507 * pid http-ipv6 => 129708 129708 prechecked /usr/bin/perl -e "print 'Test is not supported on the Windows kernel' if ($^O eq 'MSWin32' || $^O eq 'msys' || $^O eq 'cygwin');" test 1056...[HTTP follow redirect from IPv4 to IPv6 with scope] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1056 ../src/curl -q --output log/12/curl1056.out --include --trace-ascii log/12/trace1056 --trace-config all --trace-time http://127.0.0.1:40653/we/are/all/twits/1056 -L > log/12/stdout1056 2> log/12/stderr1056 1056: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1056 === Start of file http_ipv6_server.log 02:02:56.537374 Running HTTP IPv6 version on port 33507 02:02:56.537453 Wrote pid 129708 to log/12/server/http_ipv6_server.pid 02:02:56.537486 Wrote port 33507 to log/12/server/http_ipv6_server.port 02:02:57.570361 ====> Client connect 02:02:57.570385 accept_connection 3 returned 4 02:02:57.570400 accept_connection 3 returned 0 02:02:57.570415 Read 89 bytes 02:02:57.570426 Process 89 bytes request 02:02:57.570447 Got request: GET /verifiedserver HTTP/1.1 02:02:57.570457 Are-we-friendly question received 02:02:57.570471 Wrote request (89 bytes) input to log/12/server.input 02:02:57.570489 Identifying ourselves as friends 02:02:57.570546 Response sent (57 bytes) and written to log/12/server.response 02:02:57.570557 special request received, no persistency 02:02:57.570566 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:33507... * Connected to ::1 (::1) port 33507 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:33507 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 129708 === End of file http_ipv6_verify.out === Start of file http_server.log 02:02:56.519716 ====> Client connect 02:02:56.519748 accept_connection 3 returned 4 02:02:56.519766 accept_connection 3 returned 0 02:02:56.519781 Read 93 bytes 02:02:56.519793 Process 93 bytes request 02:02:56.519806 Got request: GET /verifiedserver HTTP/1.1 02:02:56.519816 Are-we-friendly question received 02:02:56.519840 Wrote request (93 bytes) input to log/12/server.input 02:02:56.519858 Identifying ourselves as friends 02:02:56.519928 Response sent (56 bytes) and written to log/12/server.response 02:02:56.519939 special request received, no persistency 02:02:56.519949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1056 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 129708 === End of file server.response === Start of file valgrind1056 ==130737== ==130737== Process terminating with default action of signal 4 (SIGILL) ==130737== Illegal opcode at address 0x10B08D ==130737== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130737== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1056 test 1068...[HTTP PUT from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1068 ../src/curl -q --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1067 ../src/curl -q --output log/10/curl1067.out --include --trace-ascii log/10/trace1067 --trace-config all --trace-time http://127.0.0.1:42929/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/10/stdout1067 2> log/10/stderr1067 output log/9/curl1068.out --include --trace-ascii log/9/trace1068 --trace-config all --trace-time http://127.0.0.1:38509/bzz/1068 -T - log/9/stdout1068 2> log/9/stderr1068 1068: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1068 === Start of file http_server.log 02:02:57.836821 ====> Client connect 02:02:57.836854 accept_connection 3 returned 4 02:02:57.836873 accept_connection 3 returned 0 02:02:57.836887 Read 93 bytes 02:02:57.836900 Process 93 bytes request 02:02:57.836915 Got request: GET /verifiedserver HTTP/1.1 02:02:57.836925 Are-we-friendly question received 02:02:57.837047 Wrote request (93 bytes) input to log/9/server.input 02:02:57.837066 Identifying ourselves as friends 02:02:57.837131 Response sent (56 bytes) and written to log/9/server.response 02:02:57.837142 special request received, no persistency 02:02:57.837151 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1068 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stdin-for-1068 more than one byte === End of file stdin-for-1068 === Start of file valgrind1068 ==130843== ==130843== Process terminating with default action of signal 4 (SIGILL) ==130843== Illegal opcode at address 0x10B08D ==130843== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130843== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1068 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1069 ../src/curl -q --output log/11/curl1069.out --include --trace-ascii log/11/trace1069 --trace-config all --trace-time http://127.0.0.1:44137/bzz/1069 -T - -0 log/11/stdout1069 2> log/11/stderr1069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1072 ../src/curl -q --output log/6/curl1072.out --include --trace-ascii log/6/trace1072 --trace-config all --trace-time http://127.0.0.1:39457/1072 -T - -u testuser:testpass --anyauth log/6/stdout1072 2> log/6/stderr1072 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1073 ../src/curl -q --output log/5/curl1073.out --include --trace-ascii log/5/trace1073 --trace-config all --trace-time http://127.0.0.1:33361/1073 -T - -L log/5/stdout1073 2> log/5/stderr1073 test 1067...[HTTP Location: following with auto-referer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1067 ../src/curl -q --output log/10/curl1067.out --include --trace-ascii log/10/trace1067 --trace-config all --trace-time http://127.0.0.1:42929/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/10/stdout1067 2> log/10/stderr1067 1067: stderr FAILED: --- log/10/check-expected 2024-12-15 02:02:58.363190870 +0000 +++ log/10/check-generated 2024-12-15 02:02:58.363190870 +0000 @@ -1 +0,0 @@ -|http://127.0.0.1:42929/want/1067| == Contents of files in the log/10/ dir after test 1067 === Start of file check-expected |http://127.0.0.1:42929/want/1067| === End of file check-expected === Start of file http_server.log 02:02:57.820116 ====> Client connect 02:02:57.820152 accept_connection 3 returned 4 02:02:57.820171 accept_connection 3 returned 0 02:02:57.820186 Read 93 bytes 02:02:57.820197 Process 93 bytes request 02:02:57.820212 Got request: GET /verifiedserver HTTP/1.1 02:02:57.820223 Are-we-friendly question received 02:02:57.820247 Wrote request (93 bytes) input to log/10/server.input 02:02:57.820265 Identifying ourselves as friends 02:02:57.820338 Response sent (56 bytes) and written to log/10/server.response 02:02:57.820350 special request received, no persistency 02:02:57.820360 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1067 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1067 ==130833== ==130833== Process terminating with default action of signal 4 (SIGILL) ==130833== Illegal opcode at address 0x10B08D ==130833== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==130833== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1067 test 1069...[HTTP 1.0 PUT from stdin with no content length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1069 ../src/curl -q --output log/11/curl1069.out --include --trace-ascii log/11/trace1069 --trace-config all --trace-time http://127.0.0.1:44137/bzz/1069 -T - -0 log/11/stdout1069 2> log/11/stderr1069 curl returned 132, when expecting 25 1069: exit FAILED == Contents of files in the log/11/ dir after test 1069 === Start of file http_server.log 02:02:58.026049 ====> Client connect 02:02:58.026080 accept_connection 3 returned 4 02:02:58.026097 accept_connection 3 returned 0 02:02:58.026111 Read 93 bytes 02:02:58.026122 Process 93 bytes request 02:02:58.026135 Got request: GET /verifiedserver HTTP/1.1 02:02:58.026145 Are-we-friendly question received 02:02:58.026173 Wrote request (93 bytes) input to log/11/server.input 02:02:58.026192 Identifying ourselves as friends 02:02:58.026262 Response sent (56 bytes) and written to log/11/server.response 02:02:58.026275 special request received, no persistency 02:02:58.026287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1069 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stdin-for-1069 this data can't be sent === End of file stdin-for-1069 === Start of file valgrind1069 ==131020== ==131020== Process terminating with default action of signal 4 (SIGILL) ==131020== Illegal opcode at address 0x10B08D ==131020== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131020== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1069 test 1072...[HTTP chunked PUT to HTTP 1.0 server with authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1072 ../src/curl -q --output log/6/curl1072.out --include --trace-ascii log/6/trace1072 --trace-config all --trace-time http://127.0.0.1:39457/1072 -T - -u testuser:testpass --anyauth log/6/stdout1072 2> log/6/stderr1072 1072: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1072 === Start of file http_server.log 02:02:58.039921 ====> Client connect 02:02:58.039952 accept_connection 3 returned 4 02:02:58.039970 accept_connection 3 returned 0 02:02:58.039986 Read 93 bytes 02:02:58.039998 Process 93 bytes request 02:02:58.040012 Got request: GET /verifiedserver HTTP/1.1 02:02:58.040023 Are-we-friendly question received 02:02:58.040047 Wrote request (93 bytes) input to log/6/server.input 02:02:58.040066 Identifying ourselves as friends 02:02:58.040137 Response sent (56 bytes) and written to log/6/server.response 02:02:58.040149 special request received, no persistency 02:02:58.040159 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1072 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file stdin-for-1072 This is data we upload with PUT it comes from stdin so MUST be sent with chunked encoding which is impossible in HTTP/1.0 === End of file stdin-for-1072 === Start of file valgrind1072 ==131053== ==131053== Process terminating with default action of signal 4 (SIGILL) ==131053== Illegal opcode at address 0x10B08D ==131053== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131053== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1072 test 1073...[HTTP chunked PUT to HTTP 1.0 server with redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1073 ../src/curl -q --output log/5/curl1073.out --include --trace-ascii log/5/trace1073 --trace-config all --trace-time http://127.0.0.1:33361/1073 -T - -L log/5/stdout1073 2> log/5/stderr1073 1073: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1073 === Start of file http_server.log 02:02:58.050854 ====> Client connect 02:02:58.051129 accept_conCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1071 ../src/curl -q --output log/8/curl1071.out --include --trace-ascii log/8/trace1071 --trace-config all --trace-time http://127.0.0.1:43803/1071 -T log/8/put1071 -u testuser:testpass --anyauth > log/8/stdout1071 2> log/8/stderr1071 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1070 ../src/curl -q --output log/4/curl1070.out --include --trace-ascii log/4/trace1070 --trace-config all --trace-time -d @log/4/input1070 http://127.0.0.1:36813/1070 -H "Expect: 100-continue" > log/4/stdout1070 2> log/4/stderr1070 nection 3 returned 4 02:02:58.051152 accept_connection 3 returned 0 02:02:58.051168 Read 93 bytes 02:02:58.051178 Process 93 bytes request 02:02:58.051193 Got request: GET /verifiedserver HTTP/1.1 02:02:58.051202 Are-we-friendly question received 02:02:58.051229 Wrote request (93 bytes) input to log/5/server.input 02:02:58.051246 Identifying ourselves as friends 02:02:58.051326 Response sent (56 bytes) and written to log/5/server.response 02:02:58.051338 special request received, no persistency 02:02:58.051348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1073 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file stdin-for-1073 This is data we upload with PUT it comes from stdin so MUST be sent with chunked encoding which is impossible in HTTP/1.0 === End of file stdin-for-1073 === Start of file valgrind1073 ==131087== ==131087== Process terminating with default action of signal 4 (SIGILL) ==131087== Illegal opcode at address 0x10B08D ==131087== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131087== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1073 test 1070...[HTTP POST with server closing connection before (all) data is received] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1070 ../src/curl -q --output log/4/curl1070.out --include --trace-ascii log/4/trace1070 --trace-config all --trace-time -d @log/4/input1070 http://127.0.0.1:36813/1070 -H "Expect: 100-continue" > log/4/stdout1070 2> log/4/stderr1070 1070: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1070 === Start of file http_server.log 02:02:58.025728 ====> Client connect 02:02:58.025763 accept_connection 3 returned 4 02:02:58.025782 accept_connection 3 returned 0 02:02:58.025797 Read 93 bytes 02:02:58.025808 Process 93 bytes request 02:02:58.025823 Got request: GET /verifiedserver HTTP/1.1 02:02:58.025833 Are-we-friendly question received 02:02:58.025857 Wrote request (93 bytes) input to log/4/server.input 02:02:58.025875 Identifying ourselves as friends 02:02:58.025950 Response sent (56 bytes) and written to log/4/server.response 02:02:58.025964 special request received, no persistency 02:02:58.025974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file input1070 This creates the named file with this content before the test case is run, which is useful if the test case needs a file to act on. We create this file rather large (larger than your typical TCP packet) so that not all of it can nor will be sent in one go as that is kind of the point of this test Here's 2000 x 'O': OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO === End of file input1070 === Start of file server.cmd skip: 2300 Testnum 1070 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1070 ==131021== ==131021== Process terminating with default action of signal 4 (SIGILL) ==131021== Illegal opcode at address 0x10B08D ==131021== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131021== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1070 test 1071...[Downgraded HTTP PUT to HTTP 1.0 with authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1071 ../src/curl -q --output log/8/curl1071.out --include --trace-ascii log/8/trace1071 --trace-config all --trace-time http://127.0.0.1:43803/1071 -T log/8/put1071 -u testuser:testpass --anyauth > log/8/stdout1071 2> log/8/stderr1071 1071: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1071 === Start of file http_server.log 02:02:58.035653 ====> Client connect 02:02:58.035686 accept_connection 3 returned 4 02:02:58.035703 accept_connection 3 returned 0 02:02:58.035718 Read 93 bytes 02:02:58.035728 Process 93 bytes request 02:02:58.035743 Got request: GET /verifiedserver HTTP/1.1 02:02:58.035752 Are-we-friendly question received 02:02:58.035774 Wrote request (93 bytes) input to log/8/server.input 02:02:58.035791 Identifying ourselves as friends 02:02:58.035858 Response sent (56 bytes) and written to log/8/server.response 02:02:58.035869 special request received, no persistency 02:02:58.035878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1074 ../src/curl -q --include --trace-ascii log/7/trace1074 --trace-config all --trace-time http://127.0.0.1:43753/want/1074 http://127.0.0.1:43753/wantmore/10740001 > log/7/stdout1074 2> log/7/stderr1074 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file put1071 This is data we upload with PUT a second line line three four is the number of lines === End of file put1071 === Start of file server.cmd Testnum 1071 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1071 ==131041== ==131041== Process terminating with default action of signal 4 (SIGILL) ==131041== Illegal opcode at address 0x10B08D ==131041== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131041== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1071 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1076 ../src/curl -q --output log/12/curl1076.out --include --trace-ascii log/12/trace1076 --trace-config all --trace-time http://127.0.0.1:40653/blah/1076 -L -d "moo" --post302 > log/12/stdout1076 2> log/12/stderr1076 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1075 ../src/curl -q --output log/3/curl1075.out --include --trace-ascii log/3/trace1075 --trace-config all --trace-time http://127.0.0.1:34527/1075 -T log/3/put1075 -u testuser:testpass --anyauth > log/3/stdout1075 2> log/3/stderr1075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1078 ../src/curl -q --include --trace-ascii log/2/trace1078 --trace-config all --trace-time --proxy1.0 127.0.0.1:42375 -p http://127.0.0.1:38781/we/want/that/page/1078 http://127.0.0.1:38781/we/want/that/page/1078 > log/2/stdout1078 2> log/2/stderr1078 test 1074...[HTTP downgrade to HTTP/1.0 on second request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1074 ../src/curl -q --include --trace-ascii log/7/trace1074 --trace-config all --trace-time http://127.0.0.1:43753/want/1074 http://127.0.0.1:43753/wantmore/10740001 > log/7/stdout1074 2> log/7/stderr1074 1074: stdout FAILED: --- log/7/check-expected 2024-12-15 02:02:58.593194972 +0000 +++ log/7/check-generated 2024-12-15 02:02:58.593194972 +0000 @@ -1,11 +0,0 @@ -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 9[CR][LF] -Connection: Keep-Alive[CR][LF] -[CR][LF] -surprise[LF] -HTTP/1.0 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Connection: close[CR][LF] -[CR][LF] -surprise2[LF] == Contents of files in the log/7/ dir after test 1074 === Start of file check-expected HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 9[CR][LF] Connection: Keep-Alive[CR][LF] [CR][LF] surprise[LF] HTTP/1.0 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Connection: close[CR][LF] [CR][LF] surprise2[LF] === End of file check-expected === Start of file http_server.log 02:02:58.042801 ====> Client connect 02:02:58.042832 accept_connection 3 returned 4 02:02:58.042847 accept_connection 3 returned 0 02:02:58.042859 Read 93 bytes 02:02:58.042869 Process 93 bytes request 02:02:58.042881 Got request: GET /verifiedserver HTTP/1.1 02:02:58.042890 Are-we-friendly question received 02:02:58.042912 Wrote request (93 bytes) input to log/7/server.input 02:02:58.042928 Identifying ourselves as friends 02:02:58.042988 Response sent (56 bytes) and written to log/7/server.response 02:02:58.042999 special request received, no persistency 02:02:58.043008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1074 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1074 ==131056== ==131056== Process terminating with default action of signal 4 (SIGILL) ==131056== Illegal opcode at address 0x10B08D ==131056== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131056== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1074 test 1076...[HTTP POST with 302 redirect and --post302] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1076 ../src/curl -q --output log/12/curl1076.out --include --trace-ascii log/12/trace1076 --trace-config all --trace-time http://127.0.0.1:40653/blah/1076 -L -d "moo" --post302 > log/12/stdout1076 2> log/12/stderr1076 1076: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1076 === Start of file http_server.log 02:02:58.395210 ====> Client connect 02:02:58.395249 accept_connection 3 returned 4 02:02:58.395267 accept_connection 3 returned 0 02:02:58.397487 Read 93 bytes 02:02:58.397507 Process 93 bytes request 02:02:58.397524 Got request: GET /verifiedserver HTTP/1.1 02:02:58.397535 Are-we-friendly question received 02:02:58.397569 Wrote request (93 bytes) input to log/12/server.input 02:02:58.397591 Identifying ourselves as friends 02:02:58.397665 Response sent (56 bytes) and written to log/12/server.response 02:02:58.397678 special request received, no persistency 02:02:58.397688 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1076 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1076 ==131411== ==131411== Process terminating with default action of signal 4 (SIGILL) ==131411== Illegal opcode at address 0x10B08D ==131411== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131411== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1076 test 1075...[HTTP PUT with --anyauth authorization (picking Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1075 ../src/curl -q --output log/3/curl1075.out --include --trace-ascii log/3/trace1075 --trace-config all --trace-time http://127.0.0.1:34527/1075 -T log/3/put1075 -u testuser:testpass --anyauth > log/3/stdout1075 2> log/3/stderr1075 1075: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1075 === Start of file http_server.log 02:02:58.381329 ====> Client connect 02:02:58.381366 accept_connection 3 returned 4 02:02:58.381384 accept_connection 3 returned 0 02:02:58.381945 Read 93 bytes 02:02:58.381969 Process 93 bytes request 02:02:58.381986 Got request: GET /verifiedserver HTTP/1.1 02:02:58.381997 Are-we-friendly question received 02:02:58.382029 Wrote request (93 bytes) input to log/3/server.input 02:02:58.382049 Identifying ourselves as friends 02:02:58.382133 Response sent (56 bytes) and written to log/3/server.response 02:02:58.382146 special request received, no persistency 02:02:58.382157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file put1075 This is data we upload with PUT a second line line three four is the number of lines === End of file put1075 === Start of file server.cmd Testnum 1075 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1075 ==131395== ==131395== Process terminating with default action of signal 4 (SIGILL) ==131395== Illegal opcode at address 0x10B08D ==131395== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131395== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1077 ../src/curl -q --output log/1/curl1077.out --include --trace-ascii log/1/trace1077 --trace-config all --trace-time -x 127.0.0.1:34215 ftp://127.0.0.1:34215/we/want/that/page/1077 ftp://127.0.0.1:34215/we/want/that/page/10770002 > log/1/stdout1077 2> log/1/stderr1077 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1079 ../src/curl -q --output log/9/curl1079.out --include --trace-ascii log/9/trace1079 --trace-config all --trace-time http://127.0.0.1:38509/1079 -u testuser:testpass --digest > log/9/stdout1079 2> log/9/stderr1079 test 1078...[HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1078 ../src/curl -q --include --trace-ascii log/2/trace1078 --trace-config all --trace-time --proxy1.0 127.0.0.1:42375 -p http://127.0.0.1:38781/we/want/that/page/1078 http://127.0.0.1:38781/we/want/that/page/1078 > log/2/stdout1078 2> log/2/stderr1078 1078: stdout FAILED: --- log/2/check-expected 2024-12-15 02:02:58.909867283 +0000 +++ log/2/check-generated 2024-12-15 02:02:58.909867283 +0000 @@ -1,21 +0,0 @@ -HTTP/1.1 200 Mighty fine indeed[CR][LF] -Server: test tunnel 2000[CR][LF] -[CR][LF] -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -contents[LF] -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -contents[LF] == Contents of files in the log/2/ dir after test 1078 === Start of file check-expected HTTP/1.1 200 Mighty fine indeed[CR][LF] Server: test tunnel 2000[CR][LF] [CR][LF] HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] contents[LF] HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] contents[LF] === End of file check-expected === Start of file http2_server.log 02:02:58.430475 ====> Client connect 02:02:58.430512 accept_connection 3 returned 4 02:02:58.430530 accept_connection 3 returned 0 02:02:58.430545 Read 93 bytes 02:02:58.430557 Process 93 bytes request 02:02:58.430571 Got request: GET /verifiedserver HTTP/1.1 02:02:58.430581 Are-we-friendly question received 02:02:58.430696 Wrote request (93 bytes) input to log/2/proxy.input 02:02:58.430717 Identifying ourselves as friends 02:02:58.430792 Response sent (56 bytes) and written to log/2/proxy.response 02:02:58.430805 special request received, no persistency 02:02:58.430814 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:42375... * Connected to 127.0.0.1 (127.0.0.1) port 42375 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42375 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79340 === End of file http2_verify.out === Start of file http_server.log 02:02:58.383525 ====> Client connect 02:02:58.383559 accept_connection 3 returned 4 02:02:58.383576 accept_connection 3 returned 0 02:02:58.383591 Read 93 bytes 02:02:58.383602 Process 93 bytes request 02:02:58.383614 Got request: GET /verifiedserver HTTP/1.1 02:02:58.383624 Are-we-friendly question received 02:02:58.383649 Wrote request (93 bytes) input to log/2/server.input 02:02:58.383667 Identifying ourselves as friends 02:02:58.383739 Response sent (56 bytes) and written to log/2/server.response 02:02:58.383750 special request received, no persistency 02:02:58.383759 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79340 === End of file proxy.response === Start of file server.cmd Testnum 1078 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1078 ==131455== ==131455== Process terminating with default action of signal 4 (SIGILL) ==131455== Illegal opcode at address 0x10B08D ==131455== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131455== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1078 test 1077...[FTP over HTTP proxy with downgrade to HTTP 1.0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1077 ../src/curl -q --output log/1/curl1077.out --include --trace-ascii log/1/trace1077 --trace-config all --trace-time -x 127.0.0.1:34215 ftp://127.0.0.1:34215/we/want/that/page/1077 ftp://127.0.0.1:34215/we/want/that/page/10770002 > log/1/stdout1077 2> log/1/stderr1077 1077: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1077 === Start of file http_server.log 02:02:58.428521 ====> Client connect 02:02:58.428558 accept_connection 3 returned 4 02:02:58.428577 accept_connection 3 returned 0 02:02:58.428594 Read 93 bytes 02:02:58.428606 Process 93 bytes request 02:02:58.428621 Got request: GET /verifiedserver HTTP/1.1 02:02:58.428630 Are-we-friendly question received 02:02:58.428653 Wrote request (93 bytes) input to log/1/server.input 02:02:58.428672 Identifying ourselves as friends 02:02:58.428778 Response sent (56 bytes) and written to log/1/server.response 02:02:58.428791 special request received, no persistency 02:02:58.428801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1077 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1077 ==131446== ==131446== Process terminating with default action of signal 4 (SIGILL) ==131446== Illegal opcode at address 0x10B08D ==131446== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131446== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1077 test 1079...[HTTP retry after closed connection and empty response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1079 ../src/curl -q --output log/9/curl1079.out --include --trace-ascii log/9/trace1079 --trace-config all --trace-time http://127.0.0.1:38509/1079 -u testuser:testpass --digest > log/9/stdout1079 2> log/9/stderr1079 1079: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1079 === Start of file http_server.log 02:02:58.598500 ====> Client connect 02:02:58.598535 accept_connection 3 returned 4 02:02:58.598553 accept_connection 3 returned 0 02:02:58.598567 Read 93 bytes 02:02:58.598578CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1080 ../src/curl -q --include --trace-ascii log/10/trace1080 --trace-config all --trace-time http://127.0.0.1:42929/we/want/our/1080 http://127.0.0.1:42929/we/want/our/1080 -w '%{redirect_url}\n' > log/10/stdout1080 2> log/10/stderr1080 Process 93 bytes request 02:02:58.598591 Got request: GET /verifiedserver HTTP/1.1 02:02:58.598601 Are-we-friendly question received 02:02:58.598626 Wrote request (93 bytes) input to log/9/server.input 02:02:58.598645 Identifying ourselves as friends 02:02:58.598716 Response sent (56 bytes) and written to log/9/server.response 02:02:58.598729 special request received, no persistency 02:02:58.598739 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1079 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1079 ==131638== ==131638== Process terminating with default action of signal 4 (SIGILL) ==131638== Illegal opcode at address 0x10B08D ==131638== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131638== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1079 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1084 ../src/curl -q --output log/4/curl1084.out --include --trace-ascii log/4/trace1084 --trace-config all --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/4/stdout1084 2> log/4/stderr1084 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1082 ../src/curl -q --output log/6/curl1082.out --include --trace-ascii log/6/trace1082 --trace-config all --trace-time http://127.0.0.1:39457/1082 -4 --interface 127.0.0.1 > log/6/stdout1082 2> log/6/stderr1082 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1081 ../src/curl -q --include --trace-ascii log/11/trace1081 --trace-config all --trace-time http://127.0.0.1:44137/we/want/our/1081 http://127.0.0.1:44137/we/want/our/10810002 -w '%{redirect_url}\n' > log/11/stdout1081 2> log/11/stderr1081 test 1080...[HTTP Location: on two URLs 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1080 ../src/curl -q --include --trace-ascii log/10/trace1080 --trace-config all --trace-time http://127.0.0.1:42929/we/want/our/1080 http://127.0.0.1:42929/we/want/our/1080 -w '%{redirect_url}\n' > log/10/stdout1080 2> log/10/stderr1080 1080: stdout FAILED: --- log/10/check-expected 2024-12-15 02:02:59.083203706 +0000 +++ log/10/check-generated 2024-12-15 02:02:59.083203706 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10800002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:42929/we/want/our/data/10800002.txt?coolsite=yes[LF] -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10800002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:42929/we/want/our/data/10800002.txt?coolsite=yes[LF] == Contents of files in the log/10/ dir after test 1080 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10800002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:42929/we/want/our/data/10800002.txt?coolsite=yes[LF] HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10800002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:42929/we/want/our/data/10800002.txt?coolsite=yes[LF] === End of file check-expected === Start of file http_server.log 02:02:58.621089 ====> Client connect 02:02:58.621121 accept_connection 3 returned 4 02:02:58.621137 accept_connection 3 returned 0 02:02:58.621151 Read 93 bytes 02:02:58.621161 Process 93 bytes request 02:02:58.621176 Got request: GET /verifiedserver HTTP/1.1 02:02:58.621185 Are-we-friendly question received 02:02:58.621207 Wrote request (93 bytes) input to log/10/server.input 02:02:58.621224 Identifying ourselves as friends 02:02:58.621290 Response sent (56 bytes) and written to log/10/server.response 02:02:58.621302 special request received, no persistency 02:02:58.621311 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1080 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1080 ==131659== ==131659== Process terminating with default action of signal 4 (SIGILL) ==131659== Illegal opcode at address 0x10B08D ==131659== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131659== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1080 * starts no server test 1084...[HTTP GET with invalid --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1084 ../src/curl -q --output log/4/curl1084.out --include --trace-ascii log/4/trace1084 --trace-config all --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/4/stdout1084 2> log/4/stderr1084 curl returned 132, when expecting 45 1084: exit FAILED == Contents of files in the log/4/ dir after test 1084 === Start of file server.cmd Testnum 1084 === End of file server.cmd === Start of file valgrind1084 ==131788== ==131788== Process terminating with default action of signal 4 (SIGILL) ==131788== Illegal opcode at address 0x10B08D ==131788== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131788== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1084 prechecked /usr/bin/perl -e "print 'Test requires default test client host address' if ( '127.0.0.1' ne '127.0.0.1' );" test 1082...[HTTP GET with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1082 ../src/curl -q --output log/6/curl1082.out --include --trace-ascii log/6/trace1082 --trace-config all --trace-time http://127.0.0.1:39457/1082 -4 --interface 127.0.0.1 > log/6/stdout1082 2> log/6/stderr1082 1082: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1082 === Start of file http_server.log 02:02:58.792221 ====> Client connect 02:02:58.792251 accept_connection 3 returned 4 02:02:58.792267 accept_connection 3 returned 0 02:02:58.792281 Read 93 bytes 02:02:58.792292 Process 93 bytes request 02:02:58.792307 Got request: GET /verifiedserver HTTP/1.1 02:02:58.792316 Are-we-friendly question received 02:02:58.792336 Wrote request (93 bytes) input to log/6/server.input 02:02:58.792353 Identifying ourselves as friends 02:02:58.792414 Response sent (56 bytes) and written to log/6/server.response 02:02:58.793871 special request received, no persistency 02:02:58.793886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1082 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1082 ==131803== ==131803== Process terminating with default action of signal 4 (SIGILL) ==131803== Illegal opcode at address 0x10B08D ==131803== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131803== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1082 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1085 ../src/curl -q --output log/8/curl1085.out --include --trace-ascii log/8/trace1085 --trace-config all --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/8/stdout1085 2> log/8/stderr1085 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1086 ../src/curl -q --output log/7/curl1086.out --include --trace-ascii log/7/trace1086 --trace-config all --trace-time ftp://127.0.0.1:41879/1086 -m 5 > log/7/stdout1086 2> log/7/stderr1086 * kill pid for ftp-ctrl => 80491 RUN: Process with pid 80479 signalled to die RUN: Process with pid 80479 gracefully died test 1081...[HTTP no Location: on second URL 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1081 ../src/curl -q --include --trace-ascii log/11/trace1081 --trace-config all --trace-time http://127.0.0.1:44137/we/want/our/1081 http://127.0.0.1:44137/we/want/our/10810002 -w '%{redirect_url}\n' > log/11/stdout1081 2> log/11/stderr1081 1081: stdout FAILED: --- log/11/check-expected 2024-12-15 02:02:59.363208696 +0000 +++ log/11/check-generated 2024-12-15 02:02:59.363208696 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10810099.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:44137/we/want/our/data/10810099.txt?coolsite=yes[LF] -HTTP/1.1 200 Followed here fine swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 41[CR][LF] -[CR][LF] -This second URL does not have a location[LF] -[LF] == Contents of files in the log/11/ dir after test 1081 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10810099.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:44137/we/want/our/data/10810099.txt?coolsite=yes[LF] HTTP/1.1 200 Followed here fine swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 41[CR][LF] [CR][LF] This second URL does not have a location[LF] [LF] === End of file check-expected === Start of file http_server.log 02:02:58.778588 ====> Client connect 02:02:58.778734 accept_connection 3 returned 4 02:02:58.778758 accept_connection 3 returned 0 02:02:58.778773 Read 93 bytes 02:02:58.778783 Process 93 bytes request 02:02:58.778798 Got request: GET /verifiedserver HTTP/1.1 02:02:58.778808 Are-we-friendly question received 02:02:58.778835 Wrote request (93 bytes) input to log/11/server.input 02:02:58.778853 Identifying ourselves as friends 02:02:58.778928 Response sent (56 bytes) and written to log/11/server.response 02:02:58.778940 special request received, no persistency 02:02:58.778950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1081 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1081 ==131775== ==131775== Process terminating with default action of signal 4 (SIGILL) ==131775== Illegal opcode at address 0x10B08D ==131775== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131775== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1081 * starts no server prechecked ./server/resolve --ipv6 ::1 test 1085...[HTTP-IPv6 GET with invalid --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1085 ../src/curl -q --output log/8/curl1085.out --include --trace-ascii log/8/trace1085 --trace-config all --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/8/stdout1085 2> log/8/stderr1085 curl returned 132, when expecting 45 1085: exit FAILED == Contents of files in the log/8/ dir after test 1085 === Start of file server.cmd Testnum 1085 === End of file server.cmd === Start of file valgrind1085 ==131792== ==131792== Process terminating with default action of signal 4 (SIGILL) ==131792== Illegal opcode at address 0x10B08D ==131792== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131792== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1085 test 1086...[FTP download with strict timeout and slow data transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1086 ../src/curl -q --output log/7/curl1086.out --include --trace-ascii log/7/trace1086 --trace-config all --trace-time ftp://127.0.0.1:41879/1086 -m 5 > log/7/stdout1086 2> log/7/stderr1086 1086: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1086 === Start of file ftp_server.log 02:02:58.631056 ====> Client connect 02:02:58.631208 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:58.631495 < "USER anonymous" 02:02:58.631535 > "331 We are happy you popped in![CR][LF]" 02:02:58.631789 < "PASS ftp@example.com" 02:02:58.631821 > "230 Welcome you silly person[CR][LF]" 02:02:58.631989 < "PWD" 02:02:58.632019 > "257 "/" is current directory[CR][LF]" 02:02:58.632176 < "EPSV" 02:02:58.632198 ====> Passive DATA channel requested by client 02:02:58.632210 DATA sockfilt for passive data channel starting... 02:02:58.635060 DATA sockfilt for passive data channel started (pid 131890) 02:02:58.635163 DATA sockfilt for passive data channel listens on port 43341 02:02:58.635201 > "229 Entering Passive Mode (|||43341|)[LF]" 02:02:58.635219 Client has been notified that DATA conn will be accepted on port 43341 02:02:58.635463 Client connects to port 43341 02:02:58.635494 ====> Client established passive DATA connection on port 43341 02:02:58.635555 < "TYPE I" 02:02:58.635581 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:58.635749 < "SIZE verifiedserver" 02:02:58.635785 > "213 17[CR][LF]" 02:02:58.635948 < "RETR verifiedserver" 02:02:58.635980 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:58.636054 =====> Closing passive DATA connection... 02:02:58.636072 Server disconnects passive DATA connection 02:02:58.636317 Server disconnected passive DATA connection 02:02:58.636345 DATA sockfilt for passive data channel quits (pid 131890) 02:02:58.636526 DATA sockfilt for passive data channel quit (pid 131890) 02:02:58.636551 =====> Closed passive DATA connection 02:02:58.636575 > "226 File transfer complete[CR][LF]" 02:02:58.680125 < "QUIT" 02:02:58.680178 > "221 bye bye baby[CR][LF]" 02:02:58.681054 MAIN sockfilt said DISC 02:02:58.681093 ====> Client disconnected 02:02:58.681160 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:58.831085 ====> Client connect 02:02:58.831357 Received DATA (on stdin) 02:02:58.831372 > 160 bytes data, server => client 02:02:58.831385 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:58.831397 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:58.831408 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:58.831489 < 16 bytes data, client => server 02:02:58.831502 'USER anonymous\r\n' 02:02:58.831677 Received DATA (on stdin) 02:02:58.831690 > 33 bytes data, server => client 02:02:58.831701 '331 We are happy you popped in!\r\n' 02:02:58.831755 < 22 bytes data, client => server 02:02:58.831767 'PASS ftp@example.com\r\n' 02:02:58.831961 Received DATA (on stdin) 02:02:58.831975 > 30 bytes data, server => client 02:02:58.831987 '230 Welcome you silly person\r\n' 02:02:58.832043 < 5 bytes data, client => server 02:02:58.832055 'PWCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1087 ../src/curl -q --output log/12/curl1087.out --include --trace-ascii log/12/trace1087 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:40653 --user iam:myself --location --anyauth > log/12/stdout1087 2> log/12/stderr1087 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1088 ../src/curl -q --output log/3/curl1088.out --include --trace-ascii log/3/trace1088 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:34527 --user iam:myself --location-trusted --anyauth > log/3/stdout1088 2> log/3/stderr1088 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1089 ../src/curl -q --include --trace-ascii log/2/trace1089 --trace-config all --trace-time http://127.0.0.1:38781/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/2/stdout1089 2> log/2/stderr1089 D\r\n' 02:02:58.832158 Received DATA (on stdin) 02:02:58.832169 > 30 bytes data, server => client 02:02:58.832181 '257 "/" is current directory\r\n' 02:02:58.832238 < 6 bytes data, client => server 02:02:58.832250 'EPSV\r\n' 02:02:58.835364 Received DATA (on stdin) 02:02:58.835379 > 38 bytes data, server => client 02:02:58.835391 '229 Entering Passive Mode (|||43341|)\n' 02:02:58.835520 < 8 bytes data, client => server 02:02:58.835538 'TYPE I\r\n' 02:02:58.835720 Received DATA (on stdin) 02:02:58.835733 > 33 bytes data, server => client 02:02:58.835744 '200 I modify TYPE as you wanted\r\n' 02:02:58.835798 < 21 bytes data, client => server 02:02:58.835812 'SIZE verifiedserver\r\n' 02:02:58.835926 Received DATA (on stdin) 02:02:58.835938 > 8 bytes data, server => client 02:02:58.835949 '213 17\r\n' 02:02:58.836000 < 21 bytes data, client => server 02:02:58.836014 'RETR verifiedserver\r\n' 02:02:58.836212 Received DATA (on stdin) 02:02:58.836225 > 29 bytes data, server => client 02:02:58.836236 '150 Binary junk (17 bytes).\r\n' 02:02:58.836715 Received DATA (on stdin) 02:02:58.836728 > 28 bytes data, server => client 02:02:58.836740 '226 File transfer complete\r\n' 02:02:58.880079 < 6 bytes data, client => server 02:02:58.880114 'QUIT\r\n' 02:02:58.880322 Received DATA (on stdin) 02:02:58.880336 > 18 bytes data, server => client 02:02:58.880347 '221 bye bye baby\r\n' 02:02:58.881136 ====> Client disconnect 02:02:58.881298 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:58.834131 Running IPv4 version 02:02:58.834188 Listening on port 43341 02:02:58.834222 Wrote pid 131890 to log/7/server/ftp_sockdata.pid 02:02:58.835127 Received PING (on stdin) 02:02:58.835221 Received PORT (on stdin) 02:02:58.835558 ====> Client connect 02:02:58.836286 Received DATA (on stdin) 02:02:58.836301 > 17 bytes data, server => client 02:02:58.836312 'WE ROOLZ: 80479\r\n' 02:02:58.836343 Received DISC (on stdin) 02:02:58.836356 ====> Client forcibly disconnected 02:02:58.836493 Received QUIT (on stdin) 02:02:58.836505 quits 02:02:58.836550 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWNDATA REPLY welcome 220 Hey REPLY USER 331 OK REPLY PASS 230 OK REPLY PWD 257 "/" REPLY TYPE 200 OK Testnum 1086 === End of file server.cmd === Start of file valgrind1086 ==131990== ==131990== Process terminating with default action of signal 4 (SIGILL) ==131990== Illegal opcode at address 0x10B08D ==131990== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==131990== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1086 test 1087...[HTTP, proxy with --anyauth and Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1087 ../src/curl -q --output log/12/curl1087.out --include --trace-ascii log/12/trace1087 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:40653 --user iam:myself --location --anyauth > log/12/stdout1087 2> log/12/stderr1087 1087: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1087 === Start of file http_server.log 02:02:59.108560 ====> Client connect 02:02:59.108597 accept_connection 3 returned 4 02:02:59.108614 accept_connection 3 returned 0 02:02:59.108629 Read 93 bytes 02:02:59.108640 Process 93 bytes request 02:02:59.108656 Got request: GET /verifiedserver HTTP/1.1 02:02:59.108666 Are-we-friendly question received 02:02:59.108689 Wrote request (93 bytes) input to log/12/server.input 02:02:59.108707 Identifying ourselves as friends 02:02:59.108779 Response sent (56 bytes) and written to log/12/server.response 02:02:59.108790 special request received, no persistency 02:02:59.108800 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1087 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1087 ==132080== ==132080== Process terminating with default action of signal 4 (SIGILL) ==132080== Illegal opcode at address 0x10B08D ==132080== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132080== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1087 test 1088...[HTTP, proxy with --anyauth and Location: to new host using location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1088 ../src/curl -q --output log/3/curl1088.out --include --trace-ascii log/3/trace1088 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:34527 --user iam:myself --location-trusted --anyauth > log/3/stdout1088 2> log/3/stderr1088 1088: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1088 === Start of file http_server.log 02:02:59.112907 ====> Client connect 02:02:59.112938 accept_connection 3 returned 4 02:02:59.112956 accept_connection 3 returned 0 02:02:59.112969 Read 93 bytes 02:02:59.112981 Process 93 bytes request 02:02:59.112994 Got request: GET /verifiedserver HTTP/1.1 02:02:59.113005 Are-we-friendly question received 02:02:59.113029 Wrote request (93 bytes) input to log/3/server.input 02:02:59.113047 Identifying ourselves as friends 02:02:59.113113 Response sent (56 bytes) and written to log/3/server.response 02:02:59.113125 special request received, no persistency 02:02:59.113134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1088 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1088 ==132092== ==132092== Process terminating with default action of signal 4 (SIGILL) ==132092== Illegal opcode at address 0x10B08D ==132092== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132092== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1088 CMD (0): ../src/curl --max-time 13 --output log/5/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:39535/verifiedserver" 2>log/5/http_ipv6_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1090 ../src/curl -q --include --trace-ascii log/1/trace1090 --trace-config all --trace-time http://127.0.0.1:34215/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/1/stdout1090 2> log/1/stderr1090 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1092 ../src/curl -q --output log/10/curl1092.out --include --trace-ascii log/10/trace1092 --trace-config all --trace-time "ftp://127.0.0.1:42929/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:42929 > log/10/stdout1092 2> log/10/stderr1092 test 1089...[HTTP GET --write-out with redirected fetch] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1089 ../src/curl -q --include --trace-ascii log/2/trace1089 --trace-config all --trace-time http://127.0.0.1:38781/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/2/stdout1089 2> log/2/stderr1089 1089: stdout FAILED: --- log/2/check-expected 2024-12-15 02:02:59.613213152 +0000 +++ log/2/check-generated 2024-12-15 02:02:59.613213152 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./10890001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 15[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -2[LF] -1[LF] -15[LF] -http://127.0.0.1:38781/10890001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/2/ dir after test 1089 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./10890001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 15[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] 2[LF] 1[LF] 15[LF] http://127.0.0.1:38781/10890001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file http_server.log 02:02:59.147846 ====> Client connect 02:02:59.147880 accept_connection 3 returned 4 02:02:59.147896 accept_connection 3 returned 0 02:02:59.147910 Read 93 bytes 02:02:59.147921 Process 93 bytes request 02:02:59.147936 Got request: GET /verifiedserver HTTP/1.1 02:02:59.147946 Are-we-friendly question received 02:02:59.147971 Wrote request (93 bytes) input to log/2/server.input 02:02:59.147988 Identifying ourselves as friends 02:02:59.148055 Response sent (56 bytes) and written to log/2/server.response 02:02:59.148066 special request received, no persistency 02:02:59.148075 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1089 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1089 ==132142== ==132142== Process terminating with default action of signal 4 (SIGILL) ==132142== Illegal opcode at address 0x10B08D ==132142== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132142== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1089 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1091 ../src/curl -q --output log/9/curl1091.out --include --trace-ascii log/9/trace1091 --trace-config all --trace-time "ftp://127.0.0.1:35301/%2ftmp/moo/1091;type=i" --use-ascii > log/9/stdout1091 2> log/9/stderr1091 test 1090...[HTTP GET --write-out with redirected fetch and chunked reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1090 ../src/curl -q --include --trace-ascii log/1/trace1090 --trace-config all --trace-time http://127.0.0.1:34215/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/1/stdout1090 2> log/1/stderr1090 1090: stdout FAILED: --- log/1/check-expected 2024-12-15 02:02:59.813216718 +0000 +++ log/1/check-generated 2024-12-15 02:02:59.813216718 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./10900001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Transfer-Encoding: chunked[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -2[LF] -1[LF] -15[LF] -http://127.0.0.1:34215/10900001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/1/ dir after test 1090 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./10900001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Transfer-Encoding: chunked[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] 2[LF] 1[LF] 15[LF] http://127.0.0.1:34215/10900001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file http_server.log 02:02:59.311348 ====> Client connect 02:02:59.311382 accept_connection 3 returned 4 02:02:59.311401 accept_connection 3 returned 0 02:02:59.311416 Read 93 bytes 02:02:59.311427 Process 93 bytes request 02:02:59.311443 Got request: GET /verifiedserver HTTP/1.1 02:02:59.311453 Are-we-friendly question received 02:02:59.311477 Wrote request (93 bytes) input to log/1/server.input 02:02:59.311496 Identifying ourselves as friends 02:02:59.311563 Response sent (56 bytes) and written to log/1/server.response 02:02:59.311576 special request received, no persistency 02:02:59.311586 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1090 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1090 ==132291== ==132291== Process terminating with default action of signal 4 (SIGILL) ==132291== Illegal opcode at address 0x10B08D ==132291== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132291== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1090 test 1092...[FTP with type=i over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1092 ../src/curl -q --output log/10/curl1092.out --include --trace-ascii log/10/trace1092 --trace-config all --trace-time "ftp://127.0.0.1:42929/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:42929 > log/10/stdout1092 2> log/10/stderr1092 1092: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1092 === Start of file http_server.log 02:02:59.322742 ====> Client connect 02:02:59.322785 accept_connection 3 returned 4 02:02:59.322802 accept_connection 3 returned 0 02:02:59.322816 Read 93 bytes 02:02:59.322826 Process 93 bytes request 02:02:59.322840 Got request: GET /verifiedserver HTTP/1.1 02:02:59.322850 Are-we-friendly question received 02:02:59.322873 Wrote request (93 bytes) input to log/10/server.input 02:02:59.322890 Identifying ourselves as friends 02:02:59.322956 Response sent (56 bytes) and written to log/10/server.response 02:02:59.322968 special request received, no persistency 02:02:59.322977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1092 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1092 ==132297== ==132297== Process terminating with default action of signal 4 (SIGILL) ==132297== Illegal opcode at address 0x10B08D ==132297== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132297== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1092 test 1091...[FTP URL with type=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1091 ../src/curl -q --output log/9/curl1091.out --include --trace-ascii log/9/trace1091 --trace-config all --trace-time "ftp://127.0.0.1:35301/%2ftmp/moo/1091;type=i" --use-ascii > log/9/stdout1091 2> log/9/stderr1091 1091: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1091 === Start of file ftp_server.log 02:02:59.112832 ====> Client connect 02:02:59.112981 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:59.113249 < "USER anonymous" 02:02:59.113281 > "331 We are happy you popped in![CR][LF]" 02:02:59.113450 < "PASS ftp@example.com" 02:02:59.113476 > "230 Welcome you silly person[CR][LF]" 02:02:59.113633 < "PWD" 02:02:59.113669 > "257 "/" is current directory[CR][LF]" 02:02:59.113827 < "EPSV" 02:02:59.113849 ====> Passive DATA channel requested by client 02:02:59.113862 DATA sockfilt for passive data channel starting... 02:02:59.116189 DATA sockfilt for passive data channel started (pid 132284) 02:02:59.116300 DATA sockfilt for passive data channel listens on port 36289 02:02:59.116334 > "229 Entering Passive Mode (|||36289|)[LF]" 02:02:59.116351 Client has been notified that DATA conn will be accepted on port 36289 02:02:59.116579 Client connects to port 36289 02:02:59.116603 ====> Client established passive DATA connection on port 36289 02:02:59.116661 < "TYPE I" 02:02:59.116684 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:59.116841 < "SIZE verifiedserver" 02:02:59.116881 > "213 17[CR][LF]" 02:02:59.117064 < "RETR verifiedserver" 02:02:59.117099 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:59.117173 =====> Closing passive DATA connection... 02:02:59.117189 Server disconnects passive DATA connection 02:02:59.117379 Server disconnected passive DATA connection 02:02:59.117411 DATA sockfilt for passive data channel qCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1093 ../src/curl -q --output log/4/curl1093.out --include --trace-ascii log/4/trace1093 --trace-config all --trace-time "tftp://127.0.0.1:37300//1093;mode=i" --use-ascii > log/4/stdout1093 2> log/4/stderr1093 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1094 ../src/curl -q --output log/6/curl1094.out --include --trace-ascii log/6/trace1094 --trace-config all --trace-time "tftp://127.0.0.1:52569//1094;mode=netascii" > log/6/stdout1094 2> log/6/stderr1094 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1095 ../src/curl -q --output log/11/curl1095.out --include --trace-ascii log/11/trace1095 --trace-config all --trace-time http://127.0.0.1:44137/1095 -u testuser:testpass --digest > log/11/stdout1095 2> log/11/stderr1095 uits (pid 132284) 02:02:59.117593 DATA sockfilt for passive data channel quit (pid 132284) 02:02:59.117618 =====> Closed passive DATA connection 02:02:59.117644 > "226 File transfer complete[CR][LF]" 02:02:59.168065 < "QUIT" 02:02:59.168120 > "221 bye bye baby[CR][LF]" 02:02:59.168681 MAIN sockfilt said DISC 02:02:59.168717 ====> Client disconnected 02:02:59.168794 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:59.312869 ====> Client connect 02:02:59.313128 Received DATA (on stdin) 02:02:59.313143 > 160 bytes data, server => client 02:02:59.313155 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:59.313167 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:59.313178 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:59.313250 < 16 bytes data, client => server 02:02:59.313263 'USER anonymous\r\n' 02:02:59.313422 Received DATA (on stdin) 02:02:59.313435 > 33 bytes data, server => client 02:02:59.313446 '331 We are happy you popped in!\r\n' 02:02:59.313501 < 22 bytes data, client => server 02:02:59.313515 'PASS ftp@example.com\r\n' 02:02:59.313617 Received DATA (on stdin) 02:02:59.313629 > 30 bytes data, server => client 02:02:59.313640 '230 Welcome you silly person\r\n' 02:02:59.313691 < 5 bytes data, client => server 02:02:59.313703 'PWD\r\n' 02:02:59.313807 Received DATA (on stdin) 02:02:59.313819 > 30 bytes data, server => client 02:02:59.313830 '257 "/" is current directory\r\n' 02:02:59.313888 < 6 bytes data, client => server 02:02:59.313900 'EPSV\r\n' 02:02:59.316495 Received DATA (on stdin) 02:02:59.316509 > 38 bytes data, server => client 02:02:59.316521 '229 Entering Passive Mode (|||36289|)\n' 02:02:59.316644 < 8 bytes data, client => server 02:02:59.316658 'TYPE I\r\n' 02:02:59.316822 Received DATA (on stdin) 02:02:59.316833 > 33 bytes data, server => client 02:02:59.316843 '200 I modify TYPE as you wanted\r\n' 02:02:59.316891 < 21 bytes data, client => server 02:02:59.316902 'SIZE verifiedserver\r\n' 02:02:59.317026 Received DATA (on stdin) 02:02:59.317040 > 8 bytes data, server => client 02:02:59.317051 '213 17\r\n' 02:02:59.317113 < 21 bytes data, client => server 02:02:59.317128 'RETR verifiedserver\r\n' 02:02:59.317333 Received DATA (on stdin) 02:02:59.317347 > 29 bytes data, server => client 02:02:59.317359 '150 Binary junk (17 bytes).\r\n' 02:02:59.317784 Received DATA (on stdin) 02:02:59.317802 > 28 bytes data, server => client 02:02:59.317813 '226 File transfer complete\r\n' 02:02:59.365174 < 6 bytes data, client => server 02:02:59.365206 'QUIT\r\n' 02:02:59.368270 Received DATA (on stdin) 02:02:59.368288 > 18 bytes data, server => client 02:02:59.368298 '221 bye bye baby\r\n' 02:02:59.368762 ====> Client disconnect 02:02:59.369156 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:59.315939 Running IPv4 version 02:02:59.315991 Listening on port 36289 02:02:59.316026 Wrote pid 132284 to log/9/server/ftp_sockdata.pid 02:02:59.316044 Received PING (on stdin) 02:02:59.316356 Received PORT (on stdin) 02:02:59.316675 ====> Client connect 02:02:59.317250 Received DATA (on stdin) 02:02:59.317267 > 17 bytes data, server => client 02:02:59.317279 'WE ROOLZ: 80452\r\n' 02:02:59.317390 Received DISC (on stdin) 02:02:59.317406 ====> Client forcibly disconnected 02:02:59.317560 Received QUIT (on stdin) 02:02:59.317573 quits 02:02:59.317617 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1091 === End of file server.cmd === Start of file valgrind1091 ==132354== ==132354== Process terminating with default action of signal 4 (SIGILL) ==132354== Illegal opcode at address 0x10B08D ==132354== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132354== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1091 test 1093...[TFTP retrieve with mode=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1093 ../src/curl -q --output log/4/curl1093.out --include --trace-ascii log/4/trace1093 --trace-config all --trace-time "tftp://127.0.0.1:37300//1093;mode=i" --use-ascii > log/4/stdout1093 2> log/4/stderr1093 1093: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1093 === Start of file server.cmd Testnum 1093 === End of file server.cmd === Start of file tftp_server.log 02:02:59.577489 trying to get file: verifiedserver mode 1 02:02:59.577515 Are-we-friendly question received 02:02:59.577529 write 02:02:59.577553 read 02:02:59.578639 read: 4 02:02:59.578771 end of one transfer === End of file tftp_server.log === Start of file valgrind1093 ==132476== ==132476== Process terminating with default action of signal 4 (SIGILL) ==132476== Illegal opcode at address 0x10B08D ==132476== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132476== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1093 test 1094...[TFTP retrieve with mode=netascii] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1094 ../src/curl -q --output log/6/curl1094.out --include --trace-ascii log/6/trace1094 --trace-config all --trace-time "tftp://127.0.0.1:52569//1094;mode=netascii" > log/6/stdout1094 2> log/6/stderr1094 1094: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1094 === Start of file server.cmd Testnum 1094 === End of file server.cmd === Start of file tftp_server.log 02:02:59.600112 trying to get file: verifiedserver mode 1 02:02:59.600139 Are-we-friendly question received 02:02:59.600153 write 02:02:59.600176 read 02:02:59.600790 read: 4 02:02:59.600840 end of one transfer === End of file tftp_server.log === Start of file valgrind1094 ==132517== ==132517== Process terminating with default action of signal 4 (SIGILL) ==132517== Illegal opcode at address 0x10B08D ==132517== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132517== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1094 test 1095...[HTTP with Digest and realm with quoted quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1095 ../src/curl -q --output log/11/curl1095.out --include --trace-ascii log/11/trace1095 --trace-config all --trace-time http://127.0.0.1:44137/1095 -u testuser:testpass --digest > log/11/stdout1095 2> log/11/stderr1095 1095: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1095 === Start of file http_server.log 02:02:59.612993 ====> Client connect 02:02:59.613023 accept_connection 3 returned 4 02:02:59.613039 accept_connection 3 returned 0 02:02:59.613054 Read 93 bytes 02:02:59.613065 Process 93 bytes request 02:02:59.613078 Got request: GET /verifiedserver HTTP/1.1 02:02:59.613089 Are-we-friendly question received 02:02:59.613114 Wrote request (93 bytes) input to log/11/server.input 02:02:59.613133 Identifying ourselves as friends 02:02:59.613195 Response sent (56 bytes) and written to log/11/server.response 02:02:59.613206 special request received, no persistency 02:02:59.613216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1096 ../src/curl -q --output log/8/curl1096.out --include --trace-ascii log/8/trace1096 --trace-config all --trace-time ftp://127.0.0.1:39101/dir/1096 ftp://127.0.0.1:39101/dir/1096 > log/8/stdout1096 2> log/8/stderr1096 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1098 ../src/curl -q --include --trace-ascii log/7/trace1098 --trace-config all --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:43753 > log/7/stdout1098 2> log/7/stderr1098 { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1095 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1095 ==132557== ==132557== Process terminating with default action of signal 4 (SIGILL) ==132557== Illegal opcode at address 0x10B08D ==132557== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132557== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1095 test 1096...[Two FTP downloads, with failed RETR but reused control connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1096 ../src/curl -q --output log/8/curl1096.out --include --trace-ascii log/8/trace1096 --trace-config all --trace-time ftp://127.0.0.1:39101/dir/1096 ftp://127.0.0.1:39101/dir/1096 > log/8/stdout1096 2> log/8/stderr1096 1096: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1096 === Start of file ftp_server.log 02:02:59.429930 ====> Client connect 02:02:59.430071 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:59.430337 < "USER anonymous" 02:02:59.430369 > "331 We are happy you popped in![CR][LF]" 02:02:59.430518 < "PASS ftp@example.com" 02:02:59.430541 > "230 Welcome you silly person[CR][LF]" 02:02:59.430674 < "PWD" 02:02:59.430700 > "257 "/" is current directory[CR][LF]" 02:02:59.430838 < "EPSV" 02:02:59.430860 ====> Passive DATA channel requested by client 02:02:59.430872 DATA sockfilt for passive data channel starting... 02:02:59.432340 DATA sockfilt for passive data channel started (pid 132538) 02:02:59.432442 DATA sockfilt for passive data channel listens on port 34573 02:02:59.432481 > "229 Entering Passive Mode (|||34573|)[LF]" 02:02:59.432499 Client has been notified that DATA conn will be accepted on port 34573 02:02:59.432761 Client connects to port 34573 02:02:59.432789 ====> Client established passive DATA connection on port 34573 02:02:59.432854 < "TYPE I" 02:02:59.432880 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:59.433035 < "SIZE verifiedserver" 02:02:59.433071 > "213 17[CR][LF]" 02:02:59.433215 < "RETR verifiedserver" 02:02:59.433246 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:59.433323 =====> Closing passive DATA connection... 02:02:59.433339 Server disconnects passive DATA connection 02:02:59.433577 Server disconnected passive DATA connection 02:02:59.433604 DATA sockfilt for passive data channel quits (pid 132538) 02:02:59.433805 DATA sockfilt for passive data channel quit (pid 132538) 02:02:59.433826 =====> Closed passive DATA connection 02:02:59.433851 > "226 File transfer complete[CR][LF]" 02:02:59.475373 < "QUIT" 02:02:59.475443 > "221 bye bye baby[CR][LF]" 02:02:59.478242 MAIN sockfilt said DISC 02:02:59.478301 ====> Client disconnected 02:02:59.478852 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:59.629969 ====> Client connect 02:02:59.630218 Received DATA (on stdin) 02:02:59.630232 > 160 bytes data, server => client 02:02:59.630244 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:59.630256 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:59.630266 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:59.630348 < 16 bytes data, client => server 02:02:59.630360 'USER anonymous\r\n' 02:02:59.630508 Received DATA (on stdin) 02:02:59.630519 > 33 bytes data, server => client 02:02:59.630530 '331 We are happy you popped in!\r\n' 02:02:59.630578 < 22 bytes data, client => server 02:02:59.630589 'PASS ftp@example.com\r\n' 02:02:59.630678 Received DATA (on stdin) 02:02:59.630689 > 30 bytes data, server => client 02:02:59.630699 '230 Welcome you silly person\r\n' 02:02:59.630743 < 5 bytes data, client => server 02:02:59.630753 'PWD\r\n' 02:02:59.630835 Received DATA (on stdin) 02:02:59.630845 > 30 bytes data, server => client 02:02:59.630856 '257 "/" is current directory\r\n' 02:02:59.630907 < 6 bytes data, client => server 02:02:59.630917 'EPSV\r\n' 02:02:59.632645 Received DATA (on stdin) 02:02:59.632660 > 38 bytes data, server => client 02:02:59.632672 '229 Entering Passive Mode (|||34573|)\n' 02:02:59.632821 < 8 bytes data, client => server 02:02:59.632838 'TYPE I\r\n' 02:02:59.633020 Received DATA (on stdin) 02:02:59.633032 > 33 bytes data, server => client 02:02:59.633043 '200 I modify TYPE as you wanted\r\n' 02:02:59.633095 < 21 bytes data, client => server 02:02:59.633107 'SIZE verifiedserver\r\n' 02:02:59.633209 Received DATA (on stdin) 02:02:59.633221 > 8 bytes data, server => client 02:02:59.633231 '213 17\r\n' 02:02:59.633279 < 21 bytes data, client => server 02:02:59.633290 'RETR verifiedserver\r\n' 02:02:59.633579 Received DATA (on stdin) 02:02:59.633592 > 29 bytes data, server => client 02:02:59.633603 '150 Binary junk (17 bytes).\r\n' 02:02:59.633991 Received DATA (on stdin) 02:02:59.634003 > 28 bytes data, server => client 02:02:59.634014 '226 File transfer complete\r\n' 02:02:59.675299 < 6 bytes data, client => server 02:02:59.675330 'QUIT\r\n' 02:02:59.675590 Received DATA (on stdin) 02:02:59.675605 > 18 bytes data, server => client 02:02:59.675616 '221 bye bye baby\r\n' 02:02:59.678302 ====> Client disconnect 02:02:59.678655 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:59.632307 Running IPv4 version 02:02:59.632364 Listening on port 34573 02:02:59.632404 Wrote pid 132538 to log/8/server/ftp_sockdata.pid 02:02:59.632423 Received PING (on stdin) 02:02:59.632502 Received PORT (on stdin) 02:02:59.632857 ====> Client connect 02:02:59.633477 Received DATA (on stdin) 02:02:59.633493 > 17 bytes data, server => client 02:02:59.633504 'WE ROOLZ: 80441\r\n' 02:02:59.633539 Received DISC (on stdin) 02:02:59.633552 ====> Client forcibly disconnected 02:02:59.633750 Received QUIT (on stdin) 02:02:59.633762 quits 02:02:59.633818 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 no such file REPLY SIZE 500 command not understood Testnum 1096 === End of file server.cmd === Start of file valgrind1096 ==132644== ==132644== Process terminating with default action of signal 4 (SIGILL) ==132644== Illegal opcode at address 0x10B08D ==132644== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132644== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1096 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1101 ../src/curl -q --output log/3/curl1101.out --include --trace-ascii log/3/trace1101 --trace-config all --trace-time http://user:secret@127.0.0.1:34527/gimme/1101 > log/3/stdout1101 2> log/3/stderr1101 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1099 ../src/curl -q --include --trace-ascii log/12/trace1099 --trace-config all --trace-time tftp://127.0.0.1:59336/an/invalid-file tftp://127.0.0.1:59336//1099 > log/12/stdout1099 2> log/12/stderr1099 test 1098...[FTP RETR twice over proxy confirming persistent connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1098 ../src/curl -q --include --trace-ascii log/7/trace1098 --trace-config all --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:43753 > log/7/stdout1098 2> log/7/stderr1098 1098: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:00.229890810 +0000 +++ log/7/check-generated 2024-12-15 02:03:00.229890810 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -hello[LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -hello[LF] == Contents of files in the log/7/ dir after test 1098 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 6[CR][LF] [CR][LF] hello[LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 6[CR][LF] [CR][LF] hello[LF] === End of file check-expected === Start of file http_server.log 02:02:59.732101 ====> Client connect 02:02:59.732135 accept_connection 3 returned 4 02:02:59.732151 accept_connection 3 returned 0 02:02:59.732254 Read 93 bytes 02:02:59.732269 Process 93 bytes request 02:02:59.732286 Got request: GET /verifiedserver HTTP/1.1 02:02:59.732296 Are-we-friendly question received 02:02:59.732322 Wrote request (93 bytes) input to log/7/server.input 02:02:59.732376 Identifying ourselves as friends 02:02:59.732553 Response sent (56 bytes) and written to log/7/server.response 02:02:59.732567 special request received, no persistency 02:02:59.732581 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1098 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1098 ==132699== ==132699== Process terminating with default action of signal 4 (SIGILL) ==132699== Illegal opcode at address 0x10B08D ==132699== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132699== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1098 setenv no_proxy = 127.0.0.1 setenv http_proxy = http://non-existing-host.haxx.se:3128/ test 1101...[NO_PROXY test, with user name in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1101 ../src/curl -q --output log/3/curl1101.out --include --trace-ascii log/3/trace1101 --trace-config all --trace-time http://user:secret@127.0.0.1:34527/gimme/1101 > log/3/stdout1101 2> log/3/stderr1101 1101: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1101 === Start of file http_server.log 02:02:59.843877 ====> Client connect 02:02:59.843912 accept_connection 3 returned 4 02:02:59.843929 accept_connection 3 returned 0 02:02:59.843943 Read 93 bytes 02:02:59.843953 Process 93 bytes request 02:02:59.843968 Got request: GET /verifiedserver HTTP/1.1 02:02:59.843978 Are-we-friendly question received 02:02:59.844001 Wrote request (93 bytes) input to log/3/server.input 02:02:59.844019 Identifying ourselves as friends 02:02:59.844089 Response sent (56 bytes) and written to log/3/server.response 02:02:59.844100 special request received, no persistency 02:02:59.844109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1101 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1101 ==132848== ==132848== Process terminating with default action of signal 4 (SIGILL) ==132848== Illegal opcode at address 0x10B08D ==132848== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132848== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1101 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1083 ../src/curl -q --output log/5/curl1083.out --include --trace-ascii log/5/trace1083 --trace-config all --trace-time -g "http://[::1]:39535/1083" --interface ip6-localhost > log/5/stdout1083 2> log/5/stderr1083 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1102 ../src/curl -q --output log/2/curl1102.out --include --trace-ascii log/2/trace1102 --trace-config all --trace-time ftp://127.0.0.1:36595/1102 > log/2/stdout1102 2> log/2/stderr1102 test 1099...[TFTP get first a non-existing file then an existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1099 ../src/curl -q --include --trace-ascii log/12/trace1099 --trace-config all --trace-time tftp://127.0.0.1:59336/an/invalid-file tftp://127.0.0.1:59336//1099 > log/12/stdout1099 2> log/12/stderr1099 1099: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:00.366559912 +0000 +++ log/12/check-generated 2024-12-15 02:03:00.366559912 +0000 @@ -1 +0,0 @@ -data for 1099[LF] == Contents of files in the log/12/ dir after test 1099 === Start of file check-expected data for 1099[LF] === End of file check-expected === Start of file server.cmd Testnum 1099 === End of file server.cmd === Start of file tftp_server.log 02:02:59.829502 trying to get file: verifiedserver mode 1 02:02:59.829530 Are-we-friendly question received 02:02:59.829543 write 02:02:59.829567 read 02:02:59.830104 read: 4 02:02:59.830145 end of one transfer === End of file tftp_server.log === Start of file valgrind1099 ==132823== ==132823== Process terminating with default action of signal 4 (SIGILL) ==132823== Illegal opcode at address 0x10B08D ==132823== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132823== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1099 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_ipv6_server.pid" --logfile "log/5/http_ipv6_server.log" --logdir "log/5" --portfile log/5/server/http_ipv6_server.port --config log/5/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/5/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:39535/verifiedserver" 2>log/5/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 131770 port 39535 * pid http-ipv6 => 131770 131770 prechecked /usr/bin/perl -e "if ('[::1]' ne '[::1]') {print 'Test requires default test client host address';} else {exec './server/resolve --ipv6 ip6-localhost'; print 'Cannot run precheck resolve';}" test 1083...[HTTP-IPv6 GET with ip6-localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1083 ../src/curl -q --output log/5/curl1083.out --include --trace-ascii log/5/trace1083 --trace-config all --trace-time -g "http://[::1]:39535/1083" --interface ip6-localhost > log/5/stdout1083 2> log/5/stderr1083 1083: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1083 === Start of file http_ipv6_server.log 02:02:58.806346 Running HTTP IPv6 version on port 39535 02:02:58.806421 Wrote pid 131770 to log/5/server/http_ipv6_server.pid 02:02:58.806891 Wrote port 39535 to log/5/server/http_ipv6_server.port 02:02:59.825588 ====> Client connect 02:02:59.825607 accept_connection 3 returned 4 02:02:59.825622 accept_connection 3 returned 0 02:02:59.825635 Read 89 bytes 02:02:59.825646 Process 89 bytes request 02:02:59.825666 Got request: GET /verifiedserver HTTP/1.1 02:02:59.825676 Are-we-friendly question received 02:02:59.825703 Wrote request (89 bytes) input to log/5/server.input 02:02:59.825723 Identifying ourselves as friends 02:02:59.825791 Response sent (57 bytes) and written to log/5/server.response 02:02:59.825911 special request received, no persistency 02:02:59.825922 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:39535... * Connected to ::1 (::1) port 39535 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:39535 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 131770 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1083 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 131770 === End of file server.response === Start of file valgrind1083 ==132831== ==132831== Process terminating with default action of signal 4 (SIGILL) ==132831== Illegal opcode at address 0x10B08D ==132831== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132831== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1083 test 1102...[FTP OS/400 server name format check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1102 ../src/curl -q --output log/2/curl1102.out --include --trace-ascii log/2/trace1102 --trace-config all --trace-time ftp://127.0.0.1:36595/1102 > log/2/stdout1102 2> log/2/stderr1102 1102: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1102 === Start of file ftp_server.log 02:02:59.670339 ====> Client connect 02:02:59.670495 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:59.670813 < "USER anonymous" 02:02:59.670851 > "331 We are happy you popped in![CR][LF]" 02:02:59.671423 < "PASS ftp@example.com" 02:02:59.671456 > "230 Welcome you silly person[CR][LF]" 02:02:59.671624 < "PWD" 02:02:59.671661 > "257 "/" is current directory[CR][LF]" 02:02:59.671871 < "EPSV" 02:02:59.671900 ====> Passive DATA channel requested by client 02:02:59.671914 DATA sockfilt for passive data channel starting... 02:02:59.673366 DATA sockfilt for passive data channel started (pid 132853) 02:02:59.673480 DATA sockfilt for passive data channel listens on port 46847 02:02:59.673525 > "229 Entering Passive Mode (|||46847|)[LF]" 02:02:59.673546 Client has been notified that DATA conn will be accepted on port 46847 02:02:59.673791 Client connects to port 46847 02:02:59.673821 ====> Client established passive DATA connection on port 46847 02:02:59.673888 < "TYPE I" 02:02:59.673918 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:59.674082 < "SIZE verifiedserver" 02:02:59.674119 > "213 17[CR][LF]" 02:02:59.674289 < "RETR verifiedserver" 02:02:59.674321 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:59.674401 =====> Closing passive DATA connection... 02:02:59.674420 Server disconnects passive DATA connection 02:02:59.674667 Server disconnected passive DATA connection 02:02:59.674698 DATA sockfilt for passive data channel quits (pid 132853) 02:02:59.674880 DATA sockfilt for passive data channel quit (pid 132853) 02:02:59.674903 =====> Closed passive DATA connection 02:02:59.674928 > "226 File transfer complete[CR][LF]" 02:02:59.715390 < "QUIT" 02:02:59.715440 > "221 bye bye baby[CR][LF]" 02:02:59.716186 MAIN sockfilt said DISC 02:02:59.716215 ====> Client disconnected 02:02:59.716278 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:59.870363 ====> Client connect 02:02:59.870650 Received DATA (on stdin) 02:02:59.870667 > 160 bytes data, server => client 02:02:59.870680 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:59.870692 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:59.870703 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:59.870799 < 16 bytes data, client => server 02:02:59.870815 'USER anonymous\r\n' 02:02:59.871168 Received DATA (on stdin) 02:02:59.871188 > 33 bytes data, server => client 02:02:59.871200 '331 We are happy you popped in!\r\n' 02:02:59.871451 < 22 bytes data, client => server 02:02:59.871470 'PASS ftp@example.com\r\n' 02:02:59.871596 ReceivedCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1104 ../src/curl -q --output log/10/curl1104.out --include --trace-ascii log/10/trace1104 --trace-config all --trace-time http://127.0.0.1:42929/want/1104 -L -x 127.0.0.1:42929 -c log/10/cookies1104.jar > log/10/stdout1104 2> log/10/stderr1104 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1105 ../src/curl -q --output log/9/curl1105.out --include --trace-ascii log/9/trace1105 --trace-config all --trace-time "http://127.0.0.1:38509/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/9/cookie1105.txt -d "userid=myname&password=mypassword" > log/9/stdout1105 2> log/9/stderr1105 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1103 ../src/curl -q --output log/1/curl1103.out --include --trace-ascii log/1/trace1103 --trace-config all --trace-time ftp://127.0.0.1:44405/1103 > log/1/stdout1103 2> log/1/stderr1103 DATA (on stdin) 02:02:59.871610 > 30 bytes data, server => client 02:02:59.871621 '230 Welcome you silly person\r\n' 02:02:59.871675 < 5 bytes data, client => server 02:02:59.871688 'PWD\r\n' 02:02:59.871802 Received DATA (on stdin) 02:02:59.871826 > 30 bytes data, server => client 02:02:59.871837 '257 "/" is current directory\r\n' 02:02:59.871918 < 6 bytes data, client => server 02:02:59.871933 'EPSV\r\n' 02:02:59.873692 Received DATA (on stdin) 02:02:59.873706 > 38 bytes data, server => client 02:02:59.873719 '229 Entering Passive Mode (|||46847|)\n' 02:02:59.873845 < 8 bytes data, client => server 02:02:59.873863 'TYPE I\r\n' 02:02:59.874058 Received DATA (on stdin) 02:02:59.874071 > 33 bytes data, server => client 02:02:59.874082 '200 I modify TYPE as you wanted\r\n' 02:02:59.874134 < 21 bytes data, client => server 02:02:59.874148 'SIZE verifiedserver\r\n' 02:02:59.874260 Received DATA (on stdin) 02:02:59.874274 > 8 bytes data, server => client 02:02:59.874285 '213 17\r\n' 02:02:59.874339 < 21 bytes data, client => server 02:02:59.874353 'RETR verifiedserver\r\n' 02:02:59.874665 Received DATA (on stdin) 02:02:59.874679 > 29 bytes data, server => client 02:02:59.874690 '150 Binary junk (17 bytes).\r\n' 02:02:59.875070 Received DATA (on stdin) 02:02:59.875083 > 28 bytes data, server => client 02:02:59.875094 '226 File transfer complete\r\n' 02:02:59.915350 < 6 bytes data, client => server 02:02:59.915377 'QUIT\r\n' 02:02:59.915582 Received DATA (on stdin) 02:02:59.915594 > 18 bytes data, server => client 02:02:59.915605 '221 bye bye baby\r\n' 02:02:59.916277 ====> Client disconnect 02:02:59.916415 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:59.873326 Running IPv4 version 02:02:59.873385 Listening on port 46847 02:02:59.873424 Wrote pid 132853 to log/2/server/ftp_sockdata.pid 02:02:59.873444 Received PING (on stdin) 02:02:59.873535 Received PORT (on stdin) 02:02:59.873887 ====> Client connect 02:02:59.874563 Received DATA (on stdin) 02:02:59.874578 > 17 bytes data, server => client 02:02:59.874589 'WE ROOLZ: 80457\r\n' 02:02:59.874622 Received DISC (on stdin) 02:02:59.874637 ====> Client forcibly disconnected 02:02:59.874845 Received QUIT (on stdin) 02:02:59.874858 quits 02:02:59.874911 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "QGPL" is the current library REPLY SYST 215 OS/400 runs this server REPLY SITE 250 Name format set to 1 Testnum 1102 === End of file server.cmd === Start of file valgrind1102 ==132972== ==132972== Process terminating with default action of signal 4 (SIGILL) ==132972== Illegal opcode at address 0x10B08D ==132972== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==132972== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1102 test 1104...[HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1104 ../src/curl -q --output log/10/curl1104.out --include --trace-ascii log/10/trace1104 --trace-config all --trace-time http://127.0.0.1:42929/want/1104 -L -x 127.0.0.1:42929 -c log/10/cookies1104.jar > log/10/stdout1104 2> log/10/stderr1104 1104: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1104 === Start of file http_server.log 02:03:00.081858 ====> Client connect 02:03:00.081898 accept_connection 3 returned 4 02:03:00.081917 accept_connection 3 returned 0 02:03:00.081934 Read 93 bytes 02:03:00.081946 Process 93 bytes request 02:03:00.081962 Got request: GET /verifiedserver HTTP/1.1 02:03:00.081971 Are-we-friendly question received 02:03:00.081995 Wrote request (93 bytes) input to log/10/server.input 02:03:00.082013 Identifying ourselves as friends 02:03:00.082087 Response sent (56 bytes) and written to log/10/server.response 02:03:00.082100 special request received, no persistency 02:03:00.082110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1104 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1104 ==133097== ==133097== Process terminating with default action of signal 4 (SIGILL) ==133097== Illegal opcode at address 0x10B08D ==133097== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133097== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1104 test 1105...[HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1105 ../src/curl -q --output log/9/curl1105.out --include --trace-ascii log/9/trace1105 --trace-config all --trace-time "http://127.0.0.1:38509/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/9/cookie1105.txt -d "userid=myname&password=mypassword" > log/9/stdout1105 2> log/9/stderr1105 1105: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1105 === Start of file http_server.log 02:03:00.070345 ====> Client connect 02:03:00.070376 accept_connection 3 returned 4 02:03:00.070393 accept_connection 3 returned 0 02:03:00.070406 Read 93 bytes 02:03:00.070416 Process 93 bytes request 02:03:00.070430 Got request: GET /verifiedserver HTTP/1.1 02:03:00.070439 Are-we-friendly question received 02:03:00.070461 Wrote request (93 bytes) input to log/9/server.input 02:03:00.070477 Identifying ourselves as friends 02:03:00.070539 Response sent (56 bytes) and written to log/9/server.response 02:03:00.070550 special request received, no persistency 02:03:00.070560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1105 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1105 ==133075== ==133075== Process terminating with default action of signal 4 (SIGILL) ==133075== Illegal opcode at address 0x10B08D ==133075== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133075== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1105 test 1103...[FTP non-OS/400 server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1103 ../src/curl -q --output log/1/curl1103.out --include --trace-ascii log/1/trace1103 --trace-config all --trace-time ftp://127.0.0.1:44405/1103 > log/1/stdout1103 2> log/1/stderr1103 1103: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitcCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1106 ../src/curl -q --output log/4/curl1106.out --include --trace-ascii log/4/trace1106 --trace-config all --trace-time ftp://127.0.0.1:23456/1106 > log/4/stdout1106 2> log/4/stderr1106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1108 ../src/curl -q --output log/11/curl1108.out --include --trace-ascii log/11/trace1108 --trace-config all --trace-time ftp://127.0.0.1:45687/1108 --ftp-pret > log/11/stdout1108 2> log/11/stderr1108 h? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1103 === Start of file ftp_server.log 02:02:59.860127 ====> Client connect 02:02:59.860276 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:02:59.862826 < "USER anonymous" 02:02:59.862862 > "331 We are happy you popped in![CR][LF]" 02:02:59.863030 < "PASS ftp@example.com" 02:02:59.863056 > "230 Welcome you silly person[CR][LF]" 02:02:59.863209 < "PWD" 02:02:59.863240 > "257 "/" is current directory[CR][LF]" 02:02:59.863382 < "EPSV" 02:02:59.863404 ====> Passive DATA channel requested by client 02:02:59.863416 DATA sockfilt for passive data channel starting... 02:02:59.865180 DATA sockfilt for passive data channel started (pid 133065) 02:02:59.865284 DATA sockfilt for passive data channel listens on port 33129 02:02:59.865320 > "229 Entering Passive Mode (|||33129|)[LF]" 02:02:59.865336 Client has been notified that DATA conn will be accepted on port 33129 02:02:59.865586 Client connects to port 33129 02:02:59.865614 ====> Client established passive DATA connection on port 33129 02:02:59.865674 < "TYPE I" 02:02:59.865698 > "200 I modify TYPE as you wanted[CR][LF]" 02:02:59.865849 < "SIZE verifiedserver" 02:02:59.865884 > "213 17[CR][LF]" 02:02:59.866028 < "RETR verifiedserver" 02:02:59.866061 > "150 Binary junk (17 bytes).[CR][LF]" 02:02:59.866146 =====> Closing passive DATA connection... 02:02:59.866161 Server disconnects passive DATA connection 02:02:59.866407 Server disconnected passive DATA connection 02:02:59.866433 DATA sockfilt for passive data channel quits (pid 133065) 02:02:59.866617 DATA sockfilt for passive data channel quit (pid 133065) 02:02:59.866638 =====> Closed passive DATA connection 02:02:59.866663 > "226 File transfer complete[CR][LF]" 02:02:59.908770 < "QUIT" 02:02:59.908815 > "221 bye bye baby[CR][LF]" 02:02:59.909654 MAIN sockfilt said DISC 02:02:59.909682 ====> Client disconnected 02:02:59.909744 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:00.060156 ====> Client connect 02:03:00.060427 Received DATA (on stdin) 02:03:00.060443 > 160 bytes data, server => client 02:03:00.060456 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:00.060468 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:00.060479 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:00.062816 < 16 bytes data, client => server 02:03:00.062834 'USER anonymous\r\n' 02:03:00.063003 Received DATA (on stdin) 02:03:00.063015 > 33 bytes data, server => client 02:03:00.063027 '331 We are happy you popped in!\r\n' 02:03:00.063080 < 22 bytes data, client => server 02:03:00.063093 'PASS ftp@example.com\r\n' 02:03:00.063195 Received DATA (on stdin) 02:03:00.063207 > 30 bytes data, server => client 02:03:00.063217 '230 Welcome you silly person\r\n' 02:03:00.063270 < 5 bytes data, client => server 02:03:00.063281 'PWD\r\n' 02:03:00.063376 Received DATA (on stdin) 02:03:00.063387 > 30 bytes data, server => client 02:03:00.063397 '257 "/" is current directory\r\n' 02:03:00.063450 < 6 bytes data, client => server 02:03:00.063460 'EPSV\r\n' 02:03:00.065479 Received DATA (on stdin) 02:03:00.065493 > 38 bytes data, server => client 02:03:00.065505 '229 Entering Passive Mode (|||33129|)\n' 02:03:00.065648 < 8 bytes data, client => server 02:03:00.065663 'TYPE I\r\n' 02:03:00.065837 Received DATA (on stdin) 02:03:00.065849 > 33 bytes data, server => client 02:03:00.065860 '200 I modify TYPE as you wanted\r\n' 02:03:00.065909 < 21 bytes data, client => server 02:03:00.065920 'SIZE verifiedserver\r\n' 02:03:00.066021 Received DATA (on stdin) 02:03:00.066033 > 8 bytes data, server => client 02:03:00.066043 '213 17\r\n' 02:03:00.066090 < 21 bytes data, client => server 02:03:00.066101 'RETR verifiedserver\r\n' 02:03:00.066299 Received DATA (on stdin) 02:03:00.066311 > 29 bytes data, server => client 02:03:00.066322 '150 Binary junk (17 bytes).\r\n' 02:03:00.066803 Received DATA (on stdin) 02:03:00.066816 > 28 bytes data, server => client 02:03:00.066827 '226 File transfer complete\r\n' 02:03:00.108757 < 6 bytes data, client => server 02:03:00.108780 'QUIT\r\n' 02:03:00.108958 Received DATA (on stdin) 02:03:00.108969 > 18 bytes data, server => client 02:03:00.108980 '221 bye bye baby\r\n' 02:03:00.109748 ====> Client disconnect 02:03:00.109882 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:02:59.064760 Running IPv4 version 02:02:59.064814 Listening on port 33129 02:02:59.064852 Wrote pid 133065 to log/1/server/ftp_sockdata.pid 02:02:59.065262 Received PING (on stdin) 02:02:59.065340 Received PORT (on stdin) 02:02:59.065682 ====> Client connect 02:02:59.066369 Received DATA (on stdin) 02:02:59.066383 > 17 bytes data, server => client 02:02:59.066395 'WE ROOLZ: 88524\r\n' 02:02:59.066427 Received DISC (on stdin) 02:02:59.066440 ====> Client forcibly disconnected 02:02:59.066579 Received QUIT (on stdin) 02:02:59.066590 quits 02:02:59.066640 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "C:/somedir" is the current directory REPLY SYST 215 unknown-OS runs this server Testnum 1103 === End of file server.cmd === Start of file valgrind1103 ==133129== ==133129== Process terminating with default action of signal 4 (SIGILL) ==133129== Illegal opcode at address 0x10B08D ==133129== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133129== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1103 setenv ftp_proxy = http://127.0.0.1:36813/ test 1106...[FTP URL and with ftp_proxy environment variable set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1106 ../src/curl -q --output log/4/curl1106.out --include --trace-ascii log/4/trace1106 --trace-config all --trace-time ftp://127.0.0.1:23456/1106 > log/4/stdout1106 2> log/4/stderr1106 1106: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1106 === Start of file http_server.log 02:03:00.299566 ====> Client connect 02:03:00.299752 accept_connection 3 returned 4 02:03:00.299769 accept_connection 3 returned 0 02:03:00.299782 Read 93 bytes 02:03:00.299793 Process 93 bytes request 02:03:00.299807 Got request: GET /verifiedserver HTTP/1.1 02:03:00.299816 Are-we-friendly question received 02:03:00.299838 Wrote request (93 bytes) input to log/4/server.input 02:03:00.299855 Identifying ourselves as friends 02:03:00.299918 Response sent (56 bytes) and written to log/4/server.response 02:03:00.299928 special request received, no persistency 02:03:00.299937 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1106 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1106 ==133272== ==133272== Process terminating with default action of signal 4 (SIGILL) ==133272== Illegal opcode at address 0x10B08D ==133272== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133272== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1106 test 1108...[FTP RETR PASV with PRET not CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1107 ../src/curl -q --output log/6/curl1107.out --include --trace-ascii log/6/trace1107 --trace-config all --trace-time ftp://127.0.0.1:40433/1107 --ftp-pret > log/6/stdout1107 2> log/6/stderr1107 supported] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1108 ../src/curl -q --output log/11/curl1108.out --include --trace-ascii log/11/trace1108 --trace-config all --trace-time ftp://127.0.0.1:45687/1108 --ftp-pret > log/11/stdout1108 2> log/11/stderr1108 1108: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1108 === Start of file ftp_server.log 02:03:00.116478 ====> Client connect 02:03:00.116633 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:00.117343 < "USER anonymous" 02:03:00.117379 > "331 We are happy you popped in![CR][LF]" 02:03:00.118093 < "PASS ftp@example.com" 02:03:00.118123 > "230 Welcome you silly person[CR][LF]" 02:03:00.118288 < "PWD" 02:03:00.118320 > "257 "/" is current directory[CR][LF]" 02:03:00.118502 < "EPSV" 02:03:00.118529 ====> Passive DATA channel requested by client 02:03:00.118544 DATA sockfilt for passive data channel starting... 02:03:00.122951 DATA sockfilt for passive data channel started (pid 133280) 02:03:00.123059 DATA sockfilt for passive data channel listens on port 38323 02:03:00.123101 > "229 Entering Passive Mode (|||38323|)[LF]" 02:03:00.123120 Client has been notified that DATA conn will be accepted on port 38323 02:03:00.123385 Client connects to port 38323 02:03:00.123416 ====> Client established passive DATA connection on port 38323 02:03:00.123486 < "TYPE I" 02:03:00.123517 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:00.123691 < "SIZE verifiedserver" 02:03:00.123726 > "213 17[CR][LF]" 02:03:00.123885 < "RETR verifiedserver" 02:03:00.123921 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:00.123997 =====> Closing passive DATA connection... 02:03:00.124013 Server disconnects passive DATA connection 02:03:00.124249 Server disconnected passive DATA connection 02:03:00.124278 DATA sockfilt for passive data channel quits (pid 133280) 02:03:00.124469 DATA sockfilt for passive data channel quit (pid 133280) 02:03:00.124495 =====> Closed passive DATA connection 02:03:00.124523 > "226 File transfer complete[CR][LF]" 02:03:00.168913 < "QUIT" 02:03:00.168961 > "221 bye bye baby[CR][LF]" 02:03:00.169228 MAIN sockfilt said DISC 02:03:00.169344 ====> Client disconnected 02:03:00.169410 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:00.316509 ====> Client connect 02:03:00.316779 Received DATA (on stdin) 02:03:00.316793 > 160 bytes data, server => client 02:03:00.316805 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:00.316816 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:00.316827 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:00.317160 < 16 bytes data, client => server 02:03:00.317176 'USER anonymous\r\n' 02:03:00.317523 Received DATA (on stdin) 02:03:00.317536 > 33 bytes data, server => client 02:03:00.317548 '331 We are happy you popped in!\r\n' 02:03:00.317602 < 22 bytes data, client => server 02:03:00.317614 'PASS ftp@example.com\r\n' 02:03:00.318263 Received DATA (on stdin) 02:03:00.318276 > 30 bytes data, server => client 02:03:00.318288 '230 Welcome you silly person\r\n' 02:03:00.318343 < 5 bytes data, client => server 02:03:00.318357 'PWD\r\n' 02:03:00.318459 Received DATA (on stdin) 02:03:00.318470 > 30 bytes data, server => client 02:03:00.318491 '257 "/" is current directory\r\n' 02:03:00.318553 < 6 bytes data, client => server 02:03:00.318567 'EPSV\r\n' 02:03:00.323265 Received DATA (on stdin) 02:03:00.323279 > 38 bytes data, server => client 02:03:00.323291 '229 Entering Passive Mode (|||38323|)\n' 02:03:00.323441 < 8 bytes data, client => server 02:03:00.323459 'TYPE I\r\n' 02:03:00.323658 Received DATA (on stdin) 02:03:00.323672 > 33 bytes data, server => client 02:03:00.323683 '200 I modify TYPE as you wanted\r\n' 02:03:00.323743 < 21 bytes data, client => server 02:03:00.323758 'SIZE verifiedserver\r\n' 02:03:00.323867 Received DATA (on stdin) 02:03:00.323879 > 8 bytes data, server => client 02:03:00.323889 '213 17\r\n' 02:03:00.323940 < 21 bytes data, client => server 02:03:00.323954 'RETR verifiedserver\r\n' 02:03:00.324249 Received DATA (on stdin) 02:03:00.324263 > 29 bytes data, server => client 02:03:00.324275 '150 Binary junk (17 bytes).\r\n' 02:03:00.324665 Received DATA (on stdin) 02:03:00.324679 > 28 bytes data, server => client 02:03:00.324690 '226 File transfer complete\r\n' 02:03:00.368850 < 6 bytes data, client => server 02:03:00.368889 'QUIT\r\n' 02:03:00.369107 Received DATA (on stdin) 02:03:00.369120 > 18 bytes data, server => client 02:03:00.369130 '221 bye bye baby\r\n' 02:03:00.369305 ====> Client disconnect 02:03:00.369607 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:00.322800 Running IPv4 version 02:03:00.322858 Listening on port 38323 02:03:00.322897 Wrote pid 133280 to log/11/server/ftp_sockdata.pid 02:03:00.323031 Received PING (on stdin) 02:03:00.323115 Received PORT (on stdin) 02:03:00.323478 ====> Client connect 02:03:00.324153 Received DATA (on stdin) 02:03:00.324167 > 17 bytes data, server => client 02:03:00.324177 'WE ROOLZ: 80480\r\n' 02:03:00.324209 Received DISC (on stdin) 02:03:00.324223 ====> Client forcibly disconnected 02:03:00.324428 Received QUIT (on stdin) 02:03:00.324442 quits 02:03:00.324493 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PRET 550 unknown command Testnum 1108 === End of file server.cmd === Start of file valgrind1108 ==133336== ==133336== Process terminating with default action of signal 4 (SIGILL) ==133336== Illegal opcode at address 0x10B08D ==133336== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133336== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1108 test 1107...[FTP RETR PASV with PRET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1107 ../src/curl -q --output log/6/curl1107.out --include --trace-ascii log/6/trace1107 --trace-config all --trace-time ftp://127.0.0.1:40433/1107 --ftp-pret > log/6/stdout1107 2> log/6/stderr1107 1107: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1107 === Start of file ftp_server.log 02:03:00.097155 ====> Client connect 02:03:00.097293 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:00.097561 < "USER anonymous" 02:03:00.097592 > "331 We are happy you popped in![CR][LF]" 02:03:00.097744 < "PASS ftp@example.com" 02:03:00.097766 > "230 Welcome you silly person[CR][LF]" 02:03:00.097903 < "PWD" 02:03:00.097929 > "257 "/" is current directory[CR][LF]" 02:03:00.098072 < "EPSV" 02:03:00.098093 ====> Passive DATA channel requested by client 02:03:00.098105 DATA sockfilt for passive data channel starting... 02:03:00.099579 DATA sockfilt for passive data channel started (pid 133266) 02:03:00.099931 DATA sockfilt for passive data channel listens on port 35241 02:03:00.099968 > "229 Entering Passive Mode (|||35241|)[LF]" 02:03:00.099983 Client has been notified that DATA conn will be accepted on port 35241 02:03:00.100197 Client connects to port 35241 02:03:00.100223 ====> Client established passive DATA connection on port 35241 02:03:00.100276 < "TYPE I" 02:03:00.100299 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:00.100437 < "SIZE verifiedserver" 02:03:00.100471 > "213 17[CR][LF]" 02:03:00.100610 < "RETR verifCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1109 ../src/curl -q --output log/8/curl1109.out --include --trace-ascii log/8/trace1109 --trace-config all --trace-time http://127.0.0.1:43803/1109#test > log/8/stdout1109 2> log/8/stderr1109 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1111 ../src/curl -q --output log/3/curl1111.out --include --trace-ascii log/3/trace1111 --trace-config all --trace-time http://127.0.0.1:34527/1111?q=foobar#fragment#fragment2 > log/3/stdout1111 2> log/3/stderr1111 iedserver" 02:03:00.100635 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:00.100709 =====> Closing passive DATA connection... 02:03:00.100723 Server disconnects passive DATA connection 02:03:00.100932 Server disconnected passive DATA connection 02:03:00.100955 DATA sockfilt for passive data channel quits (pid 133266) 02:03:00.101195 DATA sockfilt for passive data channel quit (pid 133266) 02:03:00.101216 =====> Closed passive DATA connection 02:03:00.101239 > "226 File transfer complete[CR][LF]" 02:03:00.145149 < "QUIT" 02:03:00.145199 > "221 bye bye baby[CR][LF]" 02:03:00.146007 MAIN sockfilt said DISC 02:03:00.146038 ====> Client disconnected 02:03:00.146107 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:00.297193 ====> Client connect 02:03:00.297441 Received DATA (on stdin) 02:03:00.297455 > 160 bytes data, server => client 02:03:00.297467 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:00.297479 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:00.297489 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:00.297566 < 16 bytes data, client => server 02:03:00.297579 'USER anonymous\r\n' 02:03:00.297731 Received DATA (on stdin) 02:03:00.297743 > 33 bytes data, server => client 02:03:00.297754 '331 We are happy you popped in!\r\n' 02:03:00.297803 < 22 bytes data, client => server 02:03:00.297814 'PASS ftp@example.com\r\n' 02:03:00.297902 Received DATA (on stdin) 02:03:00.297913 > 30 bytes data, server => client 02:03:00.297924 '230 Welcome you silly person\r\n' 02:03:00.297969 < 5 bytes data, client => server 02:03:00.297980 'PWD\r\n' 02:03:00.298065 Received DATA (on stdin) 02:03:00.298076 > 30 bytes data, server => client 02:03:00.298087 '257 "/" is current directory\r\n' 02:03:00.298138 < 6 bytes data, client => server 02:03:00.298149 'EPSV\r\n' 02:03:00.300129 Received DATA (on stdin) 02:03:00.300143 > 38 bytes data, server => client 02:03:00.300156 '229 Entering Passive Mode (|||35241|)\n' 02:03:00.300261 < 8 bytes data, client => server 02:03:00.300276 'TYPE I\r\n' 02:03:00.300436 Received DATA (on stdin) 02:03:00.300447 > 33 bytes data, server => client 02:03:00.300457 '200 I modify TYPE as you wanted\r\n' 02:03:00.300504 < 21 bytes data, client => server 02:03:00.300515 'SIZE verifiedserver\r\n' 02:03:00.300608 Received DATA (on stdin) 02:03:00.300619 > 8 bytes data, server => client 02:03:00.300629 '213 17\r\n' 02:03:00.300675 < 21 bytes data, client => server 02:03:00.300688 'RETR verifiedserver\r\n' 02:03:00.300861 Received DATA (on stdin) 02:03:00.300873 > 29 bytes data, server => client 02:03:00.300883 '150 Binary junk (17 bytes).\r\n' 02:03:00.301378 Received DATA (on stdin) 02:03:00.301391 > 28 bytes data, server => client 02:03:00.301402 '226 File transfer complete\r\n' 02:03:00.345094 < 6 bytes data, client => server 02:03:00.345126 'QUIT\r\n' 02:03:00.345345 Received DATA (on stdin) 02:03:00.345359 > 18 bytes data, server => client 02:03:00.345371 '221 bye bye baby\r\n' 02:03:00.346087 ====> Client disconnect 02:03:00.346248 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:00.299510 Running IPv4 version 02:03:00.299602 Listening on port 35241 02:03:00.299643 Wrote pid 133266 to log/6/server/ftp_sockdata.pid 02:03:00.299661 Received PING (on stdin) 02:03:00.299988 Received PORT (on stdin) 02:03:00.300293 ====> Client connect 02:03:00.300909 Received DATA (on stdin) 02:03:00.300922 > 17 bytes data, server => client 02:03:00.300933 'WE ROOLZ: 80451\r\n' 02:03:00.300956 Received DISC (on stdin) 02:03:00.300967 ====> Client forcibly disconnected 02:03:00.301100 Received QUIT (on stdin) 02:03:00.301112 quits 02:03:00.301153 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PRET 200 fine Testnum 1107 === End of file server.cmd === Start of file valgrind1107 ==133308== ==133308== Process terminating with default action of signal 4 (SIGILL) ==133308== Illegal opcode at address 0x10B08D ==133308== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133308== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1107 test 1109...[HTTP GET with URL that contains fragment after the path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1109 ../src/curl -q --output log/8/curl1109.out --include --trace-ascii log/8/trace1109 --trace-config all --trace-time http://127.0.0.1:43803/1109#test > log/8/stdout1109 2> log/8/stderr1109 1109: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1109 === Start of file http_server.log 02:03:00.468920 ====> Client connect 02:03:00.468953 accept_connection 3 returned 4 02:03:00.468970 accept_connection 3 returned 0 02:03:00.468983 Read 93 bytes 02:03:00.468994 Process 93 bytes request 02:03:00.469013 Got request: GET /verifiedserver HTTP/1.1 02:03:00.469022 Are-we-friendly question received 02:03:00.469045 Wrote request (93 bytes) input to log/8/server.input 02:03:00.469063 Identifying ourselves as friends 02:03:00.469128 Response sent (56 bytes) and written to log/8/server.response 02:03:00.469141 special request received, no persistency 02:03:00.469150 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1109 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1109 ==133460== ==133460== Process terminating with default action of signal 4 (SIGILL) ==133460== Illegal opcode at address 0x10B08D ==133460== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133460== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1109 test 1111...[HTTP GET with URL whose fragment contains a # (which is illegal)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1111 ../src/curl -q --output log/3/curl1111.out --include --trace-ascii log/3/trace1111 --trace-config all --trace-time http://127.0.0.1:34527/1111?q=foobar#fragment#fragment2 > log/3/stdout1111 2> log/3/stderr1111 1111: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1111 === Start of file http_server.log 02:03:00.504340 ====> Client connect 02:03:00.504377 accept_connection 3 returned 4 02:03:00.504394 accept_connection 3 returned 0 02:03:00.504408 Read 93 bytes 02:03:00.504418 Process 93 bytes request 02:03:00.504433 Got request: GET /verifiedserver HTTP/1.1 02:03:00.504443 Are-we-friendly question received 02:03:00.504467 Wrote request (93 bytes) input to log/3/server.input 02:03:00.504485 Identifying ourselves as friends 02:03:00.504552 Response sent (56 bytes) and written to log/3/server.response 02:03:00.504564 special request received, no persistency 02:03:00.504574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * RequeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1110 ../src/curl -q --output log/7/curl1110.out --include --trace-ascii log/7/trace1110 --trace-config all --trace-time http://127.0.0.1:43753/1110?q=foobar#fragment > log/7/stdout1110 2> log/7/stderr1110 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1115 ../src/curl -q --output log/2/curl1115.out --include --trace-ascii log/2/trace1115 --trace-config all --trace-time http://127.0.0.1:38781/1115 > log/2/stdout1115 2> log/2/stderr1115 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/4/stdout1119 2> log/4/stderr1119 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1117 ../src/curl -q --include --trace-ascii log/9/trace1117 --trace-config all --trace-time -r 10-22 http://127.0.0.1:38509/want/1117 http://127.0.0.1:38509/wantmore/11170001 > log/9/stdout1117 2> log/9/stderr1117 st completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1111 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1111 ==133504== ==133504== Process terminating with default action of signal 4 (SIGILL) ==133504== Illegal opcode at address 0x10B08D ==133504== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133504== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1111 test 1110...[HTTP GET with URL that contains a fragment after the query part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1110 ../src/curl -q --output log/7/curl1110.out --include --trace-ascii log/7/trace1110 --trace-config all --trace-time http://127.0.0.1:43753/1110?q=foobar#fragment > log/7/stdout1110 2> log/7/stderr1110 1110: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1110 === Start of file http_server.log 02:03:00.476040 ====> Client connect 02:03:00.476072 accept_connection 3 returned 4 02:03:00.476089 accept_connection 3 returned 0 02:03:00.476104 Read 93 bytes 02:03:00.476115 Process 93 bytes request 02:03:00.476133 Got request: GET /verifiedserver HTTP/1.1 02:03:00.476143 Are-we-friendly question received 02:03:00.476168 Wrote request (93 bytes) input to log/7/server.input 02:03:00.476185 Identifying ourselves as friends 02:03:00.476250 Response sent (56 bytes) and written to log/7/server.response 02:03:00.476261 special request received, no persistency 02:03:00.476271 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1110 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1110 ==133474== ==133474== Process terminating with default action of signal 4 (SIGILL) ==133474== Illegal opcode at address 0x10B08D ==133474== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133474== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1110 test 1115...[HTTP GET with unexpected 1xx response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1115 ../src/curl -q --output log/2/curl1115.out --include --trace-ascii log/2/trace1115 --trace-config all --trace-time http://127.0.0.1:38781/1115 > log/2/stdout1115 2> log/2/stderr1115 1115: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1115 === Start of file http_server.log 02:03:00.628677 ====> Client connect 02:03:00.628710 accept_connection 3 returned 4 02:03:00.628727 accept_connection 3 returned 0 02:03:00.628740 Read 93 bytes 02:03:00.628751 Process 93 bytes request 02:03:00.628766 Got request: GET /verifiedserver HTTP/1.1 02:03:00.628776 Are-we-friendly question received 02:03:00.628801 Wrote request (93 bytes) input to log/2/server.input 02:03:00.628818 Identifying ourselves as friends 02:03:00.628888 Response sent (56 bytes) and written to log/2/server.response 02:03:00.628899 special request received, no persistency 02:03:00.628910 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1115 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1115 ==133661== ==133661== Process terminating with default action of signal 4 (SIGILL) ==133661== Illegal opcode at address 0x10B08D ==133661== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133661== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1115 * starts no server test 1119...[Verify that symbols-in-versions and headers are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/4/stdout1119 2> log/4/stderr1119 valgrind SKIPPED s------e--- OK (999 out of 1584, remaining: 01:06, took 0.460s, duration: 01:53) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1116 ../src/curl -q --output log/10/curl1116.out --include --trace-ascii log/10/trace1116 --trace-config all --trace-time http://127.0.0.1:42929/1116 -D log/10/heads1116 > log/10/stdout1116 2> log/10/stderr1116 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1118 ../src/curl -q --output log/1/curl1118.out --include --trace-ascii log/1/trace1118 --trace-config all --trace-time http://127.0.0.1:34215?email=name@example.com/1118 > log/1/stdout1118 2> log/1/stderr1118 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1114 ./libtest/lib576 ftp://127.0.0.1:40171/fully_simulated/DOS/* > log/12/stdout1114 2> log/12/stderr1114 test 1117...[HTTP with invalid range then another URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1117 ../src/curl -q --include --trace-ascii log/9/trace1117 --trace-config all --trace-time -r 10-22 http://127.0.0.1:38509/want/1117 http://127.0.0.1:38509/wantmore/11170001 > log/9/stdout1117 2> log/9/stderr1117 1117: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:01.329910413 +0000 +++ log/9/check-generated 2024-12-15 02:03:01.329910413 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 416 Requested Range Not Satisfiable[CR][LF] -Date: Tue, 09 Sep 2010 14:49:00 GMT[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 115[CR][LF] -[CR][LF] -This is a long error message that is large enough that the test server is[LF] -guaranteed to split it into two packets.[LF] -HTTP/1.1 206 Partial Content[CR][LF] -Date: Tue, 09 Sep 2010 14:49:01 GMT[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Range: bytes 10-18/155[CR][LF] -Content-Length: 13[CR][LF] -Content-Type: text/plain[CR][LF] -[CR][LF] -partial body[LF] == Contents of files in the log/9/ dir after test 1117 === Start of file check-expected HTTP/1.1 416 Requested Range Not Satisfiable[CR][LF] Date: Tue, 09 Sep 2010 14:49:00 GMT[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 115[CR][LF] [CR][LF] This is a long error message that is large enough that the test server is[LF] guaranteed to split it into two packets.[LF] HTTP/1.1 206 Partial Content[CR][LF] Date: Tue, 09 Sep 2010 14:49:01 GMT[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Range: bytes 10-18/155[CR][LF] Content-Length: 13[CR][LF] Content-Type: text/plain[CR][LF] [CR][LF] partial body[LF] === End of file check-expected === Start of file http_server.log 02:03:00.765232 ====> Client connect 02:03:00.765275 accept_connection 3 returned 4 02:03:00.765294 accept_connection 3 returned 0 02:03:00.765308 Read 93 bytes 02:03:00.765317 Process 93 bytes request 02:03:00.765332 Got request: GET /verifiedserver HTTP/1.1 02:03:00.765342 Are-we-friendly question received 02:03:00.765365 Wrote request (93 bytes) input to log/9/server.input 02:03:00.765382 Identifying ourselves as friends 02:03:00.765461 Response sent (56 bytes) and written to log/9/server.response 02:03:00.765472 special request received, no persistency 02:03:00.765482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd writedelay: 1000 Testnum 1117 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1117 ==133834== ==133834== Process terminating with default action of signal 4 (SIGILL) ==133834== Illegal opcode at address 0x10B08D ==133834== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133834== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1117 test 1116...[HTTP GET with chunked trailer without Trailer:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1116 ../src/curl -q --output log/10/curl1116.out --include --trace-ascii log/10/trace1116 --trace-config all --trace-time http://127.0.0.1:42929/1116 -D log/10/heads1116 > log/10/stdout1116 2> log/10/stderr1116 1116: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1116 === Start of file http_server.log 02:03:00.768351 ====> Client connect 02:03:00.768392 accept_connection 3 returned 4 02:03:00.768411 accept_connection 3 returned 0 02:03:00.768425 Read 93 bytes 02:03:00.768435 Process 93 bytes request 02:03:00.768448 Got request: GET /verifiedserver HTTP/1.1 02:03:00.768466 Are-we-friendly question received 02:03:00.768623 Wrote request (93 bytes) input to log/10/server.input 02:03:00.768645 Identifying ourselves as friends 02:03:00.769105 Response sent (56 bytes) and written to log/10/server.response 02:03:00.769119 special request received, no persistency 02:03:00.769129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1116 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1116 ==133837== ==133837== Process terminating with default action of signal 4 (SIGILL) ==133837== Illegal opcode at address 0x10B08D ==133837== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133837== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1116 test 1118...[URL without slash and @-letter in query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1118 ../src/curl -q --output log/1/curl1118.out --include --trace-ascii log/1/trace1118 --trace-config all --trace-time http://127.0.0.1:34215?email=name@example.com/1118 > log/1/stdout1118 2> log/1/stderr1118 1118: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1118 === Start of file http_server.log 02:03:00.820633 ====> Client connect 02:03:00.820666 accept_connection 3 returned 4 02:03:00.820688 accept_connection 3 returned 0 02:03:00.820701 Read 93 bytes 02:03:00.820713 Process 93 bytes request 02:03:00.820728 Got request: GET /verifiedserver HTTP/1.1 02:03:00.820738 Are-we-friendly question received 02:03:00.820761 Wrote request (93 bytes) input to log/1/server.input 02:03:00.820778 Identifying ourselves as friends 02:03:00.820843 Response sent (56 bytes) and written to log/1/server.response 02:03:00.820855 special request received, no persistency 02:03:00.820864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1118 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1118 ==133904== ==133904== Process terminating with default action of signal 4 (SIGILL) ==133904== Illegal opcode at address 0x10B08D ==133904== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==133904== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1118 test 1114...[FTP wildcard download - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (DOS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1114 ./libtest/lib576 ftp://127.0.0.1:40171/fully_simulated/DOS/* > log/12/stdout1114 2> log/12/stderr1114 1114: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:01.646582723 +0000 +++ log/12/check-generated 2024-12-15 02:03:01.646582723 +0000 @@ -1,96 +0,0 @@ -=============================================================[LF] -Remains: 12[LF] -Filename: .[LF] -Size: 0B[LF] -Time: 04-27-10 05:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 11[LF] -Filename: ..[LF] -Size: 0B[LF] -Time: 04-23-10 03:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 10[LF] -Filename: chmod1[LF] -Size: 38B[LF] -Time: 01-11-10 10:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 444[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 9[LF] -Filename: chmod2[LF] -Size: 38B[LF] -Time: 02-01-10 08:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 666[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 8[LF] -Filename: chmod3[LF] -Size: 38B[LF] -Time: 02-01-10 08:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 777[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 7[LF] -Filename: chmod4[LF] -Size: 0B[LF] -Time: 05-04-10 04:31AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 6[LF] -Filename: chmod5[LF] -Size: 0B[LF] -Time: 05-04-10 04:31AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 5[LF] -Filename: empty_file.dat[LF] -Size: 0B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 4[LF] -Filename: file.txt[LF] -Size: 35B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This is content of file "file.txt"[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 3[LF] -Filename: .NeXT[LF] -Size: 0B[LF] -Time: 01-23-05 02:05AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 2[LF] -Filename: someothertext.txt[LF] -Size: 47B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 1[LF] -Filename: weirddir.txt[LF] -Size: 0B[LF] -Time: 04-23-10 03:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] == Contents of files in the log/12/ dir after test 1114 === Start of file check-expected =============================================================[LF] Remains: 12[LF] Filename: .[LF] Size: 0B[LF] Time: 04-27-10 05:12AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 11[LF] Filename: ..[LF] Size: 0B[LF] Time: 04-23-10 03:12AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 10[LF] Filename: chmod1[LF] Size: 38B[LF] Time: 01-11-10 10:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 444[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 9[LF] Filename: chmod2[LF] Size: 38B[LF] Time: 02-01-10 08:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 666[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 8[LF] Filename: chmod3[LF] Size: 38B[LF] Time: 02-01-10 08:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 777[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 7[LF] Filename: chmod4[LF] Size: 0B[LF] Time: 05-04-10 04:31AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 6[LF] Filename: chmod5[LF] Size: 0B[LF] Time: 05-04-10 04:31AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 5[LF] Filename: empty_file.dat[LF] Size: 0B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 4[LF] Filename: file.txt[LF] Size: 35B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This is content of file "file.txt"[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 3[LF] Filename: .NeXT[LF] Size: 0B[LF] Time: 01-23-05 02:05AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 2[LF] Filename: someothertext.txt[LF] Size: 47B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] # THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 1[LF] Filename: weirddir.txt[LF] Size: 0B[LF] Time: 04-23-10 03:12AM[LF] Filetype: directory[LF] =============================================================[LF] === End of file check-expected === Start of file ftp_server.log 02:03:00.415697 ====> Client connect 02:03:00.415850 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:00.416108 < "USER anonymous" 02:03:00.416139 > "331 We are happy you popped in![CR][LF]" 02:03:00.416286 < "PASS ftp@example.com" 02:03:00.416308 > "230 Welcome you silly person[CR][LF]" 02:03:00.416438 < "PWD" 02:03:00.416464 > "257 "/" is current directory[CR][LF]" 02:03:00.416600 < "EPSV" 02:03:00.416621 ====> Passive DATA channel requested by client 02:03:00.416633 DATA sockfilt for passive data channel starting... 02:03:00.418965 DATA sockfilt for passive data channel started (pid 133655) 02:03:00.419056 DATA sockfilt for passive data channel listens on port 42081 02:03:00.419088 > "229 Entering Passive Mode (|||42081|)[LF]" 02:03:00.419101 Client has been notified that DATA conn will be accepted on port 42081 02:03:00.419316 Client connects to port 42081 02:03:00.419344 ====> Client established passive DATA connection on port 42081 02:03:00.419400 < "TYPE I" 02:03:00.419422 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:00.419563 < "SIZE verifiedserver" 02:03:00.419596 > "213 17[CR][LF]" 02:03:00.419731 < "RETR verifiedserver" 02:03:00.419758 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:00.419828 =====> Closing passive DATA connection... 02:03:00.419843 Server disconnects passive DATA connection 02:03:00.420017 Server disconnected passive DATA connection 02:03:00.420040 DATA sockfilt for passive data channel quits (pid 133655) 02:03:00.420455 DATA sockfilt for passive data channel quit (pid 133655) 02:03:00.420475 =====> Closed passive DATA connection 02:03:00.420500 > "226 File transfer complete[CR][LF]" 02:03:00.465366 < "QUIT" 02:03:00.465423 > "221 bye bye baby[CR][LF]" 02:03:00.466465 MAIN sockfilt said DISC 02:03:00.466500 ====> Client disconnected 02:03:00.466575 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:00.615728 ====> Client connect 02:03:00.616000 Received DATA (on stdin) 02:03:00.616014 > 160 bytes data, server => client 02:03:00.616026 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:00.616037 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:00.616047 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:00.616113 < 16 bytes data, client => server 02:03:00.616126 'USER anonymous\r\n' 02:03:00.616278 Received DATA (on stdin) 02:03:00.616290 > 33 bytes data, server => client 02:03:00.616300 '331 We are happy you popped in!\r\n' 02:03:00.616346 < 22 bytes data, client => server 02:03:00.616357 'PASS ftp@example.com\r\n' 02:03:00.616444 Received DATA (on stdin) 02:03:00.616454 > 30 bytes data, server => client 02:03:00.616465 '230 Welcome you silly person\r\n' 02:03:00.616507 < 5 bytes data, client => server 02:03:00.616517 'PWD\r\n' 02:03:00.616599 Received DATA (on stdin) 02:03:00.616609 > 30 bytes data, server => client 02:03:00.616619 '257 "/" is current directory\r\n' 02:03:00.616668 < 6 bytes data, client => server 02:03:00.616679 'EPSV\r\n' 02:03:00.619243 Received DATA (on stdin) 02:03:00.619256 > 38 bytes data, server => client 02:03:00.619267 '229 Entering Passive Mode (|||42081|)\n' 02:03:00.619381 < 8 bytes data, client => server 02:03:00.619396 'TYPE I\r\n' 02:03:00.619559 Received DATA (on stdin) 02:03:00.619570 > 33 bytes data, server => client 02:03:00.619580 '200 I modify TYPE as you wanted\r\n' 02:03:00.619626 < 21 bytes data, client => server 02:03:00.619637 'SIZE verifiedserver\r\n' 02:03:00.619733 Received DATA (on stdin) 02:03:00.619744 > 8 bytes data, server => client 02:03:00.619753 '213 17\r\n' 02:03:00.619798 < 21 bytes data, client => server 02:03:00.619808 'RETR verifiedserver\r\n' 02:03:00.619982 Received DATA (on stdin) 02:03:00.619993 > 29 bytes data, server => client 02:03:00.620003 '150 Binary junk (17 bytes).\r\n' 02:03:00.620639 Received DATA (on stdin) 02:03:00.620651 > 28 bytes data, server => client 02:03:00.620662 '226 File transfer complete\r\n' 02:03:00.665308 < 6 bytes data, client => server 02:03:00.665342 'QUIT\r\n' 02:03:00.665565 Received DATA (on stdin) 02:03:00.665577 > 18 bytes data, server => client 02:03:00.665588 '221 bye bye baby\r\n' 02:03:00.666361 ====> Client disconnect 02:03:00.666715 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:00.618847 Running IPv4 version 02:03:00.618897 Listening on port 42081 02:03:00.618929 Wrote pid 133655 to log/12/server/ftp_sockdata.pid 02:03:00.619050 Received PING (on stdin) 02:03:00.619121 Received PORT (on stdin) 02:03:00.619413 ====> Client connect 02:03:00.620046 Received DATA (on stdin) 02:03:00.620062 > 17 bytes data, server => client 02:03:00.620072 'WE ROOLZ: 80450\r\n' 02:03:00.620097 Received DISC (on stdin) 02:03:00.620109 ====> Client forcibly disconnected 02:03:00.620229 Received QUIT (on stdin) 02:03:00.620242 quits 02:03:00.620472 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1114 === End of file server.cmd === Start of file stderr1114 URL: ftp://127.0.0.1:40171/fully_simulated/DOS/* === End of file stderr1114 === Start of file valgrind1114 ==133696== ==133696== Process terminating with default action of signal 4 (SIGILL) ==133696== Illegal opcode at address 0x48EA16B ==133696== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==133696== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==133696== by 0x48EA16B: Curl_open (url.c:519) ==133696== by 0x4880EEF: curl_easy_init (easy.c:370) ==133696== by 0x109098: UnknownInlinedFun (lib576.c:104) ==133696== by 0x109098: main (first.c:220) ==133696== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==133696== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133696== by 0x4A6D258: __tsearch (tsearch.c:337) ==133696== by 0x4A6D258: tsearch (tsearch.c:290) ==133696== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==133696== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==133696== by 0x497DBB2: add_alias (gconv_conf.c:178) ==133696== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133696== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133696== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==133696== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133696== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133696== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133696== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133696== by 0x498986B: setlocale (setlocale.c:337) ==133696== by 0x109054: main (first.c:160) ==133696== ==133696== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==133696== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133696== by 0x4A6D258: __tsearch (tsearch.c:337) ==133696== by 0x4A6D258: tsearch (tsearch.c:290) ==133696== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==133696== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==133696== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==133696== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133696== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133696== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133696== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133696== by 0x498986B: setlocale (setlocale.c:337) ==133696== by 0x109054: main (first.c:160) ==133696== ==133696== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==133696== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133696== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==133696== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==133696== by 0x497DBB2: add_alias (gconv_conf.c:178) ==133696== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133696== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133696== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==133696== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_onCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1120 ../src/curl -q --output log/11/curl1120.out --include --trace-ascii log/11/trace1120 --trace-config all --trace-time ftp://127.0.0.1:45687/a/path/1120 > log/11/stdout1120 2> log/11/stderr1120 ce.c:116) ==133696== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133696== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133696== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133696== by 0x498986B: setlocale (setlocale.c:337) ==133696== by 0x109054: main (first.c:160) ==133696== ==133696== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==133696== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133696== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==133696== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==133696== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==133696== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133696== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133696== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133696== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133696== by 0x498986B: setlocale (setlocale.c:337) ==133696== by 0x109054: main (first.c:160) ==133696== ==133696== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==133696== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==133696== by 0x48EA143: Curl_open (url.c:510) ==133696== by 0x4880EEF: curl_easy_init (easy.c:370) ==133696== by 0x109098: UnknownInlinedFun (lib576.c:104) ==133696== by 0x109098: main (first.c:220) ==133696== ==133696== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==133696== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133696== by 0x4A6D258: __tsearch (tsearch.c:337) ==133696== by 0x4A6D258: tsearch (tsearch.c:290) ==133696== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==133696== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==133696== by 0x497DBB2: add_alias (gconv_conf.c:178) ==133696== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133696== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133696== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==133696== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133696== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133696== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133696== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133696== by 0x498986B: setlocale (setlocale.c:337) ==133696== by 0x109054: main (first.c:160) ==133696== ==133696== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==133696== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133696== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==133696== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==133696== by 0x497DBB2: add_alias (gconv_conf.c:178) ==133696== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133696== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133696== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==133696== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133696== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133696== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133696== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133696== by 0x498986B: setlocale (setlocale.c:337) ==133696== by 0x109054: main (first.c:160) ==133696== === End of file valgrind1114 test 1120...[FTP with 421 timeout response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1120 ../src/curl -q --output log/11/curl1120.out --include --trace-ascii log/11/trace1120 --trace-config all --trace-time ftp://127.0.0.1:45687/a/path/1120 > log/11/stdout1120 2> log/11/stderr1120 1120: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1120 === Start of file ftp_server.log 02:03:00.933183 ====> Client connect 02:03:00.933355 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:00.933656 < "USER anonymous" 02:03:00.933692 > "331 We are happy you popped in![CR][LF]" 02:03:00.933861 < "PASS ftp@example.com" 02:03:00.933891 > "230 Welcome you silly person[CR][LF]" 02:03:00.934042 < "PWD" 02:03:00.934072 > "257 "/" is current directory[CR][LF]" 02:03:00.934221 < "EPSV" 02:03:00.934244 ====> Passive DATA channel requested by client 02:03:00.934258 DATA sockfilt for passive data channel starting... 02:03:00.936728 DATA sockfilt for passive data channel started (pid 134022) 02:03:00.936834 DATA sockfilt for passive data channel listens on port 44945 02:03:00.936878 > "229 Entering Passive Mode (|||44945|)[LF]" 02:03:00.936898 Client has been notified that DATA conn will be accepted on port 44945 02:03:00.937798 Client connects to port 44945 02:03:00.937826 ====> Client established passive DATA connection on port 44945 02:03:00.937889 < "TYPE I" 02:03:00.937916 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:00.939776 < "SIZE verifiedserver" 02:03:00.939816 > "213 17[CR][LF]" 02:03:00.939993 < "RETR verifiedserver" 02:03:00.940026 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:00.940106 =====> Closing passive DATA connection... 02:03:00.940121 Server disconnects passive DATA connection 02:03:00.940339 Server disconnected passive DATA connection 02:03:00.940363 DATA sockfilt for passive data channel quits (pid 134022) 02:03:00.940641 DATA sockfilt for passive data channel quit (pid 134022) 02:03:00.940665 =====> Closed passive DATA connection 02:03:00.940691 > "226 File transfer complete[CR][LF]" 02:03:00.982621 < "QUIT" 02:03:00.982669 > "221 bye bye baby[CR][LF]" 02:03:00.983544 MAIN sockfilt said DISC 02:03:00.983581 ====> Client disconnected 02:03:00.983650 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:01.133183 ====> Client connect 02:03:01.133506 Received DATA (on stdin) 02:03:01.133524 > 160 bytes data, server => client 02:03:01.133538 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:01.133550 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:01.133561 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:01.133645 < 16 bytes data, client => server 02:03:01.133658 'USER anonymous\r\n' 02:03:01.133834 Received DATA (on stdin) 02:03:01.133847 > 33 bytes data, server => client 02:03:01.133858 '331 We are happy you popped in!\r\n' 02:03:01.133911 < 22 bytes data, client => server 02:03:01.133922 'PASS ftp@example.com\r\n' 02:03:01.134031 Received DATA (on stdin) 02:03:01.134042 > 30 bytes data, server => client 02:03:01.134053 '230 Welcome you silly person\r\n' 02:03:01.134102 < 5 bytes data, client => server 02:03:01.134112 'PWD\r\n' 02:03:01.134209 Received DATA (on stdin) 02:03:01.134220 > 30 bytes data, server => client 02:03:01.134231 '257 "/" is current directory\r\n' 02:03:01.134283 < 6 bytes data, client => server 02:03:01.134293 'EPSV\r\n' 02:03:01.137681 Received DATA (on stdin) 02:03:01.137701 > 38 bytes data, server => client 02:03:01.137713 '229 Entering Passive Mode (|||44945|)\n' 02:03:01.137857 < 8 bytes data, client => server 02:03:01.137873 'TYPE I\r\n' 02:03:01.138053 Received DATA (on stdin) 02:03:01.138064 > 33 bytes data, server => client 02:03:01.138075 '200 I modify TYPE as you wanted\r\n' 02:03:01.138125 < 21 bytes data, client => server 02:03:01.138137 'SIZE verifiedserver\r\n' 02:03:01.139958 Received DATA (on stdin) 02:03:01.139972 > 8 bytes data, server => client 02:03:01.139982 '213 17\r\n' 02:03:01.140050 < 21 bytes data, client => server 02:03:01.140063 'RETR verifiedserver\r\n' 02:03:01.140259 Received DATA (on stdin) 02:03:01.140271 > 29 bytes data, server => client 02:03:01.140282 '150 Binary junk (17 bytes).\r\n' 02:03:01.1408CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1113 ./libtest/lib574 "ftp://127.0.0.1:36485/fully_simulated/DOS/*.txt" > log/5/stdout1113 2> log/5/stderr1113 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1121 ../src/curl -q --output log/6/curl1121.out --include --trace-ascii log/6/trace1121 --trace-config all --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:39457/1121 > log/6/stdout1121 2> log/6/stderr1121 30 Received DATA (on stdin) 02:03:01.140843 > 28 bytes data, server => client 02:03:01.140854 '226 File transfer complete\r\n' 02:03:01.182518 < 6 bytes data, client => server 02:03:01.182550 'QUIT\r\n' 02:03:01.182831 Received DATA (on stdin) 02:03:01.182850 > 18 bytes data, server => client 02:03:01.182863 '221 bye bye baby\r\n' 02:03:01.183620 ====> Client disconnect 02:03:01.183789 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:00.136558 Running IPv4 version 02:03:00.136618 Listening on port 44945 02:03:00.136654 Wrote pid 134022 to log/11/server/ftp_sockdata.pid 02:03:00.136808 Received PING (on stdin) 02:03:00.136892 Received PORT (on stdin) 02:03:00.137893 ====> Client connect 02:03:00.140313 Received DATA (on stdin) 02:03:00.140333 > 17 bytes data, server => client 02:03:00.140344 'WE ROOLZ: 80480\r\n' 02:03:00.140370 Received DISC (on stdin) 02:03:00.140383 ====> Client forcibly disconnected 02:03:00.140577 Received QUIT (on stdin) 02:03:00.140592 quits 02:03:00.140645 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 421 Timeout Testnum 1120 === End of file server.cmd === Start of file valgrind1120 ==134046== ==134046== Process terminating with default action of signal 4 (SIGILL) ==134046== Illegal opcode at address 0x10B08D ==134046== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134046== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1120 test 1113...[FTP wildcard download - changed fnmatch, 2x perform (DOS LIST response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1113 ./libtest/lib574 "ftp://127.0.0.1:36485/fully_simulated/DOS/*.txt" > log/5/stdout1113 2> log/5/stderr1113 1113: stdout FAILED: --- log/5/check-expected 2024-12-15 02:03:01.699917008 +0000 +++ log/5/check-generated 2024-12-15 02:03:01.699917008 +0000 @@ -1,10 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/5/ dir after test 1113 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file ftp_server.log 02:03:00.419959 ====> Client connect 02:03:00.420095 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:00.420376 < "USER anonymous" 02:03:00.420412 > "331 We are happy you popped in![CR][LF]" 02:03:00.420569 < "PASS ftp@example.com" 02:03:00.420596 > "230 Welcome you silly person[CR][LF]" 02:03:00.420788 < "PWD" 02:03:00.420817 > "257 "/" is current directory[CR][LF]" 02:03:00.420969 < "EPSV" 02:03:00.420992 ====> Passive DATA channel requested by client 02:03:00.421004 DATA sockfilt for passive data channel starting... 02:03:00.423705 DATA sockfilt for passive data channel started (pid 133659) 02:03:00.424046 DATA sockfilt for passive data channel listens on port 33421 02:03:00.424088 > "229 Entering Passive Mode (|||33421|)[LF]" 02:03:00.424105 Client has been notified that DATA conn will be accepted on port 33421 02:03:00.428373 Client connects to port 33421 02:03:00.428416 ====> Client established passive DATA connection on port 33421 02:03:00.428499 < "TYPE I" 02:03:00.428534 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:00.428708 < "SIZE verifiedserver" 02:03:00.428744 > "213 17[CR][LF]" 02:03:00.428895 < "RETR verifiedserver" 02:03:00.428930 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:00.429013 =====> Closing passive DATA connection... 02:03:00.429030 Server disconnects passive DATA connection 02:03:00.429263 Server disconnected passive DATA connection 02:03:00.429292 DATA sockfilt for passive data channel quits (pid 133659) 02:03:00.429497 DATA sockfilt for passive data channel quit (pid 133659) 02:03:00.429523 =====> Closed passive DATA connection 02:03:00.429549 > "226 File transfer complete[CR][LF]" 02:03:00.472149 < "QUIT" 02:03:00.472202 > "221 bye bye baby[CR][LF]" 02:03:00.473331 MAIN sockfilt said DISC 02:03:00.473361 ====> Client disconnected 02:03:00.473429 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:02:59.620007 ====> Client connect 02:02:59.620248 Received DATA (on stdin) 02:02:59.620291 > 160 bytes data, server => client 02:02:59.620305 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:02:59.620315 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:02:59.620324 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:02:59.620384 < 16 bytes data, client => server 02:02:59.620395 'USER anonymous\r\n' 02:02:59.620553 Received DATA (on stdin) 02:02:59.620566 > 33 bytes data, server => client 02:02:59.620576 '331 We are happy you popped in!\r\n' 02:02:59.620628 < 22 bytes data, client => server 02:02:59.620639 'PASS ftp@example.com\r\n' 02:02:59.620768 Received DATA (on stdin) 02:02:59.620781 > 30 bytes data, server => client 02:02:59.620791 '230 Welcome you silly person\r\n' 02:02:59.620845 < 5 bytes data, client => server 02:02:59.620858 'PWD\r\n' 02:02:59.620956 Received DATA (on stdin) 02:02:59.620967 > 30 bytes data, server => client 02:02:59.620976 '257 "/" is current directory\r\n' 02:02:59.621032 < 6 bytes data, client => server 02:02:59.621043 'EPSV\r\n' 02:02:59.624249 Received DATA (on stdin) 02:02:59.624263 > 38 bytes data, server => client 02:02:59.624274 '229 Entering Passive Mode (|||33421|)\n' 02:02:59.624405 < 8 bytes data, client => server 02:02:59.624422 'TYPE I\r\n' 02:02:59.628675 Received DATA (on stdin) 02:02:59.628690 > 33 bytes data, server => client 02:02:59.628702 '200 I modify TYPE as you wanted\r\n' 02:02:59.628763 < 21 bytes data, client => server 02:02:59.628777 'SIZE verifiedserver\r\n' 02:02:59.628884 Received DATA (on stdin) 02:02:59.628895 > 8 bytes data, server => client 02:02:59.628905 '213 17\r\n' 02:02:59.628955 < 21 bytes data, client => server 02:02:59.628967 'RETR verifiedserver\r\n' 02:02:59.629170 Received DATA (on stdin) 02:02:59.629182 > 29 bytes data, server => client 02:02:59.629193 '150 Binary junk (17 bytes).\r\n' 02:02:59.629690 Received DATA (on stdin) 02:02:59.629703 > 28 bytes data, server => client 02:02:59.629714 '226 File transfer complete\r\n' 02:02:59.672123 < 6 bytes data, client => server 02:02:59.672151 'QUIT\r\n' 02:02:59.672351 Received DATA (on stdin) 02:02:59.672367 > 18 bytes data, server => client 02:02:59.672378 '221 bye bye baby\r\n' 02:02:59.673420 ====> Client disconnect 02:02:59.673580 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:00.622573 Running IPv4 version 02:03:00.622625 Listening on port 33421 02:03:00.622664 Wrote pid 133659 to log/5/server/ftp_sockdata.pid 02:03:00.623780 Received PING (on stdin) 02:03:00.624097 Received PORT (on stdin) 02:03:00.624440 ====> Client connect 02:03:00.629224 Received DATA (on stdin) 02:03:00.629239 > 17 bytes data, server => client 02:03:00.629249 'WE ROOLZ: 80534\r\n' 02:03:00.629277 Received DISC (on stdin) 02:03:00.629290 ====> Client forcibly disconnected 02:03:00.629439 Received QUIT (on stdin) 02:03:00.629452 quits 02:03:00.629500 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1113 === End of file server.cmd === Start of file stderr1113 URL: ftp://127.0.0.1:36485/fully_simulated/DOS/*.txt === End of file stderr1113 === Start of file valgrind1113 ==133695== ==133695== Process terminating with default action of signal 4 (SIGILL) ==133695== Illegal opcode at address 0x48EA16B ==133695== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==133695== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==133695== by 0x48EA16B: Curl_open (url.c:519) ==133695== by 0x4880EEF: curl_easy_init (easy.c:370) ==133695== by 0x10908A: UnknownInlinedFun (lib574.c:49) ==133695== by 0x10908A: main (first.c:220) ==133695== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==133695== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133695== by 0x4A6D258: __tsearch (tsearch.c:337) ==133695== by 0x4A6D258: tsearch (tsearch.c:290) ==133695== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==133695== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==133695== by 0x497DBB2: add_alias (gconv_conf.c:178) ==133695== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133695== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133695== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==133695== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1132.pl /startdir/src/curl/tests/../lib > log/6/stdout1132 2> log/6/stderr1132 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1122 ../src/curl -q --output log/8/curl1122.out --include --trace-ascii log/8/trace1122 --trace-config all --trace-time http://127.0.0.1:43803/1122 --tr-encoding > log/8/stdout1122 2> log/8/stderr1122 ) ==133695== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133695== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133695== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133695== by 0x498986B: setlocale (setlocale.c:337) ==133695== by 0x109047: main (first.c:160) ==133695== ==133695== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==133695== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133695== by 0x4A6D258: __tsearch (tsearch.c:337) ==133695== by 0x4A6D258: tsearch (tsearch.c:290) ==133695== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==133695== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==133695== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==133695== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133695== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133695== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133695== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133695== by 0x498986B: setlocale (setlocale.c:337) ==133695== by 0x109047: main (first.c:160) ==133695== ==133695== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==133695== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133695== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==133695== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==133695== by 0x497DBB2: add_alias (gconv_conf.c:178) ==133695== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133695== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==133695== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==133695== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133695== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133695== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133695== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133695== by 0x498986B: setlocale (setlocale.c:337) ==133695== by 0x109047: main (first.c:160) ==133695== ==133695== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==133695== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133695== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==133695== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==133695== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==133695== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133695== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133695== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133695== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133695== by 0x498986B: setlocale (setlocale.c:337) ==133695== by 0x109047: main (first.c:160) ==133695== ==133695== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==133695== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==133695== by 0x48EA143: Curl_open (url.c:510) ==133695== by 0x4880EEF: curl_easy_init (easy.c:370) ==133695== by 0x10908A: UnknownInlinedFun (lib574.c:49) ==133695== by 0x10908A: main (first.c:220) ==133695== ==133695== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==133695== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133695== by 0x4A6D258: __tsearch (tsearch.c:337) ==133695== by 0x4A6D258: tsearch (tsearch.c:290) ==133695== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==133695== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==133695== by 0x497DBB2: add_alias (gconv_conf.c:178) ==133695== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133695== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133695== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==133695== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133695== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133695== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133695== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133695== by 0x498986B: setlocale (setlocale.c:337) ==133695== by 0x109047: main (first.c:160) ==133695== ==133695== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==133695== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==133695== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==133695== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==133695== by 0x497DBB2: add_alias (gconv_conf.c:178) ==133695== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==133695== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==133695== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==133695== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==133695== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==133695== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==133695== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==133695== by 0x498986B: setlocale (setlocale.c:337) ==133695== by 0x109047: main (first.c:160) ==133695== === End of file valgrind1113 test 1121...[HTTP multiple provided Host: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1121 ../src/curl -q --output log/6/curl1121.out --include --trace-ascii log/6/trace1121 --trace-config all --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:39457/1121 > log/6/stdout1121 2> log/6/stderr1121 1121: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1121 === Start of file http_server.log 02:03:01.190976 ====> Client connect 02:03:01.191010 accept_connection 3 returned 4 02:03:01.191370 accept_connection 3 returned 0 02:03:01.191386 Read 93 bytes 02:03:01.191396 Process 93 bytes request 02:03:01.191408 Got request: GET /verifiedserver HTTP/1.1 02:03:01.191418 Are-we-friendly question received 02:03:01.191444 Wrote request (93 bytes) input to log/6/server.input 02:03:01.191463 Identifying ourselves as friends 02:03:01.191546 Response sent (56 bytes) and written to log/6/server.response 02:03:01.191557 special request received, no persistency 02:03:01.191566 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1121 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1121 ==134057== ==134057== Process terminating with default action of signal 4 (SIGILL) ==134057== Illegal opcode at address 0x10B08D ==134057== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134057== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1121 * starts no server test 1132...[Verify memory #include files in libcurl's C source files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1132.pl /startdir/src/curl/tests/../lib > log/6/stdout1132 2> log/6/stderr1132 valgrind SKIPPED -------e--- OK (1012 out of 1584, remaining: 01:04, took 0.036s, duration: 01:53) test 1122...[HTTP GET gzip transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1122 ../src/curl -q -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1123 ../src/curl -q --output log/3/curl1123.out --include --trace-ascii log/3/trace1123 --trace-config all --trace-time http://127.0.0.1:34527/1123 --tr-encoding > log/3/stdout1123 2> log/3/stderr1123 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1124 ../src/curl -q --output log/7/curl1124.out --include --trace-ascii log/7/trace1124 --trace-config all --trace-time http://127.0.0.1:43753/1124 --tr-encoding > log/7/stdout1124 2> log/7/stderr1124 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1125 ../src/curl -q --output log/2/curl1125.out --include --trace-ascii log/2/trace1125 --trace-config all --trace-time http://127.0.0.1:38781/1125 --tr-encoding -H "Connection: close" > log/2/stdout1125 2> log/2/stderr1125 -output log/8/curl1122.out --include --trace-ascii log/8/trace1122 --trace-config all --trace-time http://127.0.0.1:43803/1122 --tr-encoding > log/8/stdout1122 2> log/8/stderr1122 1122: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1122 === Start of file http_server.log 02:03:01.232561 ====> Client connect 02:03:01.232595 accept_connection 3 returned 4 02:03:01.232612 accept_connection 3 returned 0 02:03:01.232626 Read 93 bytes 02:03:01.232637 Process 93 bytes request 02:03:01.232650 Got request: GET /verifiedserver HTTP/1.1 02:03:01.232659 Are-we-friendly question received 02:03:01.232683 Wrote request (93 bytes) input to log/8/server.input 02:03:01.232700 Identifying ourselves as friends 02:03:01.232767 Response sent (56 bytes) and written to log/8/server.response 02:03:01.232778 special request received, no persistency 02:03:01.232786 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1122 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1122 ==134151== ==134151== Process terminating with default action of signal 4 (SIGILL) ==134151== Illegal opcode at address 0x10B08D ==134151== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134151== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1122 test 1123...[HTTP GET deflate transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1123 ../src/curl -q --output log/3/curl1123.out --include --trace-ascii log/3/trace1123 --trace-config all --trace-time http://127.0.0.1:34527/1123 --tr-encoding > log/3/stdout1123 2> log/3/stderr1123 1123: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1123 === Start of file http_server.log 02:03:01.259511 ====> Client connect 02:03:01.259548 accept_connection 3 returned 4 02:03:01.259564 accept_connection 3 returned 0 02:03:01.259579 Read 93 bytes 02:03:01.259589 Process 93 bytes request 02:03:01.259603 Got request: GET /verifiedserver HTTP/1.1 02:03:01.259613 Are-we-friendly question received 02:03:01.259634 Wrote request (93 bytes) input to log/3/server.input 02:03:01.259651 Identifying ourselves as friends 02:03:01.259713 Response sent (56 bytes) and written to log/3/server.response 02:03:01.259724 special request received, no persistency 02:03:01.259733 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1123 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1123 ==134215== ==134215== Process terminating with default action of signal 4 (SIGILL) ==134215== Illegal opcode at address 0x10B08D ==134215== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134215== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1123 test 1124...[HTTP GET gzip+chunked transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1124 ../src/curl -q --output log/7/curl1124.out --include --trace-ascii log/7/trace1124 --trace-config all --trace-time http://127.0.0.1:43753/1124 --tr-encoding > log/7/stdout1124 2> log/7/stderr1124 1124: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1124 === Start of file http_server.log 02:03:01.296214 ====> Client connect 02:03:01.296249 accept_connection 3 returned 4 02:03:01.296266 accept_connection 3 returned 0 02:03:01.296280 Read 93 bytes 02:03:01.296292 Process 93 bytes request 02:03:01.296305 Got request: GET /verifiedserver HTTP/1.1 02:03:01.296315 Are-we-friendly question received 02:03:01.296339 Wrote request (93 bytes) input to log/7/server.input 02:03:01.296357 Identifying ourselves as friends 02:03:01.296423 Response sent (56 bytes) and written to log/7/server.response 02:03:01.296435 special request received, no persistency 02:03:01.296444 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1124 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1124 ==134249== ==134249== Process terminating with default action of signal 4 (SIGILL) ==134249== Illegal opcode at address 0x10B08D ==134249== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134249== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1124 test 1125...[HTTP GET transfer-encoding with custom Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1125 ../src/curl -q --output log/2/curl1125.out --include --trace-ascii log/2/trace1125 --trace-config all --trace-time http://127.0.0.1:38781/1125 --tr-encoding -H "Connection: close" > log/2/stdout1125 2> log/2/stderr1125 1125: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1125 === Start of file http_server.log 02:03:01.422969 ====> Client connect 02:03:01.423003 accept_connection 3 returned 4 02:03:01.423021 accept_connection 3 returned 0 02:03:01.423035 Read 93 bytes 02:03:01.423047 Process 93 bytes request 02:03:01.423062 Got request: GET /verifiedserver HTTP/1.1 02:03:01.423072 Are-we-friendly question received 02:03:01.423097 Wrote request (93 bytes) input to log/2/server.input 02:03:01.423114 Identifying ourselves as friends 02:03:01.423181 Response sent (56 bytes) and written to log/2/server.response 02:03:01.423192 special request received, no persistency 02:03:01.423202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > HosCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/8/stdout1135 2> log/8/stderr1135 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1139.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/8/stdout1139 2> log/8/stderr1139 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1140.pl /startdir/src/build-curl/tests/../docs/ /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 > log/8/stdout1140 2> log/8/stderr1140 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1129 ../src/curl -q --include --trace-ascii log/1/trace1129 --trace-config all --trace-time -d @log/1/file1129 --expect100-timeout 99 http://127.0.0.1:34215/1129 http://127.0.0.1:34215/11290001 > log/1/stdout1129 2> log/1/stderr1129 t: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1125 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1125 ==134363== ==134363== Process terminating with default action of signal 4 (SIGILL) ==134363== Illegal opcode at address 0x10B08D ==134363== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134363== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1125 * starts no server test 1135...[Verify CURL_EXTERN order] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/8/stdout1135 2> log/8/stderr1135 valgrind SKIPPED s------e--- OK (1015 out of 1584, remaining: 01:03, took 0.048s, duration: 01:53) * starts no server test 1139...[Verify that all libcurl options have man pages] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1139.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/8/stdout1139 2> log/8/stderr1139 valgrind SKIPPED -r-----e--- OK (1019 out of 1584, remaining: 01:03, took 0.041s, duration: 01:54) * starts no server test 1140...[Verify the nroff of manpages] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1140.pl /startdir/src/build-curl/tests/../docs/ /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 > log/8/stdout1140 2> log/8/stderr1140 valgrind SKIPPED s------e--- OK (1020 out of 1584, remaining: 01:03, took 0.056s, duration: 01:54) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1126 ../src/curl -q --output log/4/curl1126.out --include --trace-ascii log/4/trace1126 --trace-config all --trace-time http://127.0.0.1:36813/1126 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout1126 2> log/4/stderr1126 test 1129...[HTTP POST expect 100-continue with a 404] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1129 ../src/curl -q --include --trace-ascii log/1/trace1129 --trace-config all --trace-time -d @log/1/file1129 --expect100-timeout 99 http://127.0.0.1:34215/1129 http://127.0.0.1:34215/11290001 > log/1/stdout1129 2> log/1/stderr1129 1129: stdout FAILED: --- log/1/check-expected 2024-12-15 02:03:02.146591633 +0000 +++ log/1/check-generated 2024-12-15 02:03:02.146591633 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 404 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] -HTTP/1.1 404 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] == Contents of files in the log/1/ dir after test 1129 === Start of file check-expected HTTP/1.1 404 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] HTTP/1.1 404 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] === End of file check-expected === Start of file file1129 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file file1129 === Start of file http_server.log 02:03:01.601442 ====> Client connect 02:03:01.601474 accept_connection 3 returned 4 02:03:01.601492 accept_connection 3 returned 0 02:03:01.601507 Read 93 bytes 02:03:01.601518 Process 93 bytes request 02:03:01.601534 Got request: GET /verifiedserver HTTP/1.1 02:03:01.601545 Are-we-friendly question received 02:03:01.601567 Wrote request (93 bytes) input to log/1/server.input 02:03:01.601585 Identifying ourselves as friends 02:03:01.601651 Response sent (56 bytes) and written to log/1/server.response 02:03:01.601663 special request received, no persistency 02:03:01.601673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd skip: 1053700 Testnum 1129 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1129 ==134562== ==134562== Process terminating with default action of signal 4 (SIGILL) ==134562== Illegal opcode at address 0x10B08D ==134562== at 0x10B08D: UnknownInlinedFun (sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1127 ../src/curl -q --output log/9/curl1127.out --include --trace-ascii log/9/trace1127 --trace-config all --trace-time http://127.0.0.1:38509/1127 -z "dec 12 12:00:00 1999 GMT" > log/9/stdout1127 2> log/9/stderr1127 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1128 ../src/curl -q --include --trace-ascii log/10/trace1128 --trace-config all --trace-time http://127.0.0.1:42929/1128 http://127.0.0.1:42929/11280001 -z "dec 12 12:00:00 1999 GMT" > log/10/stdout1128 2> log/10/stderr1128 tring_fortified.h:59) ==134562== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1129 test 1126...[HTTP 200 If-Modified-Since with newer document] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1126 ../src/curl -q --output log/4/curl1126.out --include --trace-ascii log/4/trace1126 --trace-config all --trace-time http://127.0.0.1:36813/1126 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout1126 2> log/4/stderr1126 1126: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1126 === Start of file http_server.log 02:03:01.487610 ====> Client connect 02:03:01.487828 accept_connection 3 returned 4 02:03:01.487847 accept_connection 3 returned 0 02:03:01.487862 Read 93 bytes 02:03:01.487873 Process 93 bytes request 02:03:01.487888 Got request: GET /verifiedserver HTTP/1.1 02:03:01.487898 Are-we-friendly question received 02:03:01.487918 Wrote request (93 bytes) input to log/4/server.input 02:03:01.487935 Identifying ourselves as friends 02:03:01.488008 Response sent (56 bytes) and written to log/4/server.response 02:03:01.488019 special request received, no persistency 02:03:01.488028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1126 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1126 ==134425== ==134425== Process terminating with default action of signal 4 (SIGILL) ==134425== Illegal opcode at address 0x10B08D ==134425== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134425== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1126 test 1127...[HTTP 200 If-Modified-Since with older document] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1127 ../src/curl -q --output log/9/curl1127.out --include --trace-ascii log/9/trace1127 --trace-config all --trace-time http://127.0.0.1:38509/1127 -z "dec 12 12:00:00 1999 GMT" > log/9/stdout1127 2> log/9/stderr1127 1127: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1127 === Start of file http_server.log 02:03:01.579377 ====> Client connect 02:03:01.579413 accept_connection 3 returned 4 02:03:01.579431 accept_connection 3 returned 0 02:03:01.579446 Read 93 bytes 02:03:01.579458 Process 93 bytes request 02:03:01.579471 Got request: GET /verifiedserver HTTP/1.1 02:03:01.579481 Are-we-friendly question received 02:03:01.579505 Wrote request (93 bytes) input to log/9/server.input 02:03:01.579522 Identifying ourselves as friends 02:03:01.579596 Response sent (56 bytes) and written to log/9/server.response 02:03:01.579608 special request received, no persistency 02:03:01.579618 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1127 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1127 ==134529== ==134529== Process terminating with default action of signal 4 (SIGILL) ==134529== Illegal opcode at address 0x10B08D ==134529== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134529== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1127 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1131 ../src/curl -q --include --trace-ascii log/11/trace1131 --trace-config all --trace-time -H "Expect: 100-continue" -T log/11/file1131 http://127.0.0.1:44137/1131 -T log/11/file1131 http://127.0.0.1:44137/11310001 --expect100-timeout 99 > log/11/stdout1131 2> log/11/stderr1131 test 1128...[HTTP 200 If-Modified-Since with old+new documents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1128 ../src/curl -q --include --trace-ascii log/10/trace1128 --trace-config all --trace-time http://127.0.0.1:42929/1128 http://127.0.0.1:42929/11280001 -z "dec 12 12:00:00 1999 GMT" > log/10/stdout1128 2> log/10/stderr1128 1128: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:02.179925562 +0000 +++ log/10/check-generated 2024-12-15 02:03:02.179925562 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT[LF] -Content-Length: 11[LF] -Content-Type: text/html[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:01 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT[LF] -Content-Length: 11[LF] -Content-Type: text/html[LF] -[LF] -0123456789[LF] == Contents of files in the log/10/ dir after test 1128 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT[LF] Content-Length: 11[LF] Content-Type: text/html[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:01 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT[LF] Content-Length: 11[LF] Content-Type: text/html[LF] [LF] 0123456789[LF] === End of file check-expected === Start of file http_server.log 02:03:01.572327 ====> Client connect 02:03:01.572364 accept_connection 3 returned 4 02:03:01.572383 accept_connection 3 returned 0 02:03:01.572397 Read 93 bytes 02:03:01.572408 Process 93 bytes request 02:03:01.572424 Got request: GET /verifiedserver HTTP/1.1 02:03:01.572434 Are-we-friendly question received 02:03:01.572457 Wrote request (93 bytes) input to log/10/server.input 02:03:01.572474 Identifying ourselves as friends 02:03:01.572545 Response sent (56 bytes) and written to log/10/server.response 02:03:01.572556 special request received, no persistency 02:03:01.572565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1128 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1128 ==134530== ==134530== Process terminating with default action of signal 4 (SIGILL) ==134530== Illegal opcode at address 0x10B08D ==134530== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134530== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1128 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1130 ../src/curl -q --include --trace-ascii log/12/trace1130 --trace-config all --trace-time -d @log/12/file1130 http://127.0.0.1:40653/1130 http://127.0.0.1:40653/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/12/stdout1130 2> log/12/stderr1130 test 1131...[HTTP PUT expect 100-continue with a 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1131 ../src/curl -q --include --trace-ascii log/11/trace1131 --trace-config all --trace-time -H "Expect: 100-continue" -T log/11/file1131 http://127.0.0.1:44137/1131 -T log/11/file1131 http://127.0.0.1:44137/11310001 --expect100-timeout 99 > log/11/stdout1131 2> log/11/stderr1131 1131: stdout FAILED: --- log/11/check-expected 2024-12-15 02:03:02.416596443 +0000 +++ log/11/check-generated 2024-12-15 02:03:02.416596443 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 400 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 9[LF] -Content-Type: text/html[LF] -[LF] -FAILURE1[LF] -HTTP/1.1 400 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 9[LF] -Content-Type: text/html[LF] -[LF] -FAILURE2[LF] == Contents of files in the log/11/ dir after test 1131 === Start of file check-expected HTTP/1.1 400 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 9[LF] Content-Type: text/html[LF] [LF] FAILURE1[LF] HTTP/1.1 400 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 9[LF] Content-Type: text/html[LF] [LF] FAILURE2[LF] === End of file check-expected === Start of file file1131 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1131 === Start of file http_server.log 02:03:01.893439 ====> Client connect 02:03:01.893470 accept_connection 3 returned 4 02:03:01.893487 accept_connection 3 returned 0 02:03:01.893501 Read 93 bytes 02:03:01.893511 Process 93 bytes request 02:03:01.893526 Got request: GET /verifiedserver HTTP/1.1 02:03:01.893536 Are-we-friendly question received 02:03:01.893562 Wrote request (93 bytes) input to log/11/server.input 02:03:01.893579 Identifying ourselves as friends 02:03:01.893644 Response sent (56 bytes) and written to log/11/server.response 02:03:01.893654 special request received, no persistency 02:03:01.893663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd skip: 100 Testnum 1131 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1131 ==134720== ==134720== Process terminating with default action of signal 4 (SIGILL) ==134720== Illegal opcode at address 0x10B08D ==134720== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134720== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1131 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1133 ../src/curl -q --output log/5/curl1133.out --include --trace-ascii log/5/trace1133 --trace-config all --trace-time http://127.0.0.1:33361/we/want/1133 -F "file=@\"log/5/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/5/test1133,and;.txt"' -F 'file3=@"log/5/test1133,and;.txt";type=m/f,"log/5/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/5/stdout1133 2> log/5/stderr1133 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1134 ../src/curl -q --output log/6/curl1134.out --include --trace-ascii log/6/trace1134 --trace-config all --trace-time http://127.0.0.1:39457/1134 -u user1:password1 --next http://127.0.0.1:39457/11340001 -u 2user:password2 > log/6/stdout1134 2> log/6/stderr1134 test 1130...[HTTP POST forced expect 100-continue with a 404] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1130 ../src/curl -q --include --trace-ascii log/12/trace1130 --trace-config all --trace-time -d @log/12/file1130 http://127.0.0.1:40653/1130 http://127.0.0.1:40653/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/12/stdout1130 2> log/12/stderr1130 1130: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:02.439930194 +0000 +++ log/12/check-generated 2024-12-15 02:03:02.439930194 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 404 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] -HTTP/1.1 404 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] == Contents of files in the log/12/ dir after test 1130 === Start of file check-expected HTTP/1.1 404 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] HTTP/1.1 404 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] === End of file check-expected === Start of file file1130 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1130 === Start of file http_server.log 02:03:01.897721 ====> Client connect 02:03:01.897752 accept_connection 3 returned 4 02:03:01.897770 accept_connection 3 returned 0 02:03:01.897786 Read 93 bytes 02:03:01.897797 Process 93 bytes request 02:03:01.897810 Got request: GET /verifiedserver HTTP/1.1 02:03:01.897820 Are-we-friendly question received 02:03:01.897844 Wrote request (93 bytes) input to log/12/server.input 02:03:01.897860 Identifying ourselves as friends 02:03:01.897926 Response sent (56 bytes) and written to log/12/server.response 02:03:01.897938 special request received, no persistency 02:03:01.897947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd skip: 100 Testnum 1130 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1130 ==134719== ==134719== Process terminating with default action of signal 4 (SIGILL) ==134719== Illegal opcode at address 0x10B08D ==134719== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134719== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1130 test 1133...[HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1133 ../src/curl -q --output log/5/curl1133.out --include --trace-ascii log/5/trace1133 --trace-config all --trace-time http://127.0.0.1:33361/we/want/1133 -F "file=@\"log/5/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/5/test1133,and;.txt"' -F 'file3=@"log/5/test1133,and;.txt";type=m/f,"log/5/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/5/stdout1133 2> log/5/stderr1133 1133: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1133 === Start of file http_server.log 02:03:01.954999 ====> Client connect 02:03:01.955034 accept_connection 3 returned 4 02:03:01.955052 accept_connection 3 returned 0 02:03:01.955068 Read 93 bytes 02:03:01.955079 Process 93 bytes request 02:03:01.955094 Got request: GET /verifiedserver HTTP/1.1 02:03:01.955104 Are-we-friendly question received 02:03:01.955127 Wrote request (93 bytes) input to log/5/server.input 02:03:01.955177 Identifying ourselves as friends 02:03:01.955246 Response sent (56 bytes) and written to log/5/server.response 02:03:01.955258 special request received, no persistency 02:03:01.955268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1133 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file test1133,and;.txt foo bar This is a bar foo bar foo === End of file test1133,and;.txt === Start of file valgrind1133 ==134798== ==134798== Process terminating with default action of signal 4 (SIGILL) ==134798== Illegal opcode at address 0x10B08D ==134798== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134798== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1133 test 1134...[HTTP connection reuse with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1134 ../src/curl -q --output log/6/curl1134.out --include --trace-ascii log/6/trace1134 --trace-config all --trace-time http://127.0.0.1:39457/1134 -u user1:password1 --next http://127.0.0.1:39457/11340001 -u 2user:password2 > log/6/stdout1134 2> log/6/stderr1134 1134: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1134 === Start of file http_server.log 02:03:01.991065 ====> Client connect 02:03:01.991097 accept_connection 3 returned 4 02:03:01.991113 accept_connection 3 returned 0 02:03:01.991127 Read 93 bytes 02:03:01.991138 Process 93 bytes request 02:03:01.991152 Got request: GET /verifiedserver HTTP/1.1 02:03:01.991161 Are-we-friendly question received 02:03:01.991183 Wrote request (93 bytes) input to log/6/server.input 02:03:01.991199 Identifying ourselves as friends 02:03:01.991260 Response sent (56 bytes) and written to log/6/server.response 02:03:01.991270 special request received, no persistency 02:03:01.991280 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1134 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrindCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1136 ../src/curl -q --output log/3/curl1136.out --include --trace-ascii log/3/trace1136 --trace-config all --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/3/jar1136.txt -x 127.0.0.1:34527 > log/3/stdout1136 2> log/3/stderr1136 1134 ==134859== ==134859== Process terminating with default action of signal 4 (SIGILL) ==134859== Illegal opcode at address 0x10B08D ==134859== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134859== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1134 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1138 ../src/curl -q --output log/2/curl1138.out --include --trace-ascii log/2/trace1138 --trace-config all --trace-time http://127.0.0.1:38781/we/are/all/twits/1138 -L > log/2/stdout1138 2> log/2/stderr1138 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1141 ../src/curl -q --output log/8/curl1141.out --include --trace-ascii log/8/trace1141 --trace-config all --trace-time 127.0.0.1:43803/want/1141 -L -x http://127.0.0.1:43803 > log/8/stdout1141 2> log/8/stderr1141 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1144 ../src/curl -q --output log/10/curl1144.out --include --trace-ascii log/10/trace1144 --trace-config all --trace-time -I http://127.0.0.1:42929/1144 --http0.9 > log/10/stdout1144 2> log/10/stderr1144 setenv TZ = GMT test 1136...[Check cookies against PSL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1136 ../src/curl -q --output log/3/curl1136.out --include --trace-ascii log/3/trace1136 --trace-config all --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/3/jar1136.txt -x 127.0.0.1:34527 > log/3/stdout1136 2> log/3/stderr1136 1136: data FAILED: --- log/3/check-expected 2024-12-15 02:03:02.736602145 +0000 +++ log/3/check-generated 2024-12-15 02:03:02.736602145 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 4[LF] -Content-Type: text/html[LF] -Funny-head: yesyes[LF] -Set-Cookie: test1=forbidden1; domain=example.ck; path=/;[LF] -Set-Cookie: test2=allowed2; domain=www.example.ck; path=/;[LF] -Set-Cookie: test3=forbidden3; domain=ck; path=/;[LF] -Set-Cookie: test4=allowed4; domain=www.ck; path=/;[LF] -Set-Cookie: test5=forbidden5; domain=z-1.compute-1.amazonaws.com; path=/;[LF] -[LF] -boo[LF] == Contents of files in the log/3/ dir after test 1136 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 4[LF] Content-Type: text/html[LF] Funny-head: yesyes[LF] Set-Cookie: test1=forbidden1; domain=example.ck; path=/;[LF] Set-Cookie: test2=allowed2; domain=www.example.ck; path=/;[LF] Set-Cookie: test3=forbidden3; domain=ck; path=/;[LF] Set-Cookie: test4=allowed4; domain=www.ck; path=/;[LF] Set-Cookie: test5=forbidden5; domain=z-1.compute-1.amazonaws.com; path=/;[LF] [LF] boo[LF] === End of file check-expected === Start of file http_server.log 02:03:02.124850 ====> Client connect 02:03:02.124884 accept_connection 3 returned 4 02:03:02.124901 accept_connection 3 returned 0 02:03:02.124914 Read 93 bytes 02:03:02.124925 Process 93 bytes request 02:03:02.124940 Got request: GET /verifiedserver HTTP/1.1 02:03:02.124950 Are-we-friendly question received 02:03:02.124975 Wrote request (93 bytes) input to log/3/server.input 02:03:02.124992 Identifying ourselves as friends 02:03:02.125055 Response sent (56 bytes) and written to log/3/server.response 02:03:02.125066 special request received, no persistency 02:03:02.125076 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1136 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1136 ==134997== ==134997== Process terminating with default action of signal 4 (SIGILL) ==134997== Illegal opcode at address 0x10B08D ==134997== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==134997== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1136 test 1138...[HTTP redirect with UTF-8 characters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1138 ../src/curl -q --output log/2/curl1138.out --include --trace-ascii log/2/trace1138 --trace-config all --trace-time http://127.0.0.1:38781/we/are/all/twits/1138 -L > log/2/stdout1138 2> log/2/stderr1138 1138: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1138 === Start of file http_server.log 02:03:02.152314 ====> Client connect 02:03:02.152350 accept_connection 3 returned 4 02:03:02.152367 accept_connection 3 returned 0 02:03:02.152381 Read 93 bytes 02:03:02.152392 Process 93 bytes request 02:03:02.152405 Got request: GET /verifiedserver HTTP/1.1 02:03:02.152416 Are-we-friendly question received 02:03:02.152441 Wrote request (93 bytes) input to log/2/server.input 02:03:02.152459 Identifying ourselves as friends 02:03:02.152531 Response sent (56 bytes) and written to log/2/server.response 02:03:02.152545 special request received, no persistency 02:03:02.152555 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1138 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1138 ==135027== ==135027== Process terminating with default action of signal 4 (SIGILL) ==135027== Illegal opcode at address 0x10B08D ==135027== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135027== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1138 test 1141...[HTTP redirect to http:/// (three slashes!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1141 ../src/curl -q --output log/8/curl1141.out --include --trace-ascii log/8/trace1141 --trace-config all --trace-time 127.0.0.1:43803/want/1141 -L -x http://127.0.0.1:43803 > log/8/stdout1141 2> log/8/stderr1141 1141: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1141 === Start of file http_server.log 02:03:02.264627 ====> Client connect 02:03:02.264660 accept_connection 3 returned 4 02:03:02.264676 accept_connection 3 returned 0 02:03:02.264690 Read 93 bytes 02:03:02.264700 Process 93 bytes request 02:03:02.264715 Got request: GET /verifiedserver HTTP/1.1 02:03:02.264725 Are-we-friendly question received 02:03:02.264747 Wrote request (93 bytes) input to log/8/server.input 02:03:02.264765 Identifying ourselves as friends 02:03:02.264830 Response sent (56 bytes) and written to log/8/server.response 02:03:02.264841 special request received, no persistency 02:03:02.264851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1141 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1141 ==135120== ==135120== Process terminating with default action of signal 4 (SIGILL) ==135120== Illegal opcode at address 0x10B08D ==135120== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135120== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1141 test 1144...[HTTP HEAD, receive no headers only body] ../libtool --modeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1142 ../src/curl -q --output log/1/curl1142.out --include --trace-ascii log/1/trace1142 --trace-config all --trace-time 127.0.0.1:34215/want/1142 -L -x http://127.0.0.1:34215 > log/1/stdout1142 2> log/1/stderr1142 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1143 ../src/curl -q --output log/4/curl1143.out --include --trace-ascii log/4/trace1143 --trace-config all --trace-time http:/127.0.0.1:36813/want/1143 > log/4/stdout1143 2> log/4/stderr1143 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1145 ../src/curl -q --output log/9/curl1145.out --include --trace-ascii log/9/trace1145 --trace-config all --trace-time file://bad-host/startdir/src/build-curl/tests/log/9/test1145.txt > log/9/stdout1145 2> log/9/stderr1145 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1148 ../src/curl -q --output log/5/curl1148.out --include --trace-ascii log/5/trace1148 --trace-config all --trace-time http://127.0.0.1:33361/1148 -# --stderr log/5/stderrlog1148 > log/5/stdout1148 2> log/5/stderr1148 =execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1144 ../src/curl -q --output log/10/curl1144.out --include --trace-ascii log/10/trace1144 --trace-config all --trace-time -I http://127.0.0.1:42929/1144 --http0.9 > log/10/stdout1144 2> log/10/stderr1144 1144: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1144 === Start of file http_server.log 02:03:02.492091 ====> Client connect 02:03:02.492123 accept_connection 3 returned 4 02:03:02.492139 accept_connection 3 returned 0 02:03:02.492154 Read 93 bytes 02:03:02.492164 Process 93 bytes request 02:03:02.492179 Got request: GET /verifiedserver HTTP/1.1 02:03:02.492189 Are-we-friendly question received 02:03:02.492211 Wrote request (93 bytes) input to log/10/server.input 02:03:02.492227 Identifying ourselves as friends 02:03:02.492301 Response sent (56 bytes) and written to log/10/server.response 02:03:02.492312 special request received, no persistency 02:03:02.492321 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1144 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1144 ==135254== ==135254== Process terminating with default action of signal 4 (SIGILL) ==135254== Illegal opcode at address 0x10B08D ==135254== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135254== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1144 test 1142...[HTTP redirect to http://// (four slashes!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1142 ../src/curl -q --output log/1/curl1142.out --include --trace-ascii log/1/trace1142 --trace-config all --trace-time 127.0.0.1:34215/want/1142 -L -x http://127.0.0.1:34215 > log/1/stdout1142 2> log/1/stderr1142 1142: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1142 === Start of file http_server.log 02:03:02.463955 ====> Client connect 02:03:02.463986 accept_connection 3 returned 4 02:03:02.464004 accept_connection 3 returned 0 02:03:02.464018 Read 93 bytes 02:03:02.464029 Process 93 bytes request 02:03:02.464045 Got request: GET /verifiedserver HTTP/1.1 02:03:02.464054 Are-we-friendly question received 02:03:02.464079 Wrote request (93 bytes) input to log/1/server.input 02:03:02.464096 Identifying ourselves as friends 02:03:02.464163 Response sent (56 bytes) and written to log/1/server.response 02:03:02.464174 special request received, no persistency 02:03:02.464182 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1142 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1142 ==135247== ==135247== Process terminating with default action of signal 4 (SIGILL) ==135247== Illegal opcode at address 0x10B08D ==135247== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135247== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1142 setenv MSYS2_ARG_CONV_EXCL = http:/ test 1143...[HTTP URL with http:/ (one slash!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1143 ../src/curl -q --output log/4/curl1143.out --include --trace-ascii log/4/trace1143 --trace-config all --trace-time http:/127.0.0.1:36813/want/1143 > log/4/stdout1143 2> log/4/stderr1143 1143: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1143 === Start of file http_server.log 02:03:02.430025 ====> Client connect 02:03:02.430060 accept_connection 3 returned 4 02:03:02.430077 accept_connection 3 returned 0 02:03:02.430092 Read 93 bytes 02:03:02.430103 Process 93 bytes request 02:03:02.430118 Got request: GET /verifiedserver HTTP/1.1 02:03:02.430128 Are-we-friendly question received 02:03:02.430151 Wrote request (93 bytes) input to log/4/server.input 02:03:02.430168 Identifying ourselves as friends 02:03:02.430235 Response sent (56 bytes) and written to log/4/server.response 02:03:02.430248 special request received, no persistency 02:03:02.430257 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1143 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1143 ==135224== ==135224== Process terminating with default action of signal 4 (SIGILL) ==135224== Illegal opcode at address 0x10B08D ==135224== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135224== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1143 test 1145...[file:// bad host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1145 ../src/curl -q --output log/9/curl1145.out --include --trace-ascii log/9/trace1145 --trace-config all --trace-time file://bad-host/startdir/src/build-curl/tests/log/9/test1145.txt > log/9/stdout1145 2> log/9/stderr1145 curl returned 132, when expecting 3 1145: exit FAILED == Contents of files in the log/9/ dir after test 1145 === Start of file server.cmd Testnum 1145 === End of file server.cmd === Start of file test1145.txt foo bar bar foo moo === End of file test1145.txt === Start of file valgrind1145 ==135208== ==135208== Process terminating with default action of signal 4 (SIGILL) ==135208== Illegal opcode at address 0x10B08D ==135208== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135208== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1145 setenv LC_ALL = setenv LC_NUMERIC = en_US.UTF-8 test 1148...[progress-bar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1148 ../src/cuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1151 ../src/curl -q --output log/2/curl1151.out --include --trace-ascii log/2/trace1151 --trace-config all --trace-time http://127.0.0.1:38781/1151 -c log/2/cookies1151.txt > log/2/stdout1151 2> log/2/stderr1151 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1147 ../src/curl -q --output log/12/curl1147.out --include --trace-ascii log/12/trace1147 --trace-config all --trace-time http://127.0.0.1:40653/1147 -H @log/12/heads1147.txt > log/12/stdout1147 2> log/12/stderr1147 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1146 ../src/curl -q --output log/11/curl1146.out --trace-ascii log/11/trace1146 --trace-config all --trace-time --proto-default file /startdir/src/build-curl/tests/log/11/test1146.txt > log/11/stdout1146 2> log/11/stderr1146 rl -q --output log/5/curl1148.out --include --trace-ascii log/5/trace1148 --trace-config all --trace-time http://127.0.0.1:33361/1148 -# --stderr log/5/stderrlog1148 > log/5/stdout1148 2> log/5/stderr1148 1148: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1148 === Start of file http_server.log 02:03:02.883439 ====> Client connect 02:03:02.883471 accept_connection 3 returned 4 02:03:02.883487 accept_connection 3 returned 0 02:03:02.883500 Read 93 bytes 02:03:02.883510 Process 93 bytes request 02:03:02.883523 Got request: GET /verifiedserver HTTP/1.1 02:03:02.883533 Are-we-friendly question received 02:03:02.883554 Wrote request (93 bytes) input to log/5/server.input 02:03:02.883570 Identifying ourselves as friends 02:03:02.883632 Response sent (56 bytes) and written to log/5/server.response 02:03:02.883643 special request received, no persistency 02:03:02.883652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1148 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1148 ==135553== ==135553== Process terminating with default action of signal 4 (SIGILL) ==135553== Illegal opcode at address 0x10B08D ==135553== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135553== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1148 test 1151...[HTTP with too long cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1151 ../src/curl -q --output log/2/curl1151.out --include --trace-ascii log/2/trace1151 --trace-config all --trace-time http://127.0.0.1:38781/1151 -c log/2/cookies1151.txt > log/2/stdout1151 2> log/2/stderr1151 1151: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1151 === Start of file http_server.log 02:03:03.062174 ====> Client connect 02:03:03.062208 accept_connection 3 returned 4 02:03:03.062225 accept_connection 3 returned 0 02:03:03.062240 Read 93 bytes 02:03:03.062251 Process 93 bytes request 02:03:03.062265 Got request: GET /verifiedserver HTTP/1.1 02:03:03.062275 Are-we-friendly question received 02:03:03.062300 Wrote request (93 bytes) input to log/2/server.input 02:03:03.062319 Identifying ourselves as friends 02:03:03.062392 Response sent (56 bytes) and written to log/2/server.response 02:03:03.062405 special request received, no persistency 02:03:03.062415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1151 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1151 ==135665== ==135665== Process terminating with default action of signal 4 (SIGILL) ==135665== Illegal opcode at address 0x10B08D ==135665== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135665== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1151 test 1147...[Get -H headers from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1147 ../src/curl -q --output log/12/curl1147.out --include --trace-ascii log/12/trace1147 --trace-config all --trace-time http://127.0.0.1:40653/1147 -H @log/12/heads1147.txt > log/12/stdout1147 2> log/12/stderr1147 1147: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1147 === Start of file heads1147.txt One: 1 Two: 2 no-colon And A Funny One : wohoo User-Agent: === End of file heads1147.txt === Start of file http_server.log 02:03:02.704992 ====> Client connect 02:03:02.705030 accept_connection 3 returned 4 02:03:02.705050 accept_connection 3 returned 0 02:03:02.705068 Read 93 bytes 02:03:02.705080 Process 93 bytes request 02:03:02.705095 Got request: GET /verifiedserver HTTP/1.1 02:03:02.705106 Are-we-friendly question received 02:03:02.705160 Wrote request (93 bytes) input to log/12/server.input 02:03:02.705181 Identifying ourselves as friends 02:03:02.705258 Response sent (56 bytes) and written to log/12/server.response 02:03:02.705271 special request received, no persistency 02:03:02.705281 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1147 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1147 ==135452== ==135452== Process terminating with default action of signal 4 (SIGILL) ==135452== Illegal opcode at address 0x10B08D ==135452== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135452== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1147 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1150 ../src/curl -q --output log/3/curl1150.out --include --trace-ascii log/3/trace1150 --trace-config all --trace-time --proxy http://127.0.0.1:34527 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/3/stdout1150 2> log/3/stderr1150 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1152 ../src/curl -q --output log/8/curl1152.out --include --trace-ascii log/8/trace1152 --trace-config all --trace-time ftp://127.0.0.1:39101/test-1152/ > log/8/stdout1152 2> log/8/stderr1152 test 1146...[--proto-default file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1146 ../src/curl -q --output log/11/curl1146.out --trace-ascii log/11/trace1146 --trace-config all --trace-time --proto-default file /startdir/src/build-curl/tests/log/11/test1146.txt > log/11/stdout1146 2> log/11/stderr1146 1146: data FAILED: --- log/11/check-expected 2024-12-15 02:03:04.096626375 +0000 +++ log/11/check-generated 2024-12-15 02:03:04.096626375 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/11/ dir after test 1146 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file server.cmd Testnum 1146 === End of file server.cmd === Start of file test1146.txt foo bar bar foo moo === End of file test1146.txt === Start of file valgrind1146 ==135406== ==135406== Process terminating with default action of signal 4 (SIGILL) ==135406== Illegal opcode at address 0x10B08D ==135406== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135406== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1146 test 1150...[HTTP proxy with URLs using different ports] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1150 ../src/curl -q --output log/3/curl1150.out --include --trace-ascii log/3/trace1150 --trace-config all --trace-time --proxy http://127.0.0.1:34527 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/3/stdout1150 2> log/3/stderr1150 1150: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1150 === Start of file http_server.log 02:03:03.058243 ====> Client connect 02:03:03.058281 accept_connection 3 returned 4 02:03:03.058299 accept_connection 3 returned 0 02:03:03.058315 Read 93 bytes 02:03:03.058326 Process 93 bytes request 02:03:03.058340 Got request: GET /verifiedserver HTTP/1.1 02:03:03.058350 Are-we-friendly question received 02:03:03.058374 Wrote request (93 bytes) input to log/3/server.input 02:03:03.058392 Identifying ourselves as friends 02:03:03.058488 Response sent (56 bytes) and written to log/3/server.response 02:03:03.058501 special request received, no persistency 02:03:03.058511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1150 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1150 ==135681== ==135681== Process terminating with default action of signal 4 (SIGILL) ==135681== Illegal opcode at address 0x10B08D ==135681== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135681== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1150 test 1152...[FTP with uneven quote in PWD response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1152 ../src/curl -q --output log/8/curl1152.out --include --trace-ascii log/8/trace1152 --trace-config all --trace-time ftp://127.0.0.1:39101/test-1152/ > log/8/stdout1152 2> log/8/stderr1152 1152: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1152 === Start of file ftp_server.log 02:03:03.167473 ====> Client connect 02:03:03.167626 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:03.178750 < "USER anonymous" 02:03:03.178807 > "331 We are happy you popped in![CR][LF]" 02:03:03.179021 < "PASS ftp@example.com" 02:03:03.179049 > "230 Welcome you silly person[CR][LF]" 02:03:03.179210 < "PWD" 02:03:03.179243 > "257 "/" is current directory[CR][LF]" 02:03:03.179412 < "EPSV" 02:03:03.179439 ====> Passive DATA channel requested by client 02:03:03.179452 DATA sockfilt for passive data channel starting... 02:03:03.183983 DATA sockfilt for passive data channel started (pid 135855) 02:03:03.184098 DATA sockfilt for passive data channel listens on port 42691 02:03:03.184144 > "229 Entering Passive Mode (|||42691|)[LF]" 02:03:03.184163 Client has been notified that DATA conn will be accepted on port 42691 02:03:03.184422 Client connects to port 42691 02:03:03.184452 ====> Client established passive DATA connection on port 42691 02:03:03.184569 < "TYPE I" 02:03:03.184600 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:03.184781 < "SIZE verifiedserver" 02:03:03.184820 > "213 17[CR][LF]" 02:03:03.184983 < "RETR verifiedserver" 02:03:03.185016 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:03.185196 =====> Closing passive DATA connection... 02:03:03.185214 Server disconnects passive DATA connection 02:03:03.185449 Server disconnected passive DATA connection 02:03:03.185477 DATA sockfilt for passive data channel quits (pid 135855) 02:03:03.191736 DATA sockfilt for passive data channel quit (pid 135855) 02:03:03.191786 =====> Closed passive DATA connection 02:03:03.191824 > "226 File transfer complete[CR][LF]" 02:03:03.236869 < "QUIT" 02:03:03.236925 > "221 bye bye baby[CR][LF]" 02:03:03.241769 MAIN sockfilt said DISC 02:03:03.241819 ====> Client disconnected 02:03:03.241889 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:03.367496 ====> Client connect 02:03:03.367775 Received DATA (on stdin) 02:03:03.367790 > 160 bytes data, server => client 02:03:03.367802 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:03.367814 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:03.367826 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:03.376012 < 16 bytes data, client => server 02:03:03.376053 'USER anonymous\r\n' 02:03:03.378957 Received DATA (on stdin) 02:03:03.378977 > 33 bytes data, server => client 02:03:03.378990 '331 We are happy you popped in!\r\n' 02:03:03.379068 < 22 bytes data, client => server 02:03:03.379083 'PASS ftp@example.com\r\n' 02:03:03.379189 Received DATA (on stdin) 02:03:03.379202 > 30 bytes data, server => client 02:03:03.379213 '230 Welcome you silly person\r\n' 02:03:03.379267 < 5 bytes data, client => server 02:03:03.379279 'PWD\r\n' 02:03:03.379383 Received DATA (on stdin) 02:03:03.379395 > 30 bytes data, server => client 02:03:03.379406 '257 "/" is current directory\r\n' 02:03:03.379469 < 6 bytes data, client => server 02:03:03.379482 'EPSV\r\n' 02:03:03.384314 Received DATA (on stdin) 02:03:03.384329 > 38 bytes data, server => client 02:03:03.384342 '229 Entering Passive Mode (|||42691|)\n' 02:03:03.384606 < 8 bytes data, client => server 02:03:03.384621 'TYPE I\r\n' 02:03:03.384744 Received DATA (on stdin) 02:03:03.384757 > 33 bytes data, server => client 02:03:03.384769 '200 I modify TYPE as you wanted\r\n' 02:03:03.384828 < 21 bytes data, client => server 02:03:03.384843 'SIZE verifiedserver\r\n' 02:03:03.384961 Received DATA (on stdin) 02:03:03.384975 > 8 bytes data, server => client 02:03:03.384985 '213 17\r\n' 02:03:03.385038 < 21 bytes data,CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1149 ../src/curl -q --output log/6/curl1149.out --include --trace-ascii log/6/trace1149 --trace-config all --trace-time ftp://127.0.0.1:40433/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:40433/list/this/path/1149/ --ftp-method nocwd > log/6/stdout1149 2> log/6/stderr1149 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1137 ../src/curl -q --output log/7/curl1137.out --include --trace-ascii log/7/trace1137 --trace-config all --trace-time ftp://127.0.0.1:40455/1137 --ignore-content-length > log/7/stdout1137 2> log/7/stderr1137 client => server 02:03:03.385050 'RETR verifiedserver\r\n' 02:03:03.385448 Received DATA (on stdin) 02:03:03.385462 > 29 bytes data, server => client 02:03:03.385473 '150 Binary junk (17 bytes).\r\n' 02:03:03.391974 Received DATA (on stdin) 02:03:03.391991 > 28 bytes data, server => client 02:03:03.392002 '226 File transfer complete\r\n' 02:03:03.436818 < 6 bytes data, client => server 02:03:03.436855 'QUIT\r\n' 02:03:03.437072 Received DATA (on stdin) 02:03:03.437086 > 18 bytes data, server => client 02:03:03.437097 '221 bye bye baby\r\n' 02:03:03.441836 ====> Client disconnect 02:03:03.442035 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:03.382092 Running IPv4 version 02:03:03.382156 Listening on port 42691 02:03:03.382194 Wrote pid 135855 to log/8/server/ftp_sockdata.pid 02:03:03.384057 Received PING (on stdin) 02:03:03.384152 Received PORT (on stdin) 02:03:03.384509 ====> Client connect 02:03:03.385353 Received DATA (on stdin) 02:03:03.385366 > 17 bytes data, server => client 02:03:03.385377 'WE ROOLZ: 80441\r\n' 02:03:03.385408 Received DISC (on stdin) 02:03:03.385421 ====> Client forcibly disconnected 02:03:03.385625 Received QUIT (on stdin) 02:03:03.385638 quits 02:03:03.385695 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "just one Testnum 1152 === End of file server.cmd === Start of file valgrind1152 ==135882== ==135882== Process terminating with default action of signal 4 (SIGILL) ==135882== Illegal opcode at address 0x10B08D ==135882== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135882== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1152 test 1149...[FTP dir list multicwd then again nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1149 ../src/curl -q --output log/6/curl1149.out --include --trace-ascii log/6/trace1149 --trace-config all --trace-time ftp://127.0.0.1:40433/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:40433/list/this/path/1149/ --ftp-method nocwd > log/6/stdout1149 2> log/6/stderr1149 1149: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1149 === Start of file ftp_server.log 02:03:02.688389 ====> Client connect 02:03:02.688553 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:02.690061 < "USER anonymous" 02:03:02.690104 > "331 We are happy you popped in![CR][LF]" 02:03:02.690283 < "PASS ftp@example.com" 02:03:02.690310 > "230 Welcome you silly person[CR][LF]" 02:03:02.690464 < "PWD" 02:03:02.690493 > "257 "/" is current directory[CR][LF]" 02:03:02.690662 < "EPSV" 02:03:02.690686 ====> Passive DATA channel requested by client 02:03:02.690699 DATA sockfilt for passive data channel starting... 02:03:02.696034 DATA sockfilt for passive data channel started (pid 135547) 02:03:02.696139 DATA sockfilt for passive data channel listens on port 40903 02:03:02.696175 > "229 Entering Passive Mode (|||40903|)[LF]" 02:03:02.696190 Client has been notified that DATA conn will be accepted on port 40903 02:03:02.696487 Client connects to port 40903 02:03:02.696516 ====> Client established passive DATA connection on port 40903 02:03:02.696580 < "TYPE I" 02:03:02.696610 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:02.696755 < "SIZE verifiedserver" 02:03:02.696789 > "213 17[CR][LF]" 02:03:02.696933 < "RETR verifiedserver" 02:03:02.696961 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:02.697034 =====> Closing passive DATA connection... 02:03:02.697048 Server disconnects passive DATA connection 02:03:02.697277 Server disconnected passive DATA connection 02:03:02.697301 DATA sockfilt for passive data channel quits (pid 135547) 02:03:02.697485 DATA sockfilt for passive data channel quit (pid 135547) 02:03:02.697504 =====> Closed passive DATA connection 02:03:02.697527 > "226 File transfer complete[CR][LF]" 02:03:02.746569 < "QUIT" 02:03:02.746624 > "221 bye bye baby[CR][LF]" 02:03:02.747954 MAIN sockfilt said DISC 02:03:02.748000 ====> Client disconnected 02:03:02.748071 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:02.883796 ====> Client connect 02:03:02.888720 Received DATA (on stdin) 02:03:02.888744 > 160 bytes data, server => client 02:03:02.888759 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:02.888771 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:02.888784 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:02.890042 < 16 bytes data, client => server 02:03:02.890065 'USER anonymous\r\n' 02:03:02.890248 Received DATA (on stdin) 02:03:02.890261 > 33 bytes data, server => client 02:03:02.890273 '331 We are happy you popped in!\r\n' 02:03:02.890331 < 22 bytes data, client => server 02:03:02.890343 'PASS ftp@example.com\r\n' 02:03:02.890449 Received DATA (on stdin) 02:03:02.890461 > 30 bytes data, server => client 02:03:02.890472 '230 Welcome you silly person\r\n' 02:03:02.890522 < 5 bytes data, client => server 02:03:02.890534 'PWD\r\n' 02:03:02.890630 Received DATA (on stdin) 02:03:02.890642 > 30 bytes data, server => client 02:03:02.890653 '257 "/" is current directory\r\n' 02:03:02.890716 < 6 bytes data, client => server 02:03:02.890729 'EPSV\r\n' 02:03:02.896336 Received DATA (on stdin) 02:03:02.896350 > 38 bytes data, server => client 02:03:02.896361 '229 Entering Passive Mode (|||40903|)\n' 02:03:02.896544 < 8 bytes data, client => server 02:03:02.896561 'TYPE I\r\n' 02:03:02.896747 Received DATA (on stdin) 02:03:02.896759 > 33 bytes data, server => client 02:03:02.896770 '200 I modify TYPE as you wanted\r\n' 02:03:02.896819 < 21 bytes data, client => server 02:03:02.896830 'SIZE verifiedserver\r\n' 02:03:02.896928 Received DATA (on stdin) 02:03:02.896939 > 8 bytes data, server => client 02:03:02.896949 '213 17\r\n' 02:03:02.896996 < 21 bytes data, client => server 02:03:02.897008 'RETR verifiedserver\r\n' 02:03:02.897186 Received DATA (on stdin) 02:03:02.897197 > 29 bytes data, server => client 02:03:02.897207 '150 Binary junk (17 bytes).\r\n' 02:03:02.897666 Received DATA (on stdin) 02:03:02.897678 > 28 bytes data, server => client 02:03:02.897689 '226 File transfer complete\r\n' 02:03:02.945390 < 6 bytes data, client => server 02:03:02.945422 'QUIT\r\n' 02:03:02.946773 Received DATA (on stdin) 02:03:02.946791 > 18 bytes data, server => client 02:03:02.946803 '221 bye bye baby\r\n' 02:03:02.947615 ====> Client disconnect 02:03:02.948217 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:02.895849 Running IPv4 version 02:03:02.895911 Listening on port 40903 02:03:02.896099 Wrote pid 135547 to log/6/server/ftp_sockdata.pid 02:03:02.896117 Received PING (on stdin) 02:03:02.896198 Received PORT (on stdin) 02:03:02.896580 ====> Client connect 02:03:02.897256 Received DATA (on stdin) 02:03:02.897270 > 17 bytes data, server => client 02:03:02.897281 'WE ROOLZ: 80451\r\n' 02:03:02.897307 Received DISC (on stdin) 02:03:02.897320 ====> Client forcibly disconnected 02:03:02.897446 Received QUIT (on stdin) 02:03:02.897457 quits 02:03:02.897503 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1149 === End of file server.cmd === Start of file valgrind1149 ==135619== ==135619== Process terminating with default action of signal 4 (SIGILL) ==135619== Illegal opcode at address 0x10B08D ==135619== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135619== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1149 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1153 ../src/curl -q --output log/10/curl1153.out --include --trace-ascii log/10/trace1153 --trace-config all --trace-time ftp://127.0.0.1:42661/test-1153/ > log/10/stdout1153 2> log/10/stderr1153 "log/7/server/ftp_server.pid" --logfile "log/7/ftp_server.log" --logdir "log/7" --portfile "log/7/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40455 (log/7/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:40455/verifiedserver" 2>log/7/ftp_verify.log RUN: Verifying our test ftp server took 1 seconds RUN: FTP server is PID 134972 port 40455 * pid ftp => 134972 134972 test 1137...[FTP RETR --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1137 ../src/curl -q --output log/7/curl1137.out --include --trace-ascii log/7/trace1137 --trace-config all --trace-time ftp://127.0.0.1:40455/1137 --ignore-content-length > log/7/stdout1137 2> log/7/stderr1137 1137: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1137 === Start of file ftp_server.log 02:03:01.951823 FTP server listens on port IPv4/40455 02:03:01.951903 logged pid 134972 in log/7/server/ftp_server.pid 02:03:01.951929 Awaiting input 02:03:03.001932 ====> Client connect 02:03:03.002132 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:03.018746 < "USER anonymous" 02:03:03.018800 > "331 We are happy you popped in![CR][LF]" 02:03:03.018998 < "PASS ftp@example.com" 02:03:03.019025 > "230 Welcome you silly person[CR][LF]" 02:03:03.019189 < "PWD" 02:03:03.019225 > "257 "/" is current directory[CR][LF]" 02:03:03.019403 < "EPSV" 02:03:03.019433 ====> Passive DATA channel requested by client 02:03:03.019447 DATA sockfilt for passive data channel starting... 02:03:03.031736 DATA sockfilt for passive data channel started (pid 135766) 02:03:03.032027 DATA sockfilt for passive data channel listens on port 35285 02:03:03.032086 > "229 Entering Passive Mode (|||35285|)[LF]" 02:03:03.032108 Client has been notified that DATA conn will be accepted on port 35285 02:03:03.032409 Client connects to port 35285 02:03:03.032439 ====> Client established passive DATA connection on port 35285 02:03:03.032524 < "TYPE I" 02:03:03.032557 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:03.032727 < "SIZE verifiedserver" 02:03:03.032766 > "213 18[CR][LF]" 02:03:03.032926 < "RETR verifiedserver" 02:03:03.032959 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:03.033042 =====> Closing passive DATA connection... 02:03:03.033060 Server disconnects passive DATA connection 02:03:03.035317 Server disconnected passive DATA connection 02:03:03.035350 DATA sockfilt for passive data channel quits (pid 135766) 02:03:03.035562 DATA sockfilt for passive data channel quit (pid 135766) 02:03:03.035587 =====> Closed passive DATA connection 02:03:03.035616 > "226 File transfer complete[CR][LF]" 02:03:03.082004 < "QUIT" 02:03:03.082052 > "221 bye bye baby[CR][LF]" 02:03:03.082882 MAIN sockfilt said DISC 02:03:03.082919 ====> Client disconnected 02:03:03.082988 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:01.151577 Running IPv4 version 02:03:01.151657 Listening on port 40455 02:03:01.151694 Wrote pid 135004 to log/7/server/ftp_sockctrl.pid 02:03:01.151724 Wrote port 40455 to log/7/server/ftp_server.port 02:03:01.151866 Received PING (on stdin) 02:03:02.195187 ====> Client connect 02:03:02.211831 Received DATA (on stdin) 02:03:02.211874 > 160 bytes data, server => client 02:03:02.211889 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:02.211901 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:02.211913 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:02.218594 < 16 bytes data, client => server 02:03:02.218946 'USER anonymous\r\n' 02:03:02.218963 Received DATA (on stdin) 02:03:02.218974 > 33 bytes data, server => client 02:03:02.218986 '331 We are happy you popped in!\r\n' 02:03:02.219044 < 22 bytes data, client => server 02:03:02.219058 'PASS ftp@example.com\r\n' 02:03:02.219166 Received DATA (on stdin) 02:03:02.219178 > 30 bytes data, server => client 02:03:02.219189 '230 Welcome you silly person\r\n' 02:03:02.219243 < 5 bytes data, client => server 02:03:02.219257 'PWD\r\n' 02:03:02.219365 Received DATA (on stdin) 02:03:02.219378 > 30 bytes data, server => client 02:03:02.219390 '257 "/" is current directory\r\n' 02:03:02.219453 < 6 bytes data, client => server 02:03:02.219467 'EPSV\r\n' 02:03:02.232265 Received DATA (on stdin) 02:03:02.232282 > 38 bytes data, server => client 02:03:02.232295 '229 Entering Passive Mode (|||35285|)\n' 02:03:02.232466 < 8 bytes data, client => server 02:03:02.232484 'TYPE I\r\n' 02:03:02.232699 Received DATA (on stdin) 02:03:02.232712 > 33 bytes data, server => client 02:03:02.232724 '200 I modify TYPE as you wanted\r\n' 02:03:02.232779 < 21 bytes data, client => server 02:03:02.232793 'SIZE verifiedserver\r\n' 02:03:02.232907 Received DATA (on stdin) 02:03:02.232919 > 8 bytes data, server => client 02:03:02.232930 '213 18\r\n' 02:03:02.232981 < 21 bytes data, client => server 02:03:02.232995 'RETR verifiedserver\r\n' 02:03:02.233201 Received DATA (on stdin) 02:03:02.233214 > 29 bytes data, server => client 02:03:02.233225 '150 Binary junk (18 bytes).\r\n' 02:03:02.235758 Received DATA (on stdin) 02:03:02.235771 > 28 bytes data, server => client 02:03:02.235783 '226 File transfer complete\r\n' 02:03:02.281949 < 6 bytes data, client => server 02:03:02.281983 'QUIT\r\n' 02:03:02.282194 Received DATA (on stdin) 02:03:02.282205 > 18 bytes data, server => client 02:03:02.282215 '221 bye bye baby\r\n' 02:03:02.282875 ====> Client disconnect 02:03:02.283129 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:03.229251 Running IPv4 version 02:03:03.229335 Listening on port 35285 02:03:03.229376 Wrote pid 135766 to log/7/server/ftp_sockdata.pid 02:03:03.229394 Received PING (on stdin) 02:03:03.231956 Received PORT (on stdin) 02:03:03.232505 ====> Client connect 02:03:03.235198 Received DATA (on stdin) 02:03:03.235220 > 18 bytes data, server => client 02:03:03.235233 'WE ROOLZ: 134972\r\n' 02:03:03.235297 Received DISC (on stdin) 02:03:03.235319 ====> Client forcibly disconnected 02:03:03.235500 Received QUIT (on stdin) 02:03:03.235513 quits 02:03:03.235568 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1137 === End of file server.cmd === Start of file valgrind1137 ==135813== ==135813== Process terminating with default action of signal 4 (SIGILL) ==135813== Illegal opcode at address 0x10B08D ==135813== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135813== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1137 test 1153...[FTP with quoted double quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1153 ../src/curl -q --output log/10/curl1153.out --include --trace-ascii log/10/trace1153 --trace-config all --trace-time ftp://127.0.0.1:42661/test-1153/ > log/10/stdout1153 2> log/10/stderr1153 1153: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1153 === Start of file ftp_server.log 02:03:03.241821 ====> Client connect 02:03:03.241965 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:03.244112 < "USER anonymous" 02:03:03.244153 > "331 We are happy you popped in![CR][LF]" 02:03:0CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/10/stdout1165 2> log/10/stderr1165 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1154 ../src/curl -q --output log/1/curl1154.out --include --trace-ascii log/1/trace1154 --trace-config all --trace-time http://127.0.0.1:34215/1154 > log/1/stdout1154 2> log/1/stderr1154 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1155 ../src/curl -q --output log/4/curl1155.out --include --trace-ascii log/4/trace1155 --trace-config all --trace-time http://127.0.0.1:36813/1155 -c log/4/cookies1155.txt > log/4/stdout1155 2> log/4/stderr1155 3.244328 < "PASS ftp@example.com" 02:03:03.244353 > "230 Welcome you silly person[CR][LF]" 02:03:03.244509 < "PWD" 02:03:03.244541 > "257 "/" is current directory[CR][LF]" 02:03:03.244704 < "EPSV" 02:03:03.244729 ====> Passive DATA channel requested by client 02:03:03.244743 DATA sockfilt for passive data channel starting... 02:03:03.250029 DATA sockfilt for passive data channel started (pid 135870) 02:03:03.250561 DATA sockfilt for passive data channel listens on port 35089 02:03:03.250616 > "229 Entering Passive Mode (|||35089|)[LF]" 02:03:03.250640 Client has been notified that DATA conn will be accepted on port 35089 02:03:03.258382 Client connects to port 35089 02:03:03.258447 ====> Client established passive DATA connection on port 35089 02:03:03.258545 < "TYPE I" 02:03:03.258584 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:03.258812 < "SIZE verifiedserver" 02:03:03.258855 > "213 17[CR][LF]" 02:03:03.259023 < "RETR verifiedserver" 02:03:03.259058 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:03.259144 =====> Closing passive DATA connection... 02:03:03.259160 Server disconnects passive DATA connection 02:03:03.265196 Server disconnected passive DATA connection 02:03:03.265234 DATA sockfilt for passive data channel quits (pid 135870) 02:03:03.265467 DATA sockfilt for passive data channel quit (pid 135870) 02:03:03.265490 =====> Closed passive DATA connection 02:03:03.265520 > "226 File transfer complete[CR][LF]" 02:03:03.313768 < "QUIT" 02:03:03.313827 > "221 bye bye baby[CR][LF]" 02:03:03.318937 MAIN sockfilt said DISC 02:03:03.318989 ====> Client disconnected 02:03:03.319064 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:03.441845 ====> Client connect 02:03:03.442116 Received DATA (on stdin) 02:03:03.442133 > 160 bytes data, server => client 02:03:03.442146 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:03.442158 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:03.442169 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:03.444093 < 16 bytes data, client => server 02:03:03.444115 'USER anonymous\r\n' 02:03:03.444297 Received DATA (on stdin) 02:03:03.444310 > 33 bytes data, server => client 02:03:03.444323 '331 We are happy you popped in!\r\n' 02:03:03.444380 < 22 bytes data, client => server 02:03:03.444393 'PASS ftp@example.com\r\n' 02:03:03.444493 Received DATA (on stdin) 02:03:03.444505 > 30 bytes data, server => client 02:03:03.444517 '230 Welcome you silly person\r\n' 02:03:03.444568 < 5 bytes data, client => server 02:03:03.444581 'PWD\r\n' 02:03:03.444679 Received DATA (on stdin) 02:03:03.444692 > 30 bytes data, server => client 02:03:03.444703 '257 "/" is current directory\r\n' 02:03:03.444763 < 6 bytes data, client => server 02:03:03.444775 'EPSV\r\n' 02:03:03.450825 Received DATA (on stdin) 02:03:03.450846 > 38 bytes data, server => client 02:03:03.450860 '229 Entering Passive Mode (|||35089|)\n' 02:03:03.451078 < 8 bytes data, client => server 02:03:03.451094 'TYPE I\r\n' 02:03:03.458730 Received DATA (on stdin) 02:03:03.458751 > 33 bytes data, server => client 02:03:03.458763 '200 I modify TYPE as you wanted\r\n' 02:03:03.458850 < 21 bytes data, client => server 02:03:03.458866 'SIZE verifiedserver\r\n' 02:03:03.458997 Received DATA (on stdin) 02:03:03.459010 > 8 bytes data, server => client 02:03:03.459020 '213 17\r\n' 02:03:03.459076 < 21 bytes data, client => server 02:03:03.459088 'RETR verifiedserver\r\n' 02:03:03.465667 Received DATA (on stdin) 02:03:03.465682 > 29 bytes data, server => client 02:03:03.465694 '150 Binary junk (17 bytes).\r\n' 02:03:03.465723 Received DATA (on stdin) 02:03:03.465733 > 28 bytes data, server => client 02:03:03.465744 '226 File transfer complete\r\n' 02:03:03.513701 < 6 bytes data, client => server 02:03:03.513741 'QUIT\r\n' 02:03:03.514467 Received DATA (on stdin) 02:03:03.514488 > 18 bytes data, server => client 02:03:03.514499 '221 bye bye baby\r\n' 02:03:03.518997 ====> Client disconnect 02:03:03.519210 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:03.449972 Running IPv4 version 02:03:03.450041 Listening on port 35089 02:03:03.450087 Wrote pid 135870 to log/10/server/ftp_sockdata.pid 02:03:03.450109 Received PING (on stdin) 02:03:03.450593 Received PORT (on stdin) 02:03:03.451043 ====> Client connect 02:03:03.465170 Received DATA (on stdin) 02:03:03.465198 > 17 bytes data, server => client 02:03:03.465211 'WE ROOLZ: 80449\r\n' 02:03:03.465259 Received DISC (on stdin) 02:03:03.465274 ====> Client forcibly disconnected 02:03:03.465389 Received QUIT (on stdin) 02:03:03.465401 quits 02:03:03.465459 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "/""hello""" Testnum 1153 === End of file server.cmd === Start of file valgrind1153 ==135941== ==135941== Process terminating with default action of signal 4 (SIGILL) ==135941== Illegal opcode at address 0x10B08D ==135941== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==135941== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1153 * starts no server test 1165...[Verify configure.ac and source code CURL_DISABLE_-sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/10/stdout1165 2> log/10/stderr1165 valgrind SKIPPED -------e--- OK (1045 out of 1584, remaining: 01:00, took 0.092s, duration: 01:56) test 1154...[HTTP GET with 100K (too long) response header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1154 ../src/curl -q --output log/1/curl1154.out --include --trace-ascii log/1/trace1154 --trace-config all --trace-time http://127.0.0.1:34215/1154 > log/1/stdout1154 2> log/1/stderr1154 1154: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1154 === Start of file http_server.log 02:03:03.754437 ====> Client connect 02:03:03.754474 accept_connection 3 returned 4 02:03:03.754495 accept_connection 3 returned 0 02:03:03.754514 Read 93 bytes 02:03:03.754526 Process 93 bytes request 02:03:03.754542 Got request: GET /verifiedserver HTTP/1.1 02:03:03.754553 Are-we-friendly question received 02:03:03.754579 Wrote request (93 bytes) input to log/1/server.input 02:03:03.754600 Identifying ourselves as friends 02:03:03.754681 Response sent (56 bytes) and written to log/1/server.response 02:03:03.754697 special request received, no persistency 02:03:03.754708 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1154 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1154 ==136043== ==136043== Process terminating with default action of signal 4 (SIGILL) ==136043== Illegal opcode at address 0x10B08D ==136043== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136043== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1154 test 1155...[HTTP cookie with parameter word as name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1155 ../src/curl -q --output log/4/curl1155.out --include --traCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/1/stdout1167 2> log/1/stderr1167 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1156 ./libtest/lib1156 http://127.0.0.1:38509/want/1156 > log/9/stdout1156 2> log/9/stderr1156 ce-ascii log/4/trace1155 --trace-config all --trace-time http://127.0.0.1:36813/1155 -c log/4/cookies1155.txt > log/4/stdout1155 2> log/4/stderr1155 1155: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1155 === Start of file http_server.log 02:03:03.836558 ====> Client connect 02:03:03.836609 accept_connection 3 returned 4 02:03:03.836633 accept_connection 3 returned 0 02:03:03.836652 Read 93 bytes 02:03:03.836664 Process 93 bytes request 02:03:03.836680 Got request: GET /verifiedserver HTTP/1.1 02:03:03.836690 Are-we-friendly question received 02:03:03.836718 Wrote request (93 bytes) input to log/4/server.input 02:03:03.836740 Identifying ourselves as friends 02:03:03.836854 Response sent (56 bytes) and written to log/4/server.response 02:03:03.836871 special request received, no persistency 02:03:03.836881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1155 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1155 ==136052== ==136052== Process terminating with default action of signal 4 (SIGILL) ==136052== Illegal opcode at address 0x10B08D ==136052== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136052== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1155 * starts no server test 1167...[Verify curl prefix of public symbols in header files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/1/stdout1167 2> log/1/stderr1167 valgrind SKIPPED -------e--- OK (1047 out of 1584, remaining: 01:00, took 0.461s, duration: 01:57) test 1156...[HTTP resume/range fail range-error content-range combinations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1156 ./libtest/lib1156 http://127.0.0.1:38509/want/1156 > log/9/stdout1156 2> log/9/stderr1156 1156: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:05.229979895 +0000 +++ log/9/check-generated 2024-12-15 02:03:05.229979895 +0000 @@ -1 +0,0 @@ -0[LF] == Contents of files in the log/9/ dir after test 1156 === Start of file check-expected 0[LF] === End of file check-expected === Start of file http_server.log 02:03:03.831896 ====> Client connect 02:03:03.831933 accept_connection 3 returned 4 02:03:03.831951 accept_connection 3 returned 0 02:03:03.832164 Read 93 bytes 02:03:03.832185 Process 93 bytes request 02:03:03.832200 Got request: GET /verifiedserver HTTP/1.1 02:03:03.832211 Are-we-friendly question received 02:03:03.832243 Wrote request (93 bytes) input to log/9/server.input 02:03:03.832262 Identifying ourselves as friends 02:03:03.832338 Response sent (56 bytes) and written to log/9/server.response 02:03:03.832352 special request received, no persistency 02:03:03.832363 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1156 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr1156 URL: http://127.0.0.1:38509/want/1156 === End of file stderr1156 === Start of file valgrind1156 ==136055== ==136055== Process terminating with default action of signal 4 (SIGILL) ==136055== Illegal opcode at address 0x48EA16B ==136055== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==136055== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==136055== by 0x48EA16B: Curl_open (url.c:519) ==136055== by 0x4880EEF: curl_easy_init (easy.c:370) ==136055== by 0x1090C5: UnknownInlinedFun (lib1156.c:147) ==136055== by 0x1090C5: main (first.c:220) ==136055== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==136055== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136055== by 0x4A6D258: __tsearch (tsearch.c:337) ==136055== by 0x4A6D258: tsearch (tsearch.c:290) ==136055== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136055== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136055== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136055== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136055== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136055== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==136055== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136055== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136055== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136055== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136055== by 0x498986B: setlocale (setlocale.c:337) ==136055== by 0x10905B: main (first.c:160) ==136055== ==136055== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==136055== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136055== by 0x4A6D258: __tsearch (tsearch.c:337) ==136055== by 0x4A6D258: tsearch (tsearch.c:290) ==136055== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136055== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==136055== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==136055== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136055== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136055== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136055== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136055== by 0x498986B: setlocale (setlocale.c:337) ==136055== by 0x10905B: main (first.c:160) ==136055== ==136055== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==136055== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136055== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==136055== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136055== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136055== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136055== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136055== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==136055== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136055== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136055== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136055== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136055== by 0x498986B: setlocale (setlocale.c:337) ==136055== by 0x10905B: main (first.c:160) ==136055== ==136055== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==136055== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136055== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==136055== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==136055== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==136055== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136055== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136055== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136055== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136055== by 0x498986B: setlocale (setlocale.c:337) ==136055== by 0x10905B: main (first.c:160) ==136055== ==136055== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==136055== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==136055== by 0x48EA143: Curl_open (url.c:510) ==136055== by 0x4880EEF: curl_easy_init (easy.c:370) ==136055== by 0x1090C5: UnknownInlinedFun (lib1156.c:147) ==136055== by 0x1090C5: main (first.c:220) ==136055== ==136055== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==136055== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136055== by 0x4A6D258: __tsearch (tsearch.c:337) ==136055== by 0x4A6D258: tsearch (tsearch.c:290) ==136055== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136055== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136055== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136055== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136055== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136055== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==136055== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136055== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136055== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136055== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136055== by 0x498986B: setlocale (setlocale.c:337) ==136055== by 0x10905B: main (first.c:160) ==136055== ==136055== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==136055== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136055== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==136055== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136055== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136055== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136055== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136055== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==136055== by 0x4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1157 ../src/curl -q --output log/5/curl1157.out --include --trace-ascii log/5/trace1157 --trace-config all --trace-time http://127.0.0.1:33361/1157 -H @log/5/heads1157.txt > log/5/stdout1157 2> log/5/stderr1157 CMD (31488): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/1/test1169-library.pl > log/1/stdout1169 2> log/1/stderr1169 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1159 ../src/curl -q --include --trace-ascii log/12/trace1159 --trace-config all --trace-time http://127.0.0.1:40653/we/want/our/1159 -w '%{redirect_url}\n' > log/12/stdout1159 2> log/12/stderr1159 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1158 ../src/curl -q --output log/2/curl1158.out --include --trace-ascii log/2/trace1158 --trace-config all --trace-time http://127.0.0.1:38781/we/want/1158 -F "file=@\"log/2/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/2/test1158\".txt"' -F 'file3=@"log/2/test1158\".txt";type=m/f,"log/2/test1158\".txt"' > log/2/stdout1158 2> log/2/stderr1158 9EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136055== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136055== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136055== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136055== by 0x498986B: setlocale (setlocale.c:337) ==136055== by 0x10905B: main (first.c:160) ==136055== === End of file valgrind1156 test 1157...[Get -H headers from empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1157 ../src/curl -q --output log/5/curl1157.out --include --trace-ascii log/5/trace1157 --trace-config all --trace-time http://127.0.0.1:33361/1157 -H @log/5/heads1157.txt > log/5/stdout1157 2> log/5/stderr1157 1157: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1157 === Start of file http_server.log 02:03:04.203672 ====> Client connect 02:03:04.203703 accept_connection 3 returned 4 02:03:04.203719 accept_connection 3 returned 0 02:03:04.203734 Read 93 bytes 02:03:04.203744 Process 93 bytes request 02:03:04.203758 Got request: GET /verifiedserver HTTP/1.1 02:03:04.203768 Are-we-friendly question received 02:03:04.203791 Wrote request (93 bytes) input to log/5/server.input 02:03:04.203807 Identifying ourselves as friends 02:03:04.203869 Response sent (56 bytes) and written to log/5/server.response 02:03:04.203880 special request received, no persistency 02:03:04.203889 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1157 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1157 ==136203== ==136203== Process terminating with default action of signal 4 (SIGILL) ==136203== Illegal opcode at address 0x10B08D ==136203== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136203== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1157 * starts no server test 1169...[Verify that runtests.pl accepts an -L option] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/1/test1169-library.pl > log/1/stdout1169 2> log/1/stderr1169 valgrind SKIPPED -------e--- OK (1049 out of 1584, remaining: 00:59, took 0.189s, duration: 01:57) prechecked /usr/bin/perl -e "print 'Test requires a system supporting double quotes in file names' if ($^O eq 'msys');" test 1158...[HTTP RFC1867-type formposting with filename containing '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1158 ../src/curl -q --output log/2/curl1158.out --include --trace-ascii log/2/trace1158 --trace-config all --trace-time http://127.0.0.1:38781/we/want/1158 -F "file=@\"log/2/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/2/test1158\".txt"' -F 'file3=@"log/2/test1158\".txt";type=m/f,"log/2/test1158\".txt"' > log/2/stdout1158 2> log/2/stderr1158 1158: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1158 === Start of file http_server.log 02:03:04.358800 ====> Client connect 02:03:04.358841 accept_connection 3 returned 4 02:03:04.358860 accept_connection 3 returned 0 02:03:04.358876 Read 93 bytes 02:03:04.358888 Process 93 bytes request 02:03:04.358904 Got request: GET /verifiedserver HTTP/1.1 02:03:04.358914 Are-we-friendly question received 02:03:04.358942 Wrote request (93 bytes) input to log/2/server.input 02:03:04.358961 Identifying ourselves as friends 02:03:04.359047 Response sent (56 bytes) and written to log/2/server.response 02:03:04.359062 special request received, no persistency 02:03:04.359072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1158 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file test1158".txt foo bar This is a bar foo bar foo === End of file test1158".txt === Start of file valgrind1158 ==136303== ==136303== Process terminating with default action of signal 4 (SIGILL) ==136303== Illegal opcode at address 0x10B08D ==136303== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136303== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1158 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1173.pl /startdir/src/curl/tests/../docs/libcurl/symbols-in-versions /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 > log/12/stdout1173 2> log/12/stderr1173 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1164 ../src/curl -q --output log/7/curl1164.out --include --trace-ascii log/7/trace1164 --trace-config all --trace-time http://127.0.0.1:43753/1164 -w '%{size_download}\n' --http0.9 > log/7/stdout1164 2> log/7/stderr1164 test 1159...[HTTP Location: and 'redirect_url' with non-supported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1159 ../src/curl -q --include --trace-ascii log/12/trace1159 --trace-config all --trace-time http://127.0.0.1:40653/we/want/our/1159 -w '%{redirect_url}\n' > log/12/stdout1159 2> log/12/stderr1159 1159: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:05.349982033 +0000 +++ log/12/check-generated 2024-12-15 02:03:05.349982033 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: ht3p://localhost/[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -ht3p://localhost/[LF] == Contents of files in the log/12/ dir after test 1159 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: ht3p://localhost/[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] ht3p://localhost/[LF] === End of file check-expected === Start of file http_server.log 02:03:04.401885 ====> Client connect 02:03:04.401927 accept_connection 3 returned 4 02:03:04.401949 accept_connection 3 returned 0 02:03:04.401970 Read 93 bytes 02:03:04.401983 Process 93 bytes request 02:03:04.402000 Got request: GET /verifiedserver HTTP/1.1 02:03:04.402012 Are-we-friendly question received 02:03:04.402040 Wrote request (93 bytes) input to log/12/server.input 02:03:04.402060 Identifying ourselves as friends 02:03:04.402149 Response sent (56 bytes) and written to log/12/server.response 02:03:04.402163 special request received, no persistency 02:03:04.402173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1159 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1159 ==136305== ==136305== Process terminating with default action of signal 4 (SIGILL) ==136305== Illegal opcode at address 0x10B08D ==136305== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136305== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1159 * starts no server test 1173...[Manpage syntax checks] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1173.pl /startdir/src/curl/tests/../docs/libcurl/symbols-in-versions /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 > log/12/stdout1173 2> log/12/stderr1173 valgrind SKIPPED -r-----e--- OK (1053 out of 1584, remaining: 00:59, took 0.146s, duration: 01:57) CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests > log/12/stdout1175 2> log/12/stderr1175 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1160 ../src/curl -q --output log/11/curl1160.out --include --trace-ascii log/11/trace1160 --trace-config all --trace-time http://127.0.0.1:44137/1160 -c log/11/cookies1160.txt > log/11/stdout1160 2> log/11/stderr1160 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1161 ../src/curl -q --output log/3/curl1161.out --include --trace-ascii log/3/trace1161 --trace-config all --trace-time http://127.0.0.1:34527/1161 -c log/3/cookies1161.txt > log/3/stdout1161 2> log/3/stderr1161 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1177.pl /startdir/src/build-curl/tests/../docs/libcurl/curl_version_info.3 /startdir/src/curl/tests/../include/curl/curl.h /startdir/src/curl/tests/../lib/version.c > log/12/stdout1177 2> log/12/stderr1177 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1166 ../src/curl -q --output log/10/curl1166.out --include --trace-ascii log/10/trace1166 --trace-config all --trace-time http://127.0.0.1:42929/want/1166 http://127.0.0.1:42929/want/1166 > log/10/stdout1166 2> log/10/stderr1166 test 1164...[HTTP/0.9 GET and all zeroes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1164 ../src/curl -q --output log/7/curl1164.out --include --trace-ascii log/7/trace1164 --trace-config all --trace-time http://127.0.0.1:43753/1164 -w '%{size_download}\n' --http0.9 > log/7/stdout1164 2> log/7/stderr1164 1164: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:05.529985240 +0000 +++ log/7/check-generated 2024-12-15 02:03:05.529985240 +0000 @@ -1 +0,0 @@ -208[CR][LF] == Contents of files in the log/7/ dir after test 1164 === Start of file check-expected 208[CR][LF] === End of file check-expected === Start of file http_server.log 02:03:04.621936 ====> Client connect 02:03:04.621973 accept_connection 3 returned 4 02:03:04.621990 accept_connection 3 returned 0 02:03:04.622004 Read 93 bytes 02:03:04.622014 Process 93 bytes request 02:03:04.622030 Got request: GET /verifiedserver HTTP/1.1 02:03:04.622039 Are-we-friendly question received 02:03:04.622066 Wrote request (93 bytes) input to log/7/server.input 02:03:04.622083 Identifying ourselves as friends 02:03:04.622149 Response sent (56 bytes) and written to log/7/server.response 02:03:04.622160 special request received, no persistency 02:03:04.622169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1164 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1164 ==136565== ==136565== Process terminating with default action of signal 4 (SIGILL) ==136565== Illegal opcode at address 0x10B08D ==136565== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136565== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1164 test 1161...[HTTP cookie with path set twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1161 ../src/curl -q --output log/3/curl1161.out --include --trace-ascii log/3/trace1161 --trace-config all --trace-time http://127.0.0.1:34527/1161 -c log/3/cookies1161.txt > log/3/stdout1161 2> log/3/stderr1161 1161: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1161 === Start of file http_server.log 02:03:04.438616 ====> Client connect 02:03:04.438653 accept_connection 3 returned 4 02:03:04.438671 accept_connection 3 returned 0 02:03:04.438686 Read 93 bytes 02:03:04.438697 Process 93 bytes request 02:03:04.438712 Got request: GET /verifiedserver HTTP/1.1 02:03:04.438721 Are-we-friendly question received 02:03:04.438745 Wrote request (93 bytes) input to log/3/server.input 02:03:04.438763 Identifying ourselves as friends 02:03:04.438842 Response sent (56 bytes) and written to log/3/server.response 02:03:04.438855 special request received, no persistency 02:03:04.438865 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1161 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1161 ==136337== ==136337== Process terminating with default action of signal 4 (SIGILL) ==136337== Illegal opcode at address 0x10B08D ==136337== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136337== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1161 test 1160...[HTTP with long funny format cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1160 ../src/curl -q --output log/11/curl1160.out --include --trace-ascii log/11/trace1160 --trace-config all --trace-time http://127.0.0.1:44137/1160 -c log/11/cookies1160.txt > log/11/stdout1160 2> log/11/stderr1160 1160: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1160 === Start of file http_server.log 02:03:04.423576 ====> Client connect 02:03:04.423615 accept_connection 3 returned 4 02:03:04.423633 accept_connection 3 returned 0 02:03:04.423649 Read 93 bytes 02:03:04.423660 Process 93 bytes request 02:03:04.423675 Got request: GET /verifiedserver HTTP/1.1 02:03:04.423686 Are-we-friendly question received 02:03:04.423717 Wrote request (93 bytes) input to log/11/server.input 02:03:04.423735 Identifying ourselves as friends 02:03:04.424092 Response sent (56 bytes) and written to log/11/server.response 02:03:04.424108 special request received, no persistency 02:03:04.424118 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1160 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1160 ==136318== ==136318== Process terminating with default action of signal 4 (SIGILL) ==136318== Illegal opcode at address 0x10B08D ==136318== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136318== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1160 * starts no server test 1175...[Verify that symbols-in-versions and libcurl-errors.3 are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests > log/12/stdout1175 2> log/12/stderr1175 valgrind SKIPPED -------e--- OK (1055 out of 1584, remaining: 00:58, took 0.030s, duration: 01:57) * starts no server test 1177...[Verify that feature names and CURL_VERSION_* in lib and docs are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1177.pl /startdir/src/build-curl/tests/../docs/libcurl/curl_version_info.3 /startdir/src/curl/tests/../include/curl/curl.h /startdir/src/curl/tests/../lib/version.c > log/12/stdout1177 2> log/12/stderr1177 valgrind SKIPPED -------e--- OK (1057 out of 1584, remaining: 00:58, took 0.046s, duration: 01:57) test 1166...[HTTP response with cookies but not receiving!] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1166 ../src/curl -q --output log/10/curl1166.out --iCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1168 ../src/curl -q --output log/4/curl1168.out --include --trace-ascii log/4/trace1168 --trace-config all --trace-time http://127.0.0.1:36813/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/4/stdout1168 2> log/4/stderr1168 CMD (1280): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl log/4/code1185.c > log/4/stdout1185 2> log/4/stderr1185 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1163 ./libtest/lib576 "ftp://127.0.0.1:40433/fully_simulated/DOS/*[][" > log/6/stdout1163 2> log/6/stderr1163 nclude --trace-ascii log/10/trace1166 --trace-config all --trace-time http://127.0.0.1:42929/want/1166 http://127.0.0.1:42929/want/1166 > log/10/stdout1166 2> log/10/stderr1166 1166: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1166 === Start of file http_server.log 02:03:04.936526 ====> Client connect 02:03:04.936568 accept_connection 3 returned 4 02:03:04.936587 accept_connection 3 returned 0 02:03:04.936603 Read 93 bytes 02:03:04.936614 Process 93 bytes request 02:03:04.936628 Got request: GET /verifiedserver HTTP/1.1 02:03:04.936638 Are-we-friendly question received 02:03:04.936663 Wrote request (93 bytes) input to log/10/server.input 02:03:04.936686 Identifying ourselves as friends 02:03:04.936782 Response sent (56 bytes) and written to log/10/server.response 02:03:04.936796 special request received, no persistency 02:03:04.936806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1166 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1166 ==136732== ==136732== Process terminating with default action of signal 4 (SIGILL) ==136732== Illegal opcode at address 0x10B08D ==136732== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136732== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1166 test 1168...[HTTP redirect with credentials using # in user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1168 ../src/curl -q --output log/4/curl1168.out --include --trace-ascii log/4/trace1168 --trace-config all --trace-time http://127.0.0.1:36813/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/4/stdout1168 2> log/4/stderr1168 1168: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1168 === Start of file http_server.log 02:03:05.097866 ====> Client connect 02:03:05.097895 accept_connection 3 returned 4 02:03:05.097912 accept_connection 3 returned 0 02:03:05.097927 Read 93 bytes 02:03:05.097937 Process 93 bytes request 02:03:05.097951 Got request: GET /verifiedserver HTTP/1.1 02:03:05.097960 Are-we-friendly question received 02:03:05.097982 Wrote request (93 bytes) input to log/4/server.input 02:03:05.098004 Identifying ourselves as friends 02:03:05.098073 Response sent (56 bytes) and written to log/4/server.response 02:03:05.098086 special request received, no persistency 02:03:05.098097 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1168 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1168 ==136811== ==136811== Process terminating with default action of signal 4 (SIGILL) ==136811== Illegal opcode at address 0x10B08D ==136811== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136811== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1168 * starts no server test 1185...[checksrc] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl log/4/code1185.c > log/4/stdout1185 2> log/4/stderr1185 valgrind SKIPPED s------e--- OK (1062 out of 1584, remaining: 00:57, took 0.054s, duration: 01:57) test 1163...[FTP wildcard with pattern ending with an open-bracket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1163 ./libtest/lib576 "ftp://127.0.0.1:40433/fully_simulated/DOS/*[][" > log/6/stdout1163 2> log/6/stderr1163 1163: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1163 === Start of file ftp_server.log 02:03:04.388090 ====> Client connect 02:03:04.388250 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:04.388907 < "USER anonymous" 02:03:04.388950 > "331 We are happy you popped in![CR][LF]" 02:03:04.389127 < "PASS ftp@example.com" 02:03:04.389154 > "230 Welcome you silly person[CR][LF]" 02:03:04.389307 < "PWD" 02:03:04.389337 > "257 "/" is current directory[CR][LF]" 02:03:04.389503 < "EPSV" 02:03:04.389528 ====> Passive DATA channel requested by client 02:03:04.389540 DATA sockfilt for passive data channel starting... 02:03:04.399504 DATA sockfilt for passive data channel started (pid 136482) 02:03:04.399636 DATA sockfilt for passive data channel listens on port 43555 02:03:04.399687 > "229 Entering Passive Mode (|||43555|)[LF]" 02:03:04.399705 Client has been notified that DATA conn will be accepted on port 43555 02:03:04.400041 Client connects to port 43555 02:03:04.400070 ====> Client established passive DATA connection on port 43555 02:03:04.400147 < "TYPE I" 02:03:04.400178 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:04.400327 < "SIZE verifiedserver" 02:03:04.400361 > "213 17[CR][LF]" 02:03:04.400499 < "RETR verifiedserver" 02:03:04.400526 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:04.400603 =====> Closing passive DATA connection... 02:03:04.400617 Server disconnects passive DATA connection 02:03:04.400844 Server disconnected passive DATA connection 02:03:04.400869 DATA sockfilt for passive data channel quits (pid 136482) 02:03:04.401085 DATA sockfilt for passive data channel quit (pid 136482) 02:03:04.401108 =====> Closed passive DATA connection 02:03:04.401133 > "226 File transfer complete[CR][LF]" 02:03:04.453168 < "QUIT" 02:03:04.453219 > "221 bye bye baby[CR][LF]" 02:03:04.454136 MAIN sockfilt said DISC 02:03:04.454170 ====> Client disconnected 02:03:04.454246 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:04.588107 ====> Client connect 02:03:04.588409 Received DATA (on stdin) 02:03:04.588426 > 160 bytes data, server => client 02:03:04.588439 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:04.588453 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:04.588464 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:04.588886 < 16 bytes data, client => server 02:03:04.588906 'USER anonymous\r\n' 02:03:04.589093 Received DATA (on stdin) 02:03:04.589106 > 33 bytes data, server => client 02:03:04.589118 '331 We are happy you popped in!\r\n' 02:03:04.589172 < 22 bytes data, client => server 02:03:04.589184 'PASS ftp@example.com\r\n' 02:03:04.589293 Received DATA (on stdin) 02:03:04.589304 > 30 bytes data, server => client 02:03:04.589316 '230 Welcome you silly person\r\n' 02:03:04.589364 < 5 bytes data, client => server 02:03:04.589376 'PWD\r\n' 02:03:04.589475 Received DATA (on stdin) 02:03:04.589487 > 30 bytes data, server => client 02:03:04.589498 '257 "/" is current directory\r\n' 02:03:04.589557 < 6 bytes data, client => server 02:03:04.589570 'EPSV\r\n' 02:03:04.599857 Received DATA (on stdin) 02:03:04.599877 > 38 bytes data, server => client 02:03:04.599890 '229 Entering Passive Mode (|||43555|)\n' 02:03:04.600128 < 8 bytes data, client => server 02:03:04.600140 'TYPE I\r\n' 02:03:04.600317 Received DATA (on stdin) 02:03:04.600328 > 33 bytes data, server => client 02:03:04.600339 '200 I modify TYPE as you wanted\r\n' 02:03:04.600391 < 21 bytes data, client => server 02:03:04.600402 'SIZE verifiedserver\r\n' 02:03:04.600498 Received DATA (on stdin) 02:03:04.600509 > 8 bytes data, server => client 02:03:04.600519 '213 17\r\n' 02:03:04.600566 < 21 bytes data, client => server 02:03:04.600577 'RETR verifiedserver\r\n' 02:03:04.600851 Received DATA (on stdin) 02:03:04.600863 > 29 bytes data, server => client 02:03:04.600874 '150 Binary junk (17 bytes).\r\n' 02:03:04.601272 Received DATA (on stdin) 02:03:04.601285 > 28 bytes data, server => client 02:03:04.601295 '226 File transfer complete\r\n' 02:03:04.653115 < 6 bytes data, client => server 02:03:04.653149 'QUIT\r\n' 02:03:04.653363 Received DATA (on stdin) 02:03:04.653376 > 18 bytes data, server => client 02:03:04.653388 '221 bye bye baby\r\n' 02:03:04.654225 ====> Client disconnect 02:03:04.654385 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:04.599275 Running IPv4 version 02:03:04.599362 Listening on port 43555 02:03:04.599405 Wrote pid 136482 to log/6/server/ftp_sockdata.pid 02:03:04.599582 Received PING (on stdin) 02:03:04.599678 Received PORT (on stdin) 02:03:04.600102 ====> Client connect 02:03:04.600756 Received DATA (on stdin) 02:03:04.600769 > 17 bytes data, server => client 02:03:04.600780 'WE ROOLZ: 80451\r\n' 02:03:04.600813 Received DISC (on stdin) 02:03:04.600826 ====> Client forcibly disconnected 02:03:04.601015 Received QUIT (on stdin) 02:03:04.601026 quits 02:03:04.601090 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1163 === End of file server.cmd === Start of file stderr1163 URL: ftp://127.0.0.1:40433/fully_simulated/DOS/*[][ === End of file stderr1163 === Start of file valgrind1163 ==136564== ==136564== Process terminating with default action of signal 4 (SIGILL) ==136564== Illegal opcode at address 0x48EA16B ==136564== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==136564== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==136564== by 0x48EA16B: Curl_open (url.c:519) ==136564== by 0x4880EEF: curl_easy_init (easy.c:370) ==136564== by 0x109098: UnknownInlinedFun (lib576.c:104) ==136564== by 0x109098: main (first.c:220) ==136564== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==136564== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136564== by 0x4A6D258: __tsearch (tsearch.c:337) ==136564== by 0x4A6D258: tsearch (tsearch.c:290) ==136564== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136564== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136564== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136564== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136564== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136564== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==136564== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136564== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136564== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136564== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136564== by 0x498986B: setlocale (setlocale.c:337) ==136564== by 0x109054: main (first.c:160) ==136564== ==136564== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==136564== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136564== by 0x4A6D258: __tsearch (tsearch.c:337) ==136564== by 0x4A6D258: tsearch (tsearch.c:290) ==136564== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136564== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==136564== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==136564== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136564== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136564== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136564== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136564== by 0x498986B: setlocale (setlocale.c:337) ==136564== by 0x109054: main (first.c:160) ==136564== ==136564== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==136564== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136564== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==136564== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136564== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136564== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136564== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136564== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==136564== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136564== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136564== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136564== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136564== by 0x498986B: setlocale (setlocale.c:337) ==136564== by 0x109054: main (first.c:160) ==136564== ==136564== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==136564== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136564== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==136564== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==136564== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==136564== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136564== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136564== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136564== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136564== by 0x498986B: setlocale (setlocale.c:337) ==136564== by 0x109054: main (first.c:160) ==136564== ==136564== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==136564== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==136564== by 0x48EA143: Curl_open (url.c:510) ==136564== by 0x4880EEF: curl_easy_init (easy.c:370) ==136564== by 0x109098: UnknownInlinedFun (lib576.c:104) ==136564== by 0x109098: main (first.c:220) ==136564== ==136564== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==136564== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136564== by 0x4A6D258: __tsearch (tsearch.c:337) ==136564== by 0x4A6D258: tsearch (tsearch.c:290) ==136564== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136564== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136564== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136564== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136564== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136564== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==136564== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136564== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136564== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136564== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136564== by 0x498986B: setlocale (setlocale.c:337) ==136564== by 0x109054: main (first.c:160) ==136564== ==136564== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==136564== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136564== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1162 ./libtest/lib576 "ftp://127.0.0.1:39101/fully_simulated/DOS/[*\\s-'tl" > log/8/stdout1162 2> log/8/stderr1162 136564== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136564== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136564== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136564== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136564== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==136564== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136564== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136564== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136564== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136564== by 0x498986B: setlocale (setlocale.c:337) ==136564== by 0x109054: main (first.c:160) ==136564== === End of file valgrind1163 setenv MSYS2_ARG_CONV_EXCL = ftp:// test 1162...[FTP wildcard with crazy pattern] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1162 ./libtest/lib576 "ftp://127.0.0.1:39101/fully_simulated/DOS/[*\\s-'tl" > log/8/stdout1162 2> log/8/stderr1162 1162: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1162 === Start of file ftp_server.log 02:03:04.348523 ====> Client connect 02:03:04.348704 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:04.349167 < "USER anonymous" 02:03:04.349210 > "331 We are happy you popped in![CR][LF]" 02:03:04.349373 < "PASS ftp@example.com" 02:03:04.349401 > "230 Welcome you silly person[CR][LF]" 02:03:04.349537 < "PWD" 02:03:04.349566 > "257 "/" is current directory[CR][LF]" 02:03:04.349703 < "EPSV" 02:03:04.349724 ====> Passive DATA channel requested by client 02:03:04.349736 DATA sockfilt for passive data channel starting... 02:03:04.362721 DATA sockfilt for passive data channel started (pid 136438) 02:03:04.362838 DATA sockfilt for passive data channel listens on port 44239 02:03:04.362881 > "229 Entering Passive Mode (|||44239|)[LF]" 02:03:04.362898 Client has been notified that DATA conn will be accepted on port 44239 02:03:04.363178 Client connects to port 44239 02:03:04.363203 ====> Client established passive DATA connection on port 44239 02:03:04.363272 < "TYPE I" 02:03:04.363300 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:04.363440 < "SIZE verifiedserver" 02:03:04.363473 > "213 17[CR][LF]" 02:03:04.363602 < "RETR verifiedserver" 02:03:04.363630 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:04.363699 =====> Closing passive DATA connection... 02:03:04.363712 Server disconnects passive DATA connection 02:03:04.363932 Server disconnected passive DATA connection 02:03:04.363956 DATA sockfilt for passive data channel quits (pid 136438) 02:03:04.364132 DATA sockfilt for passive data channel quit (pid 136438) 02:03:04.364151 =====> Closed passive DATA connection 02:03:04.364175 > "226 File transfer complete[CR][LF]" 02:03:04.408775 < "QUIT" 02:03:04.408830 > "221 bye bye baby[CR][LF]" 02:03:04.409911 MAIN sockfilt said DISC 02:03:04.409953 ====> Client disconnected 02:03:04.410024 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:04.548531 ====> Client connect 02:03:04.548874 Received DATA (on stdin) 02:03:04.548894 > 160 bytes data, server => client 02:03:04.548909 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:04.548925 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:04.548937 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:04.549146 < 16 bytes data, client => server 02:03:04.549165 'USER anonymous\r\n' 02:03:04.549352 Received DATA (on stdin) 02:03:04.549364 > 33 bytes data, server => client 02:03:04.549374 '331 We are happy you popped in!\r\n' 02:03:04.549423 < 22 bytes data, client => server 02:03:04.549434 'PASS ftp@example.com\r\n' 02:03:04.549539 Received DATA (on stdin) 02:03:04.549549 > 30 bytes data, server => client 02:03:04.549559 '230 Welcome you silly person\r\n' 02:03:04.549604 < 5 bytes data, client => server 02:03:04.549614 'PWD\r\n' 02:03:04.549702 Received DATA (on stdin) 02:03:04.549712 > 30 bytes data, server => client 02:03:04.549722 '257 "/" is current directory\r\n' 02:03:04.549772 < 6 bytes data, client => server 02:03:04.549782 'EPSV\r\n' 02:03:04.563045 Received DATA (on stdin) 02:03:04.563061 > 38 bytes data, server => client 02:03:04.563073 '229 Entering Passive Mode (|||44239|)\n' 02:03:04.563243 < 8 bytes data, client => server 02:03:04.563257 'TYPE I\r\n' 02:03:04.563438 Received DATA (on stdin) 02:03:04.563450 > 33 bytes data, server => client 02:03:04.563460 '200 I modify TYPE as you wanted\r\n' 02:03:04.563507 < 21 bytes data, client => server 02:03:04.563518 'SIZE verifiedserver\r\n' 02:03:04.563609 Received DATA (on stdin) 02:03:04.563619 > 8 bytes data, server => client 02:03:04.563629 '213 17\r\n' 02:03:04.563671 < 21 bytes data, client => server 02:03:04.563681 'RETR verifiedserver\r\n' 02:03:04.563849 Received DATA (on stdin) 02:03:04.563860 > 29 bytes data, server => client 02:03:04.563871 '150 Binary junk (17 bytes).\r\n' 02:03:04.564313 Received DATA (on stdin) 02:03:04.564325 > 28 bytes data, server => client 02:03:04.564336 '226 File transfer complete\r\n' 02:03:04.608713 < 6 bytes data, client => server 02:03:04.608748 'QUIT\r\n' 02:03:04.608975 Received DATA (on stdin) 02:03:04.608989 > 18 bytes data, server => client 02:03:04.609000 '221 bye bye baby\r\n' 02:03:04.609765 ====> Client disconnect 02:03:04.610161 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:04.562539 Running IPv4 version 02:03:04.562608 Listening on port 44239 02:03:04.562645 Wrote pid 136438 to log/8/server/ftp_sockdata.pid 02:03:04.562805 Received PING (on stdin) 02:03:04.562889 Received PORT (on stdin) 02:03:04.563275 ====> Client connect 02:03:04.563913 Received DATA (on stdin) 02:03:04.563926 > 17 bytes data, server => client 02:03:04.563937 'WE ROOLZ: 80441\r\n' 02:03:04.563966 Received DISC (on stdin) 02:03:04.563978 ====> Client forcibly disconnected 02:03:04.564099 Received QUIT (on stdin) 02:03:04.564109 quits 02:03:04.564159 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1162 === End of file server.cmd === Start of file stderr1162 URL: ftp://127.0.0.1:39101/fully_simulated/DOS/[*\s-'tl === End of file stderr1162 === Start of file valgrind1162 ==136516== ==136516== Process terminating with default action of signal 4 (SIGILL) ==136516== Illegal opcode at address 0x48EA16B ==136516== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==136516== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==136516== by 0x48EA16B: Curl_open (url.c:519) ==136516== by 0x4880EEF: curl_easy_init (easy.c:370) ==136516== by 0x109098: UnknownInlinedFun (lib576.c:104) ==136516== by 0x109098: main (first.c:220) ==136516== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==136516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136516== by 0x4A6D258: __tsearch (tsearch.c:337) ==136516== by 0x4A6D258: tsearch (tsearch.c:290) ==136516== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136516== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136516== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136516== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136516== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136516== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==136516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136516== by 0x4986E9D: _nl_find_locale (findlocale.c:298)CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1172 ../src/curl -q --output log/1/curl1172.out --include --trace-ascii log/1/trace1172 --trace-config all --trace-time http://127.0.0.1:34215/1172 --no-http0.9 > log/1/stdout1172 2> log/1/stderr1172 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1170 ../src/curl -q --output log/9/curl1170.out --include --trace-ascii log/9/trace1170 --trace-config all --trace-time http://127.0.0.1:38509/1170 --tr-encoding -H "Connection:" > log/9/stdout1170 2> log/9/stderr1170 ==136516== by 0x498986B: setlocale (setlocale.c:337) ==136516== by 0x109054: main (first.c:160) ==136516== ==136516== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==136516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136516== by 0x4A6D258: __tsearch (tsearch.c:337) ==136516== by 0x4A6D258: tsearch (tsearch.c:290) ==136516== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136516== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==136516== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==136516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136516== by 0x498986B: setlocale (setlocale.c:337) ==136516== by 0x109054: main (first.c:160) ==136516== ==136516== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==136516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136516== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==136516== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136516== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136516== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136516== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==136516== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==136516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136516== by 0x498986B: setlocale (setlocale.c:337) ==136516== by 0x109054: main (first.c:160) ==136516== ==136516== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==136516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136516== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==136516== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==136516== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==136516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136516== by 0x498986B: setlocale (setlocale.c:337) ==136516== by 0x109054: main (first.c:160) ==136516== ==136516== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==136516== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==136516== by 0x48EA143: Curl_open (url.c:510) ==136516== by 0x4880EEF: curl_easy_init (easy.c:370) ==136516== by 0x109098: UnknownInlinedFun (lib576.c:104) ==136516== by 0x109098: main (first.c:220) ==136516== ==136516== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==136516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136516== by 0x4A6D258: __tsearch (tsearch.c:337) ==136516== by 0x4A6D258: tsearch (tsearch.c:290) ==136516== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==136516== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136516== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136516== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136516== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136516== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==136516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136516== by 0x498986B: setlocale (setlocale.c:337) ==136516== by 0x109054: main (first.c:160) ==136516== ==136516== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==136516== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==136516== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==136516== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==136516== by 0x497DBB2: add_alias (gconv_conf.c:178) ==136516== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==136516== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==136516== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==136516== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==136516== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==136516== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==136516== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==136516== by 0x498986B: setlocale (setlocale.c:337) ==136516== by 0x109054: main (first.c:160) ==136516== === End of file valgrind1162 test 1172...[HTTP/0.9 GET response denied] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1172 ../src/curl -q --output log/1/curl1172.out --include --trace-ascii log/1/trace1172 --trace-config all --trace-time http://127.0.0.1:34215/1172 --no-http0.9 > log/1/stdout1172 2> log/1/stderr1172 1172: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1172 === Start of file http_server.log 02:03:05.583839 ====> Client connect 02:03:05.583876 accept_connection 3 returned 4 02:03:05.583895 accept_connection 3 returned 0 02:03:05.583911 Read 93 bytes 02:03:05.583923 Process 93 bytes request 02:03:05.583938 Got request: GET /verifiedserver HTTP/1.1 02:03:05.583952 Are-we-friendly question received 02:03:05.583976 Wrote request (93 bytes) input to log/1/server.input 02:03:05.583997 Identifying ourselves as friends 02:03:05.584073 Response sent (56 bytes) and written to log/1/server.response 02:03:05.584088 special request received, no persistency 02:03:05.584099 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1172 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1172 ==136968== ==136968== Process terminating with default action of signal 4 (SIGILL) ==136968== Illegal opcode at address 0x10B08D ==136968== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136968== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1172 test 1170...[HTTP GET transfer-encoding with removed Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1170 ../src/curl -q --output log/9/curl1170.out --include --trace-ascii log/9/trace1170 --trace-config all --trace-time http://127.0.0.1:38509/1170 --tr-encoding -H "Connection:" > log/9/stdout1170 2> log/9/stderr1170 1170: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1170 === Start of file http_server.log 02:03:05.488543 ====> Client connect 02:03:05.488586 accept_connection 3 returned 4 02:03:05.488605 accept_connection 3 returned 0 02:03:05.488622 Read 93 bCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1171 ../src/curl -q --output log/5/curl1171.out --include --trace-ascii log/5/trace1171 --trace-config all --trace-time http://127.0.0.1:33361/1171 --tr-encoding -H "Connection;" > log/5/stdout1171 2> log/5/stderr1171 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1174 ../src/curl -q --output log/2/curl1174.out --include --trace-ascii log/2/trace1174 --trace-config all --trace-time http://127.0.0.1:38781/1174 > log/2/stdout1174 2> log/2/stderr1174 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1176 ../src/curl -q --include --trace-ascii log/7/trace1176 --trace-config all --trace-time http://127.0.0.1:43753/1176 -o 'log/7/base-#0' > log/7/stdout1176 2> log/7/stderr1176 ytes 02:03:05.488632 Process 93 bytes request 02:03:05.488648 Got request: GET /verifiedserver HTTP/1.1 02:03:05.488658 Are-we-friendly question received 02:03:05.488681 Wrote request (93 bytes) input to log/9/server.input 02:03:05.488699 Identifying ourselves as friends 02:03:05.488812 Response sent (56 bytes) and written to log/9/server.response 02:03:05.488823 special request received, no persistency 02:03:05.488833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1170 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1170 ==136907== ==136907== Process terminating with default action of signal 4 (SIGILL) ==136907== Illegal opcode at address 0x10B08D ==136907== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136907== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1170 test 1171...[HTTP GET transfer-encoding with blanked Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1171 ../src/curl -q --output log/5/curl1171.out --include --trace-ascii log/5/trace1171 --trace-config all --trace-time http://127.0.0.1:33361/1171 --tr-encoding -H "Connection;" > log/5/stdout1171 2> log/5/stderr1171 1171: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1171 === Start of file http_server.log 02:03:05.561881 ====> Client connect 02:03:05.561917 accept_connection 3 returned 4 02:03:05.561935 accept_connection 3 returned 0 02:03:05.561949 Read 93 bytes 02:03:05.561960 Process 93 bytes request 02:03:05.561975 Got request: GET /verifiedserver HTTP/1.1 02:03:05.561985 Are-we-friendly question received 02:03:05.562008 Wrote request (93 bytes) input to log/5/server.input 02:03:05.562026 Identifying ourselves as friends 02:03:05.562099 Response sent (56 bytes) and written to log/5/server.response 02:03:05.562110 special request received, no persistency 02:03:05.562120 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1171 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1171 ==136953== ==136953== Process terminating with default action of signal 4 (SIGILL) ==136953== Illegal opcode at address 0x10B08D ==136953== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==136953== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1171 test 1174...[HTTP/0.9 GET response denied by default] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1174 ../src/curl -q --output log/2/curl1174.out --include --trace-ascii log/2/trace1174 --trace-config all --trace-time http://127.0.0.1:38781/1174 > log/2/stdout1174 2> log/2/stderr1174 1174: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1174 === Start of file http_server.log 02:03:05.639711 ====> Client connect 02:03:05.639748 accept_connection 3 returned 4 02:03:05.639769 accept_connection 3 returned 0 02:03:05.639784 Read 93 bytes 02:03:05.639796 Process 93 bytes request 02:03:05.639812 Got request: GET /verifiedserver HTTP/1.1 02:03:05.639822 Are-we-friendly question received 02:03:05.639850 Wrote request (93 bytes) input to log/2/server.input 02:03:05.639868 Identifying ourselves as friends 02:03:05.639941 Response sent (56 bytes) and written to log/2/server.response 02:03:05.639954 special request received, no persistency 02:03:05.639964 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1174 ==137038== ==137038== Process terminating with default action of signal 4 (SIGILL) ==137038== Illegal opcode at address 0x10B08D ==137038== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137038== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1174 test 1176...[--output using #0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1176 ../src/curl -q --include --trace-ascii log/7/trace1176 --trace-config all --trace-time http://127.0.0.1:43753/1176 -o 'log/7/base-#0' > log/7/stdout1176 2> log/7/stderr1176 1176: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1176 === Start of file http_server.log 02:03:05.798541 ====> Client connect 02:03:05.798578 accept_connection 3 returned 4 02:03:05.798596 accept_connection 3 returned 0 02:03:05.801942 Read 93 bytes 02:03:05.801962 Process 93 bytes request 02:03:05.801976 Got request: GET /verifiedserver HTTP/1.1 02:03:05.801987 Are-we-friendly question received 02:03:05.802017 Wrote request (93 bytes) input to log/7/server.input 02:03:05.802037 Identifying ourselves as friends 02:03:05.802108 Response sent (56 bytes) and written to log/7/server.response 02:03:05.802120 special request received, no persistency 02:03:05.802130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1176 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1176 ==137199== ==137199== Process terminating with default action of signal 4 (SIGILL) ==137199==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1178 ../src/curl -q --output log/11/curl1178.out --include --trace-ascii log/11/trace1178 --trace-config all --trace-time http://127.0.0.1:44137/we/want/that/page/1178 -x http://127.0.0.1:44137 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/11/stdout1178 2> log/11/stderr1178 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1181 ../src/curl -q --output log/12/curl1181.out --include --trace-ascii log/12/trace1181 --trace-config all --trace-time --proxy http://127.0.0.1:40653 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:40653/1181 > log/12/stdout1181 2> log/12/stderr1181 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1180 ../src/curl -q --output log/3/curl1180.out --include --trace-ascii log/3/trace1180 --trace-config all --trace-time --proxy http://127.0.0.1:34527 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:34527/1180 > log/3/stdout1180 2> log/3/stderr1180 Illegal opcode at address 0x10B08D ==137199== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137199== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1176 test 1178...[HTTP proxy auth with credentials longer than 256 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1178 ../src/curl -q --output log/11/curl1178.out --include --trace-ascii log/11/trace1178 --trace-config all --trace-time http://127.0.0.1:44137/we/want/that/page/1178 -x http://127.0.0.1:44137 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/11/stdout1178 2> log/11/stderr1178 1178: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1178 === Start of file http_server.log 02:03:05.799156 ====> Client connect 02:03:05.799184 accept_connection 3 returned 4 02:03:05.799201 accept_connection 3 returned 0 02:03:05.799215 Read 93 bytes 02:03:05.799226 Process 93 bytes request 02:03:05.799240 Got request: GET /verifiedserver HTTP/1.1 02:03:05.799250 Are-we-friendly question received 02:03:05.799277 Wrote request (93 bytes) input to log/11/server.input 02:03:05.799295 Identifying ourselves as friends 02:03:05.799370 Response sent (56 bytes) and written to log/11/server.response 02:03:05.799383 special request received, no persistency 02:03:05.799393 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1178 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1178 ==137200== ==137200== Process terminating with default action of signal 4 (SIGILL) ==137200== Illegal opcode at address 0x10B08D ==137200== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137200== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1178 test 1181...[HTTP GET request with proxy and --proxy-header "Proxy-Connection: Keep-Alive"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1181 ../src/curl -q --output log/12/curl1181.out --include --trace-ascii log/12/trace1181 --trace-config all --trace-time --proxy http://127.0.0.1:40653 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:40653/1181 > log/12/stdout1181 2> log/12/stderr1181 1181: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1181 === Start of file http_server.log 02:03:05.881569 ====> Client connect 02:03:05.881605 accept_connection 3 returned 4 02:03:05.881622 accept_connection 3 returned 0 02:03:05.881637 Read 93 bytes 02:03:05.881647 Process 93 bytes request 02:03:05.881661 Got request: GET /verifiedserver HTTP/1.1 02:03:05.881671 Are-we-friendly question received 02:03:05.881695 Wrote request (93 bytes) input to log/12/server.input 02:03:05.881712 Identifying ourselves as friends 02:03:05.881784 Response sent (56 bytes) and written to log/12/server.response 02:03:05.881795 special request received, no persistency 02:03:05.881804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1181 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1181 ==137287== ==137287== Process terminating with default action of signal 4 (SIGILL) ==137287== Illegal opcode at address 0x10B08D ==137287== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137287== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1181 test 1180...[HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1180 ../src/curl -q --output log/3/curl1180.out --include --trace-ascii log/3/trace1180 --trace-config all --trace-time --proxy http://127.0.0.1:34527 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:34527/1180 > log/3/stdout1180 2> log/3/stderr1180 1180: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1180 === Start of file http_server.log 02:03:05.828304 ====> Client connect 02:03:05.828336 accept_connection 3 returned 4 02:03:05.828351 accept_connection 3 returned 0 02:03:05.828365 Read 93 bytes 02:03:05.828376 Process 93 bytes request 02:03:05.828389 Got request: GET /verifiedserver HTTP/1.1 02:03:05.828399 Are-we-friendly question received 02:03:05.828421 Wrote request (93 bytes) input to log/3/server.input 02:03:05.828438 Identifying ourselves as friends 02:03:05.828506 Response sent (56 bytes) and written to log/3/server.response 02:03:05.828517 special request received, no persistency 02:03:05.828526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1180 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1180 ==137230== ==137230== Process terminating with default action of signal 4 (SIGILL) ==137230== Illegal opcode at adCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1183 ../src/curl -q --output log/10/curl1183.out --include --trace-ascii log/10/trace1183 --trace-config all --trace-time http://127.0.0.1:42929/1183 > log/10/stdout1183 2> log/10/stderr1183 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1188 ../src/curl -q --output log/8/curl1188.out --include --trace-ascii log/8/trace1188 --trace-config all --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:43803/we/want/our/1188 http://127.0.0.1:43803/we/want/our/1188 > log/8/stdout1188 2> log/8/stderr1188 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1189 ../src/curl -q --output log/1/curl1189.out --include --trace-ascii log/1/trace1189 --trace-config all --trace-time http://127.0.0.1:34215/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/1/stdout1189 2> log/1/stderr1189 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1186 ../src/curl -q --output log/4/curl1186.out --include --trace-ascii log/4/trace1186 --trace-config all --trace-time http://127.0.0.1:36813/we/want/1186 --form-escape -F "file=@\"log/4/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/4/test1186\".txt"' -F 'file3=@"log/4/test1186\".txt";type=m/f,"log/4/test1186\".txt"' > log/4/stdout1186 2> log/4/stderr1186 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1187 ../src/curl -q --output log/6/curl1187.out --include --trace-ascii log/6/trace1187 --trace-config all --trace-time smtp://127.0.0.1:36521/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/6/stdout1187 2> log/6/stderr1187 dress 0x10B08D ==137230== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137230== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1180 test 1183...[1183 used instead of actual test number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1183 ../src/curl -q --output log/10/curl1183.out --include --trace-ascii log/10/trace1183 --trace-config all --trace-time http://127.0.0.1:42929/1183 > log/10/stdout1183 2> log/10/stderr1183 1183: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1183 === Start of file http_server.log 02:03:05.963139 ====> Client connect 02:03:05.963173 accept_connection 3 returned 4 02:03:05.963191 accept_connection 3 returned 0 02:03:05.963206 Read 93 bytes 02:03:05.963217 Process 93 bytes request 02:03:05.963233 Got request: GET /verifiedserver HTTP/1.1 02:03:05.963244 Are-we-friendly question received 02:03:05.963268 Wrote request (93 bytes) input to log/10/server.input 02:03:05.963286 Identifying ourselves as friends 02:03:05.963355 Response sent (56 bytes) and written to log/10/server.response 02:03:05.963368 special request received, no persistency 02:03:05.963378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1183 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1183 ==137403== ==137403== Process terminating with default action of signal 4 (SIGILL) ==137403== Illegal opcode at address 0x10B08D ==137403== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137403== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1183 test 1188...[--write-out with %{onerror} and %{urlnum} to stderr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1188 ../src/curl -q --output log/8/curl1188.out --include --trace-ascii log/8/trace1188 --trace-config all --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:43803/we/want/our/1188 http://127.0.0.1:43803/we/want/our/1188 > log/8/stdout1188 2> log/8/stderr1188 1188: stderr FAILED: --- log/8/check-expected 2024-12-15 02:03:06.666672148 +0000 +++ log/8/check-generated 2024-12-15 02:03:06.663338755 +0000 @@ -1,2 +0,0 @@ -0 says 22 The requested URL returned error: 404[CR][LF] -1 says 22 The requested URL returned error: 404[CR][LF] == Contents of files in the log/8/ dir after test 1188 === Start of file check-expected 0 says 22 The requested URL returned error: 404[CR][LF] 1 says 22 The requested URL returned error: 404[CR][LF] === End of file check-expected === Start of file http_server.log 02:03:06.279279 ====> Client connect 02:03:06.279324 accept_connection 3 returned 4 02:03:06.279342 accept_connection 3 returned 0 02:03:06.279356 Read 93 bytes 02:03:06.279367 Process 93 bytes request 02:03:06.279381 Got request: GET /verifiedserver HTTP/1.1 02:03:06.279391 Are-we-friendly question received 02:03:06.279413 Wrote request (93 bytes) input to log/8/server.input 02:03:06.279430 Identifying ourselves as friends 02:03:06.279495 Response sent (56 bytes) and written to log/8/server.response 02:03:06.279507 special request received, no persistency 02:03:06.279516 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1188 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1188 ==137591== ==137591== Process terminating with default action of signal 4 (SIGILL) ==137591== Illegal opcode at address 0x10B08D ==137591== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137591== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1188 test 1189...[Multipart formposting with backslash-escaping of name= and filename=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1189 ../src/curl -q --output log/1/curl1189.out --include --trace-ascii log/1/trace1189 --trace-config all --trace-time http://127.0.0.1:34215/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/1/stdout1189 2> log/1/stderr1189 1189: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1189 === Start of file http_server.log 02:03:06.335966 ====> Client connect 02:03:06.336001 accept_connection 3 returned 4 02:03:06.336017 accept_connection 3 returned 0 02:03:06.336031 Read 93 bytes 02:03:06.336041 Process 93 bytes request 02:03:06.336055 Got request: GET /verifiedserver HTTP/1.1 02:03:06.336068 Are-we-friendly question received 02:03:06.336091 Wrote request (93 bytes) input to log/1/server.input 02:03:06.336108 Identifying ourselves as friends 02:03:06.336174 Response sent (56 bytes) and written to log/1/server.response 02:03:06.336184 special request received, no persistency 02:03:06.336193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1189 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file test1189.txt foo bar This is a bar foo bar foo === End of file test1189.txt === Start of file valgrind1189 ==137700== ==137700== Process terminating with default action of signal 4 (SIGILL) ==137700== Illegal opcode at address 0x10B08D ==137700== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137700== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1189 prechecked /usr/bin/perl -e "print 'Test requires a system supporting double quotes in file names' if ($^O eq 'msys');" test 1186...[Multipart formposting with backslash-escaping filename containing '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1186 ../src/curl -q --output log/4/curl1186.out --include --trace-ascii log/4/trace1186 --trace-config all --trace-time http://127.0.0.1:36813/we/want/1186 --form-escape -F "file=@\"log/4/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/4/test1186\".txt"' -F 'file3=@"log/4/test1186\".txt";type=m/f,"log/4/test1186\".txt"' > log/4/stdout1186 2> log/4/stderr1186 1186: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1186 === Start of file http_server.log 02:03:06.148529 ====> Client connect 02:03:06.148565 accept_connection 3 returned 4 02:03:06.148583 accept_connection 3 returned 0 02:03:06.148598 Read 93 bytes 02:03:06.148609 Process 93 bytes request 02:03:06.148624 Got request: GET /verifiedserver HTTP/1.1 02:03:06.148634 Are-we-friendly question received 02:03:06.148658 Wrote request (93 bytes) input to log/4/server.input 02:03:06.148679 Identifying ourselves as friends 02:03:06.148757 Response sent (56 bytes) and written to log/4/server.response 02:03:06.148771 special request received, no persistency 02:03:06.148782 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1186 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file test1186".txt foo bar This is a bar foo bar foo === End of file test1186".txt === Start of file valgrind1186 ==137500== ==137500== Process terminating with default action of signal 4 (SIGILL) ==137500== Illegal opcode at address 0x10B08D ==137500== at 0x10B08D: UnknownInlinedFun (sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1197 ../src/curl -q --include --trace-ascii log/10/trace1197 --trace-config all --trace-time http://127.0.0.1:42929/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/10/stdout1197 2> log/10/stderr1197 tring_fortified.h:59) ==137500== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1186 test 1187...[SMTP multipart with file name escaping] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1187 ../src/curl -q --output log/6/curl1187.out --include --trace-ascii log/6/trace1187 --trace-config all --trace-time smtp://127.0.0.1:36521/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/6/stdout1187 2> log/6/stderr1187 1187: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1187 === Start of file server.cmd Testnum 1187 === End of file server.cmd === Start of file smtp_server.log 02:03:06.065427 ====> Client connect 02:03:06.065568 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:06.066579 < "EHLO verifiedserver" 02:03:06.066620 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:06.066796 < "HELP" 02:03:06.066828 > "214 WE ROOLZ: 120742[CR][LF]" 02:03:06.066842 return proof we are we 02:03:06.067051 < "QUIT" 02:03:06.067075 > "221 curl ESMTP server signing off[CR][LF]" 02:03:06.067470 MAIN sockfilt said DISC 02:03:06.067496 ====> Client disconnected 02:03:06.067547 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:06.265190 ====> Client connect 02:03:06.265715 Received DATA (on stdin) 02:03:06.265730 > 160 bytes data, server => client 02:03:06.265743 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:06.265755 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:06.265766 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:06.266571 < 21 bytes data, client => server 02:03:06.266590 'EHLO verifiedserver\r\n' 02:03:06.266762 Received DATA (on stdin) 02:03:06.266774 > 53 bytes data, server => client 02:03:06.266786 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:06.266843 < 6 bytes data, client => server 02:03:06.266855 'HELP\r\n' 02:03:06.266981 Received DATA (on stdin) 02:03:06.266993 > 22 bytes data, server => client 02:03:06.267004 '214 WE ROOLZ: 120742\r\n' 02:03:06.267088 < 6 bytes data, client => server 02:03:06.267102 'QUIT\r\n' 02:03:06.267213 Received DATA (on stdin) 02:03:06.267224 > 35 bytes data, server => client 02:03:06.267234 '221 curl ESMTP server signing off\r\n' 02:03:06.267563 ====> Client disconnect 02:03:06.267684 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1187 From: different To: another body === End of file stdin-for-1187 === Start of file valgrind1187 ==137582== ==137582== Process terminating with default action of signal 4 (SIGILL) ==137582== Illegal opcode at address 0x10B08D ==137582== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137582== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1187 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1190 ../src/curl -q --output log/9/curl1190.out --include --trace log/9/trace1190 --trace-config all --trace-time mqtt://127.0.0.1:34479/1190 > log/9/stdout1190 2> log/9/stderr1190 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1192 ../src/curl -q --output log/2/curl1192.out --include --trace log/2/trace1192 --trace-config all --trace-time mqtt://127.0.0.1:38335/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/2/stdout1192 2> log/2/stderr1192 test 1197...[HTTP POST redirected to GET and --write-out method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1197 ../src/curl -q --include --trace-ascii log/10/trace1197 --trace-config all --trace-time http://127.0.0.1:42929/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/10/stdout1197 2> log/10/stderr1197 1197: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:06.896676245 +0000 +++ log/10/check-generated 2024-12-15 02:03:06.896676245 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./11970001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 15[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -GET[LF] == Contents of files in the log/10/ dir after test 1197 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./11970001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 15[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] GET[LF] === End of file check-expected === Start of file http_server.log 02:03:06.636125 ====> Client connect 02:03:06.636151 accept_connection 3 returned 4 02:03:06.636165 accept_connection 3 returned 0 02:03:06.636176 Read 93 bytes 02:03:06.636184 Process 93 bytes request 02:03:06.636196 Got request: GET /verifiedserver HTTP/1.1 02:03:06.636203 Are-we-friendly question received 02:03:06.636220 Wrote request (93 bytes) input to log/10/server.input 02:03:06.636233 Identifying ourselves as friends 02:03:06.636282 Response sent (56 bytes) and written to log/10/server.response 02:03:06.636291 special request received, no persistency 02:03:06.636298 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1197 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1197 ==137781== ==137781== Process terminating with default action of signal 4 (SIGILL) ==137781== Illegal opcode at address 0x10B08D ==137781== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137781== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1197 startnew: server/mqttd --port 0 --pidfile log/9/server/mqtt_server.pid --portfile log/9/server/mqtt_server.port --config log/9/server.cmd --logfile log/9/mqtt_server.log --logdir log/9 RUN: MQTT server is now running PID 137648 on PORT 34479 * pid mqtt => 137648 137648 test 1190...[MQTT SUBSCRIBE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1190 ../src/curl -q --output log/9/curl1190.out --include --trace log/9/trace1190 --trace-config all --trace-time mqtt://127.0.0.1:34479/1190 > log/9/stdout1190 2> log/9/stderr1190 1190: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1190 === Start of file mqtt_server.log 02:03:06.321290 Running IPv4 version 02:03:06.321353 Listening on port 34479 02:03:06.321388 Wrote pid 137648 to log/9/server/mqtt_server.pid 02:03:06.321418 Wrote port 34479 to log/9/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1190 === End of file server.cmd === Start of file valgrind1190 ==137840== ==137840== Process terminating with default action of signal 4 (SIGILL) ==137840== Illegal opcode at address 0x10B08D ==137840== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137840== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1190 startnew: server/mqttd --port 0 --pidfile log/2/server/mqtt_server.pid --portfile log/2/server/mqtt_server.port --config log/2/server.cmd --logfile log/2/mqtt_server.log --logdir log/2 RUN: MQTT server is now running PID 137759 on PORT 38335 * pid mqtt => 137759 137759 test 1192...[MQTT SUBSCRIBE 2k topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1192 ../src/curl -q --output log/2/curl1192.out --include --trace log/2/trace1192 --trace-config all --trace-time mqtt://127.0.0.1:38335/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/2/stdout1192 2> log/2/stderr1192 1192: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1192 === Start of file mqtt_server.log 02:03:06.456834 Running IPv4 version 02:03:06.456885 Listening on port 38335 02:03:06.456915 Wrote pid 137759 to log/2/server/mqtt_server.pid 02:03:06.456940 Wrote port 38335 to log/2/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1192 === End of file server.cmd === Start of file valgrind1192 ==137902== ==137902== Process terminating with default action of signal 4 (SIGILL) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1191 ../src/curl -q --output log/5/curl1191.out --include --trace log/5/trace1191 --trace-config all --trace-time mqtt://127.0.0.1:39557/1191 -d something > log/5/stdout1191 2> log/5/stderr1191 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1193 ../src/curl -q --output log/7/curl1193.out --include --trace log/7/trace1193 --trace-config all --trace-time mqtt://127.0.0.1:37765/1193 -d @log/7/payload1193 > log/7/stdout1193 2> log/7/stderr1193 CMD (0): ../src/curl --max-time 13 --output log/1/gopher_verify.out --silent --verbose --globoff "gopher://127.0.0.1:33353/1/verifiedserver" 2>log/1/gopher_verify.log CMD (0): ../src/curl --max-time 13 --output log/4/gopher_verify.out --silent --verbose --globoff "gopher://127.0.0.1:45709/1/verifiedserver" 2>log/4/gopher_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1194 ../src/curl -q --output log/11/curl1194.out --include --trace log/11/trace1194 --trace-config all --trace-time mqtt://127.0.0.1:34693/1194 > log/11/stdout1194 2> log/11/stderr1194 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1196 ../src/curl -q --output log/3/curl1196.out --include --trace log/3/trace1196 --trace-config all --trace-time mqtt://127.0.0.1:33095/1196 > log/3/stdout1196 2> log/3/stderr1196 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1195 ../src/curl -q --output log/12/curl1195.out --include --trace log/12/trace1195 --trace-config all --trace-time mqtt://127.0.0.1:41133/1195 > log/12/stdout1195 2> log/12/stderr1195 137902== Illegal opcode at address 0x10B08D ==137902== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137902== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1192 startnew: server/mqttd --port 0 --pidfile log/5/server/mqtt_server.pid --portfile log/5/server/mqtt_server.port --config log/5/server.cmd --logfile log/5/mqtt_server.log --logdir log/5 RUN: MQTT server is now running PID 137758 on PORT 39557 * pid mqtt => 137758 137758 test 1191...[MQTT PUBLISH] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1191 ../src/curl -q --output log/5/curl1191.out --include --trace log/5/trace1191 --trace-config all --trace-time mqtt://127.0.0.1:39557/1191 -d something > log/5/stdout1191 2> log/5/stderr1191 1191: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1191 === Start of file mqtt_server.log 02:03:06.452093 Running IPv4 version 02:03:06.452150 Listening on port 39557 02:03:06.452189 Wrote pid 137758 to log/5/server/mqtt_server.pid 02:03:06.452222 Wrote port 39557 to log/5/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1191 === End of file server.cmd === Start of file valgrind1191 ==137889== ==137889== Process terminating with default action of signal 4 (SIGILL) ==137889== Illegal opcode at address 0x10B08D ==137889== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137889== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1191 startnew: server/mqttd --port 0 --pidfile log/7/server/mqtt_server.pid --portfile log/7/server/mqtt_server.port --config log/7/server.cmd --logfile log/7/mqtt_server.log --logdir log/7 RUN: MQTT server is now running PID 137760 on PORT 37765 * pid mqtt => 137760 137760 test 1193...[MQTT PUBLISH 2k payload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1193 ../src/curl -q --output log/7/curl1193.out --include --trace log/7/trace1193 --trace-config all --trace-time mqtt://127.0.0.1:37765/1193 -d @log/7/payload1193 > log/7/stdout1193 2> log/7/stderr1193 1193: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1193 === Start of file mqtt_server.log 02:03:06.464448 Running IPv4 version 02:03:06.464501 Listening on port 37765 02:03:06.464531 Wrote pid 137760 to log/7/server/mqtt_server.pid 02:03:06.464560 Wrote port 37765 to log/7/server/mqtt_server.port === End of file mqtt_server.log === Start of file payload1193 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file payload1193 === Start of file server.cmd Testnum 1193 === End of file server.cmd === Start of file valgrind1193 ==137932== ==137932== Process terminating with default action of signal 4 (SIGILL) ==137932== Illegal opcode at address 0x10B08D ==137932== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==137932== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1193 startnew: server/mqttd --port 0 --pidfile log/11/server/mqtt_server.pid --portfile log/11/server/mqtt_server.port --config log/11/server.cmd --logfile log/11/mqtt_server.log --logdir log/11 RUN: MQTT server is now running PID 137762 on PORT 34693 * pid mqtt => 137762 137762 test 1194...[MQTT SUBSCRIBE with PUBLISH befoire SUBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1194 ../src/curl -q --output log/11/curl1194.out --include --trace log/11/trace1194 --trace-config all --trace-time mqtt://127.0.0.1:34693/1194 > log/11/stdout1194 2> log/11/stderr1194 1194: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1194 === Start of file mqtt_server.log 02:03:06.609578 Running IPv4 version 02:03:06.609628 Listening on port 34693 02:03:06.609664 Wrote pid 137762 to log/11/server/mqtt_server.pid 02:03:06.609694 Wrote port 34693 to log/11/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUE Testnum 1194 === End of file server.cmd === Start of file valgrind1194 ==138038== ==138038== Process terminating with default action of signal 4 (SIGILL) ==138038== Illegal opcode at address 0x10B08D ==138038== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138038== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1194 startnew: server/mqttd --port 0 --pidfile log/3/server/mqtt_server.pid --portfile log/3/server/mqtt_server.port --config log/3/server.cmd --logfile log/3/mqtt_server.log --logdir log/3 RUN: MQTT server is now running PID 137764 on PORT 33095 * pid mqtt => 137764 137764 test 1196...[MQTT with error in CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1196 ../src/curl -q --output log/3/curl1196.out --include --trace log/3/trace1196 --trace-config all --trace-time mqtt://127.0.0.1:33095/1196 > log/3/stdout1196 2> log/3/stderr1196 1196: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1196 === Start of file mqtt_server.log 02:03:06.612116 Running IPv4 version 02:03:06.612159 Listening on port 33095 02:03:06.612187 Wrote pid 137764 to log/3/server/mqtt_server.pid 02:03:06.612211 Wrote port 33095 to log/3/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 1 Testnum 1196 === End of file server.cmd === Start of file valgrinCMD (0): ../src/curl --max-time 13 --output log/10/gopher_verify.out --silent --verbose --globoff "gopher://127.0.0.1:39597/1/verifiedserver" 2>log/10/gopher_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1199 ../src/curl -q --output log/6/curl1199.out --include --trace log/6/trace1199 --trace-config all --trace-time mqtt://127.0.0.1:35563 -d "" > log/6/stdout1199 2> log/6/stderr1199 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1198 ../src/curl -q --output log/8/curl1198.out --include --trace log/8/trace1198 --trace-config all --trace-time mqtt://127.0.0.1:44919/%20 -d "" > log/8/stdout1198 2> log/8/stderr1198 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1204 ../src/curl -q --output log/2/curl1204.out --include --trace-ascii log/2/trace1204 --trace-config all --trace-time http://127.0.0.1:38781/1204 -u testuser:testpass --anyauth > log/2/stdout1204 2> log/2/stderr1204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1205 ../src/curl -q --output log/5/curl1205.out --include --trace-ascii log/5/trace1205 --trace-config all --trace-time http://127.0.0.1:33361/1205 > log/5/stdout1205 2> log/5/stderr1205 d1196 ==138045== ==138045== Process terminating with default action of signal 4 (SIGILL) ==138045== Illegal opcode at address 0x10B08D ==138045== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138045== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1196 startnew: server/mqttd --port 0 --pidfile log/12/server/mqtt_server.pid --portfile log/12/server/mqtt_server.port --config log/12/server.cmd --logfile log/12/mqtt_server.log --logdir log/12 RUN: MQTT server is now running PID 137763 on PORT 41133 * pid mqtt => 137763 137763 test 1195...[MQTT SUBSCRIBE with short PUBLISH] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1195 ../src/curl -q --output log/12/curl1195.out --include --trace log/12/trace1195 --trace-config all --trace-time mqtt://127.0.0.1:41133/1195 > log/12/stdout1195 2> log/12/stderr1195 1195: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1195 === Start of file mqtt_server.log 02:03:06.609801 Running IPv4 version 02:03:06.609851 Listening on port 41133 02:03:06.609884 Wrote pid 137763 to log/12/server/mqtt_server.pid 02:03:06.609915 Wrote port 41133 to log/12/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUE short-PUBLISH TRUE Testnum 1195 === End of file server.cmd === Start of file valgrind1195 ==138048== ==138048== Process terminating with default action of signal 4 (SIGILL) ==138048== Illegal opcode at address 0x10B08D ==138048== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138048== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1195 startnew: server/mqttd --port 0 --pidfile log/6/server/mqtt_server.pid --portfile log/6/server/mqtt_server.port --config log/6/server.cmd --logfile log/6/mqtt_server.log --logdir log/6 RUN: MQTT server is now running PID 137833 on PORT 35563 * pid mqtt => 137833 137833 test 1199...[MQTT PUBLISH empty payload, no topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1199 ../src/curl -q --output log/6/curl1199.out --include --trace log/6/trace1199 --trace-config all --trace-time mqtt://127.0.0.1:35563 -d "" > log/6/stdout1199 2> log/6/stderr1199 1199: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1199 === Start of file mqtt_server.log 02:03:06.879264 Running IPv4 version 02:03:06.879301 Listening on port 35563 02:03:06.879328 Wrote pid 137833 to log/6/server/mqtt_server.pid 02:03:06.879351 Wrote port 35563 to log/6/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1199 === End of file server.cmd === Start of file valgrind1199 ==138216== ==138216== Process terminating with default action of signal 4 (SIGILL) ==138216== Illegal opcode at address 0x10B08D ==138216== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138216== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1199 startnew: server/mqttd --port 0 --pidfile log/8/server/mqtt_server.pid --portfile log/8/server/mqtt_server.port --config log/8/server.cmd --logfile log/8/mqtt_server.log --logdir log/8 RUN: MQTT server is now running PID 137832 on PORT 44919 * pid mqtt => 137832 137832 test 1198...[MQTT PUBLISH empty payload, single space topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1198 ../src/curl -q --output log/8/curl1198.out --include --trace log/8/trace1198 --trace-config all --trace-time mqtt://127.0.0.1:44919/%20 -d "" > log/8/stdout1198 2> log/8/stderr1198 1198: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1198 === Start of file mqtt_server.log 02:03:06.877176 Running IPv4 version 02:03:06.877278 Listening on port 44919 02:03:06.877306 Wrote pid 137832 to log/8/server/mqtt_server.pid 02:03:06.877330 Wrote port 44919 to log/8/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1198 === End of file server.cmd === Start of file valgrind1198 ==138197== ==138197== Process terminating with default action of signal 4 (SIGILL) ==138197== Illegal opcode at address 0x10B08D ==138197== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138197== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1198 test 1204...[HTTP with WWW-Authenticate and multiple auths in a single line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1204 ../src/curl -q --output log/2/curl1204.out --include --trace-ascii log/2/trace1204 --trace-config all --trace-time http://127.0.0.1:38781/1204 -u testuser:testpass --anyauth > log/2/stdout1204 2> log/2/stderr1204 1204: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1204 === Start of file http_server.log 02:03:07.903001 ====> Client connect 02:03:07.903024 accept_connection 3 returned 4 02:03:07.903036 accept_connection 3 returned 0 02:03:07.903046 Read 93 bytes 02:03:07.903054 Process 93 bytes request 02:03:07.903065 Got request: GET /verifiedserver HTTP/1.1 02:03:07.903072 Are-we-friendly question received 02:03:07.903092 Wrote request (93 bytes) input to log/2/server.input 02:03:07.903107 Identifying ourselves as friends 02:03:07.903164 Response sent (56 bytes) and written to log/2/server.response 02:03:07.903175 special request received, no persistency 02:03:07.903184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1204 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1204 ==138354== ==138354== Process terminating with default action of signal 4 (SIGILL) ==138354== Illegal opcode at address 0x10B08D ==138354== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138354== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1204 test 1205...[HTTP GET with 18K HTTP header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1205 ../src/curl -q --output log/5/curl1205.out --include --trace-ascii log/5/trace1205 --trace-config all --trace-time http://127.0.0.1:33361/1205 > log/5/stdout1205 2> log/5/stderr1205 1205: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1205 === Start of file http_server.log 02:03:07.905670 ====> Client connect 02:03:07.905700 accept_connection 3 returned 4 02:03:07.905717 accept_connection 3 returned 0 02:03:07.905731 Read 93 bytes 02:03:07.905739 Process 93 bytes request 02:03:07.905748 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1200 ../src/curl -q --output log/4/curl1200.out --include --trace-ascii log/4/trace1200 --trace-config all --trace-time gopher://127.0.0.1:45709/1/1200 > log/4/stdout1200 2> log/4/stderr1200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1201 ../src/curl -q --output log/1/curl1201.out --include --trace-ascii log/1/trace1201 --trace-config all --trace-time gopher://127.0.0.1:33353/1/selector/SELECTOR/1201 > log/1/stdout1201 2> log/1/stderr1201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1210 ../src/curl -q --trace-ascii log/12/trace1210 --trace-config all --trace-time http://127.0.0.1:40653/1210?junk -J -O --output-dir log/12 > log/12/stdout1210 2> log/12/stderr1210 Got request: GET /verifiedserver HTTP/1.1 02:03:07.905756 Are-we-friendly question received 02:03:07.905774 Wrote request (93 bytes) input to log/5/server.input 02:03:07.905787 Identifying ourselves as friends 02:03:07.905859 Response sent (56 bytes) and written to log/5/server.response 02:03:07.905871 special request received, no persistency 02:03:07.905880 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1205 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1205 ==138352== ==138352== Process terminating with default action of signal 4 (SIGILL) ==138352== Illegal opcode at address 0x10B08D ==138352== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138352== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1205 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/4/server/gopher_server.pid" --logfile "log/4/gopher_server.log" --logdir "log/4" --portfile log/4/server/gopher_server.port --config log/4/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/4/gopher_verify.out --silent --verbose --globoff "gopher://127.0.0.1:45709/1/verifiedserver" 2>log/4/gopher_verify.log RUN: GOPHER server is on PID 137834 port 45709 * pid gopher => 137834 137834 test 1200...[Gopher index] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1200 ../src/curl -q --output log/4/curl1200.out --include --trace-ascii log/4/trace1200 --trace-config all --trace-time gopher://127.0.0.1:45709/1/1200 > log/4/stdout1200 2> log/4/stderr1200 1200: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1200 === Start of file gopher_server.log 02:03:06.888053 Running GOPHER IPv4 version on port 45709 02:03:06.888110 Wrote pid 137834 to log/4/server/gopher_server.pid 02:03:06.888134 Wrote port 45709 to log/4/server/gopher_server.port 02:03:07.896442 ====> Client connect 02:03:07.896461 accept_connection 3 returned 4 02:03:07.896475 accept_connection 3 returned 0 02:03:07.896489 Read 17 bytes 02:03:07.896499 Process 17 bytes request 02:03:07.896508 Are-we-friendly question received 02:03:07.896530 Wrote request (17 bytes) input to log/4/server.input 02:03:07.896551 Identifying ourselves as friends 02:03:07.896596 Response sent (18 bytes) and written to log/4/server.response 02:03:07.896607 special request received, no persistency 02:03:07.896616 ====> Client disconnect 0 === End of file gopher_server.log === Start of file gopher_verify.log * Trying 127.0.0.1:45709... * Connected to 127.0.0.1 (127.0.0.1) port 45709 { [18 bytes data] * abort upload { [0 bytes data] * shutting down connection #0 === End of file gopher_verify.log === Start of file gopher_verify.out WE ROOLZ: 137834 === End of file gopher_verify.out === Start of file server.cmd Testnum 1200 === End of file server.cmd === Start of file server.response WE ROOLZ: 137834 === End of file server.response === Start of file valgrind1200 ==138457== ==138457== Process terminating with default action of signal 4 (SIGILL) ==138457== Illegal opcode at address 0x10B08D ==138457== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138457== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1200 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/1/server/gopher_server.pid" --logfile "log/1/gopher_server.log" --logdir "log/1" --portfile log/1/server/gopher_server.port --config log/1/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/1/gopher_verify.out --silent --verbose --globoff "gopher://127.0.0.1:33353/1/verifiedserver" 2>log/1/gopher_verify.log RUN: GOPHER server is on PID 137835 port 33353 * pid gopher => 137835 137835 test 1201...[Gopher selector] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1201 ../src/curl -q --output log/1/curl1201.out --include --trace-ascii log/1/trace1201 --trace-config all --trace-time gopher://127.0.0.1:33353/1/selector/SELECTOR/1201 > log/1/stdout1201 2> log/1/stderr1201 1201: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1201 === Start of file gopher_server.log 02:03:06.888003 Running GOPHER IPv4 version on port 33353 02:03:06.888051 Wrote pid 137835 to log/1/server/gopher_server.pid 02:03:06.888082 Wrote port 33353 to log/1/server/gopher_server.port 02:03:07.896560 ====> Client connect 02:03:07.896577 accept_connection 3 returned 4 02:03:07.896591 accept_connection 3 returned 0 02:03:07.896603 Read 17 bytes 02:03:07.896613 Process 17 bytes request 02:03:07.896622 Are-we-friendly question received 02:03:07.896644 Wrote request (17 bytes) input to log/1/server.input 02:03:07.896664 Identifying ourselves as friends 02:03:07.896707 Response sent (18 bytes) and written to log/1/server.response 02:03:07.896717 special request received, no persistency 02:03:07.896725 ====> Client disconnect 0 === End of file gopher_server.log === Start of file gopher_verify.log * Trying 127.0.0.1:33353... * Connected to 127.0.0.1 (127.0.0.1) port 33353 { [18 bytes data] * abort upload { [0 bytes data] * shutting down connection #0 === End of file gopher_verify.log === Start of file gopher_verify.out WE ROOLZ: 137835 === End of file gopher_verify.out === Start of file server.cmd Testnum 1201 === End of file server.cmd === Start of file server.response WE ROOLZ: 137835 === End of file server.response === Start of file valgrind1201 ==138456== ==138456== Process terminating with default action of signal 4 (SIGILL) ==138456== Illegal opcode at address 0x10B08D ==138456== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138456== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1201 test 1210...[HTTP GET with -J without Content-Disposition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1210 ../src/curl -q --trace-ascii log/12/trace1210 --trace-config all --trace-time http://127.0.0.1:40653/1210?junk -J -O --output-dir log/12 > log/12/stdout1210 2> log/12/stderr1210 1210: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1210 === Start of file http_server.log 02:03:08.074766 ====> Client connect 02:03:08.074889 accept_connection 3 returned 4 02:03:08.074908 accept_connection 3 returned 0 02:03:08.074921 Read 93 bytes 02:03:08.074931 Process 93 bytes request 02:03:08.074945 Got request: GET /verifiedserver HTTP/1.1 02:03:08.074954 Are-we-friendly question received 02:03:08.074980 Wrote request (93 bytes) input to log/12/server.input 02:03:08.074997 Identifying ourselves as friends 02:03:08.075063 Response sent (56 bytes) and written to log/12/server.response 02:03:08.075073CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1208 ../src/curl -q --output log/3/curl1208.out --include --trace-ascii log/3/trace1208 --trace-config all --trace-time --max-time 8 ftp://127.0.0.1:45983/1208 -P - > log/3/stdout1208 2> log/3/stderr1208 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1206 ../src/curl -q --output log/7/curl1206.out --include --trace-ascii log/7/trace1206 --trace-config all --trace-time --max-time 8 ftp://127.0.0.1:40455/1206 -P - > log/7/stdout1206 2> log/7/stderr1206 special request received, no persistency 02:03:08.075083 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1210 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1210 ==138653== ==138653== Process terminating with default action of signal 4 (SIGILL) ==138653== Illegal opcode at address 0x10B08D ==138653== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138653== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1210 test 1208...[FTP PORT download, no data conn and no transient negative reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1208 ../src/curl -q --output log/3/curl1208.out --include --trace-ascii log/3/trace1208 --trace-config all --trace-time --max-time 8 ftp://127.0.0.1:45983/1208 -P - > log/3/stdout1208 2> log/3/stderr1208 1208: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1208 === Start of file ftp_server.log 02:03:07.877092 ====> Client connect 02:03:07.877219 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:07.877460 < "USER anonymous" 02:03:07.877492 > "331 We are happy you popped in![CR][LF]" 02:03:07.877646 < "PASS ftp@example.com" 02:03:07.877670 > "230 Welcome you silly person[CR][LF]" 02:03:07.877807 < "PWD" 02:03:07.877835 > "257 "/" is current directory[CR][LF]" 02:03:07.877978 < "EPSV" 02:03:07.878001 ====> Passive DATA channel requested by client 02:03:07.878013 DATA sockfilt for passive data channel starting... 02:03:07.879314 DATA sockfilt for passive data channel started (pid 138651) 02:03:07.879417 DATA sockfilt for passive data channel listens on port 39051 02:03:07.879450 > "229 Entering Passive Mode (|||39051|)[LF]" 02:03:07.879466 Client has been notified that DATA conn will be accepted on port 39051 02:03:07.879684 Client connects to port 39051 02:03:07.879713 ====> Client established passive DATA connection on port 39051 02:03:07.879768 < "TYPE I" 02:03:07.879791 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:07.879933 < "SIZE verifiedserver" 02:03:07.879966 > "213 17[CR][LF]" 02:03:07.880105 < "RETR verifiedserver" 02:03:07.880135 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:07.880201 =====> Closing passive DATA connection... 02:03:07.880216 Server disconnects passive DATA connection 02:03:07.880335 Server disconnected passive DATA connection 02:03:07.880364 DATA sockfilt for passive data channel quits (pid 138651) 02:03:07.881535 DATA sockfilt for passive data channel quit (pid 138651) 02:03:07.881562 =====> Closed passive DATA connection 02:03:07.881587 > "226 File transfer complete[CR][LF]" 02:03:07.923281 < "QUIT" 02:03:07.923324 > "221 bye bye baby[CR][LF]" 02:03:07.923990 MAIN sockfilt said DISC 02:03:07.924019 ====> Client disconnected 02:03:07.924073 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:08.077151 ====> Client connect 02:03:08.077364 Received DATA (on stdin) 02:03:08.077377 > 160 bytes data, server => client 02:03:08.077390 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:08.077401 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:08.077411 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:08.077477 < 16 bytes data, client => server 02:03:08.077489 'USER anonymous\r\n' 02:03:08.077631 Received DATA (on stdin) 02:03:08.077643 > 33 bytes data, server => client 02:03:08.077654 '331 We are happy you popped in!\r\n' 02:03:08.077702 < 22 bytes data, client => server 02:03:08.077714 'PASS ftp@example.com\r\n' 02:03:08.077806 Received DATA (on stdin) 02:03:08.077817 > 30 bytes data, server => client 02:03:08.077827 '230 Welcome you silly person\r\n' 02:03:08.077873 < 5 bytes data, client => server 02:03:08.077883 'PWD\r\n' 02:03:08.077972 Received DATA (on stdin) 02:03:08.077982 > 30 bytes data, server => client 02:03:08.077993 '257 "/" is current directory\r\n' 02:03:08.078044 < 6 bytes data, client => server 02:03:08.078055 'EPSV\r\n' 02:03:08.079611 Received DATA (on stdin) 02:03:08.079624 > 38 bytes data, server => client 02:03:08.079636 '229 Entering Passive Mode (|||39051|)\n' 02:03:08.079744 < 8 bytes data, client => server 02:03:08.079759 'TYPE I\r\n' 02:03:08.079928 Received DATA (on stdin) 02:03:08.079940 > 33 bytes data, server => client 02:03:08.079950 '200 I modify TYPE as you wanted\r\n' 02:03:08.079998 < 21 bytes data, client => server 02:03:08.080009 'SIZE verifiedserver\r\n' 02:03:08.080104 Received DATA (on stdin) 02:03:08.080115 > 8 bytes data, server => client 02:03:08.080125 '213 17\r\n' 02:03:08.080170 < 21 bytes data, client => server 02:03:08.080182 'RETR verifiedserver\r\n' 02:03:08.080283 Received DATA (on stdin) 02:03:08.080300 > 29 bytes data, server => client 02:03:08.080312 '150 Binary junk (17 bytes).\r\n' 02:03:08.081726 Received DATA (on stdin) 02:03:08.081739 > 28 bytes data, server => client 02:03:08.081749 '226 File transfer complete\r\n' 02:03:08.123277 < 6 bytes data, client => server 02:03:08.123294 'QUIT\r\n' 02:03:08.123466 Received DATA (on stdin) 02:03:08.123477 > 18 bytes data, server => client 02:03:08.123489 '221 bye bye baby\r\n' 02:03:08.124083 ====> Client disconnect 02:03:08.124210 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:07.079299 Running IPv4 version 02:03:07.079348 Listening on port 39051 02:03:07.079387 Wrote pid 138651 to log/3/server/ftp_sockdata.pid 02:03:07.079403 Received PING (on stdin) 02:03:07.079477 Received PORT (on stdin) 02:03:07.079779 ====> Client connect 02:03:07.080354 Received DATA (on stdin) 02:03:07.080366 > 17 bytes data, server => client 02:03:07.080377 'WE ROOLZ: 80465\r\n' 02:03:07.080409 Received DISC (on stdin) 02:03:07.080422 ====> Client forcibly disconnected 02:03:07.080510 Received QUIT (on stdin) 02:03:07.080522 quits 02:03:07.080565 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN150 Testnum 1208 === End of file server.cmd === Start of file valgrind1208 ==138724== ==138724== Process terminating with default action of signal 4 (SIGILL) ==138724== Illegal opcode at address 0x10B08D ==138724== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138724== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1208 test 1206...[FTP PORT and 425 on download] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1206 ../src/curl -q --output log/7/curl1206.out --include --trace-ascii log/7/trace1206 --trace-config all --trace-time --max-time 8 ftp://127.0.0.1:40455/1206 -P - > log/7/stdout1206 2> log/7/stderr1206 1206: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1206 === Start of file ftp_server.log 02:03:07.710328 ====> Client connect 02:03:07.710472 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- /CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1207 ../src/curl -q --output log/11/curl1207.out --include --trace-ascii log/11/trace1207 --trace-config all --trace-time --max-time 8 ftp://127.0.0.1:45687/1207 -P - > log/11/stdout1207 2> log/11/stderr1207 __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:07.710727 < "USER anonymous" 02:03:07.710756 > "331 We are happy you popped in![CR][LF]" 02:03:07.710912 < "PASS ftp@example.com" 02:03:07.710936 > "230 Welcome you silly person[CR][LF]" 02:03:07.711096 < "PWD" 02:03:07.711128 > "257 "/" is current directory[CR][LF]" 02:03:07.711281 < "EPSV" 02:03:07.711303 ====> Passive DATA channel requested by client 02:03:07.711317 DATA sockfilt for passive data channel starting... 02:03:07.712684 DATA sockfilt for passive data channel started (pid 138339) 02:03:07.712768 DATA sockfilt for passive data channel listens on port 37033 02:03:07.712799 > "229 Entering Passive Mode (|||37033|)[LF]" 02:03:07.712815 Client has been notified that DATA conn will be accepted on port 37033 02:03:07.713033 Client connects to port 37033 02:03:07.713057 ====> Client established passive DATA connection on port 37033 02:03:07.713109 < "TYPE I" 02:03:07.713130 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:07.713260 < "SIZE verifiedserver" 02:03:07.713287 > "213 18[CR][LF]" 02:03:07.713406 < "RETR verifiedserver" 02:03:07.713435 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:07.713502 =====> Closing passive DATA connection... 02:03:07.713519 Server disconnects passive DATA connection 02:03:07.713648 Server disconnected passive DATA connection 02:03:07.713676 DATA sockfilt for passive data channel quits (pid 138339) 02:03:07.713847 DATA sockfilt for passive data channel quit (pid 138339) 02:03:07.713871 =====> Closed passive DATA connection 02:03:07.713895 > "226 File transfer complete[CR][LF]" 02:03:07.758313 < "QUIT" 02:03:07.758395 > "221 bye bye baby[CR][LF]" 02:03:07.759868 MAIN sockfilt said DISC 02:03:07.759959 ====> Client disconnected 02:03:07.760060 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:06.910377 ====> Client connect 02:03:06.910623 Received DATA (on stdin) 02:03:06.910639 > 160 bytes data, server => client 02:03:06.910652 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:06.910664 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:06.910675 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:06.910744 < 16 bytes data, client => server 02:03:06.910757 'USER anonymous\r\n' 02:03:06.910895 Received DATA (on stdin) 02:03:06.910905 > 33 bytes data, server => client 02:03:06.910914 '331 We are happy you popped in!\r\n' 02:03:06.910965 < 22 bytes data, client => server 02:03:06.910979 'PASS ftp@example.com\r\n' 02:03:06.911074 Received DATA (on stdin) 02:03:06.911086 > 30 bytes data, server => client 02:03:06.911097 '230 Welcome you silly person\r\n' 02:03:06.911150 < 5 bytes data, client => server 02:03:06.911163 'PWD\r\n' 02:03:06.911266 Received DATA (on stdin) 02:03:06.911278 > 30 bytes data, server => client 02:03:06.911289 '257 "/" is current directory\r\n' 02:03:06.911349 < 6 bytes data, client => server 02:03:06.911359 'EPSV\r\n' 02:03:06.912959 Received DATA (on stdin) 02:03:06.912972 > 38 bytes data, server => client 02:03:06.912983 '229 Entering Passive Mode (|||37033|)\n' 02:03:06.913091 < 8 bytes data, client => server 02:03:06.913105 'TYPE I\r\n' 02:03:06.913264 Received DATA (on stdin) 02:03:06.913276 > 33 bytes data, server => client 02:03:06.913285 '200 I modify TYPE as you wanted\r\n' 02:03:06.913332 < 21 bytes data, client => server 02:03:06.913341 'SIZE verifiedserver\r\n' 02:03:06.913421 Received DATA (on stdin) 02:03:06.913429 > 8 bytes data, server => client 02:03:06.913437 '213 18\r\n' 02:03:06.913478 < 21 bytes data, client => server 02:03:06.913486 'RETR verifiedserver\r\n' 02:03:06.913658 Received DATA (on stdin) 02:03:06.913670 > 29 bytes data, server => client 02:03:06.913681 '150 Binary junk (18 bytes).\r\n' 02:03:06.914036 Received DATA (on stdin) 02:03:06.914049 > 28 bytes data, server => client 02:03:06.914059 '226 File transfer complete\r\n' 02:03:06.958229 < 6 bytes data, client => server 02:03:06.958263 'QUIT\r\n' 02:03:06.958564 Received DATA (on stdin) 02:03:06.958578 > 18 bytes data, server => client 02:03:06.958589 '221 bye bye baby\r\n' 02:03:06.959881 ====> Client disconnect 02:03:06.960208 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:07.912688 Running IPv4 version 02:03:07.912729 Listening on port 37033 02:03:07.912758 Wrote pid 138339 to log/7/server/ftp_sockdata.pid 02:03:07.912772 Received PING (on stdin) 02:03:07.912835 Received PORT (on stdin) 02:03:07.913124 ====> Client connect 02:03:07.913664 Received DATA (on stdin) 02:03:07.913682 > 18 bytes data, server => client 02:03:07.913694 'WE ROOLZ: 134972\r\n' 02:03:07.913724 Received DISC (on stdin) 02:03:07.913738 ====> Client forcibly disconnected 02:03:07.913823 Received QUIT (on stdin) 02:03:07.913835 quits 02:03:07.913876 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN425 Testnum 1206 === End of file server.cmd === Start of file valgrind1206 ==138492== ==138492== Process terminating with default action of signal 4 (SIGILL) ==138492== Illegal opcode at address 0x10B08D ==138492== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138492== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1206 test 1207...[FTP PORT and 421 on download] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1207 ../src/curl -q --output log/11/curl1207.out --include --trace-ascii log/11/trace1207 --trace-config all --trace-time --max-time 8 ftp://127.0.0.1:45687/1207 -P - > log/11/stdout1207 2> log/11/stderr1207 1207: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1207 === Start of file ftp_server.log 02:03:07.873363 ====> Client connect 02:03:07.873505 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:07.873761 < "USER anonymous" 02:03:07.873790 > "331 We are happy you popped in![CR][LF]" 02:03:07.873938 < "PASS ftp@example.com" 02:03:07.873960 > "230 Welcome you silly person[CR][LF]" 02:03:07.874094 < "PWD" 02:03:07.874120 > "257 "/" is current directory[CR][LF]" 02:03:07.874261 < "EPSV" 02:03:07.874283 ====> Passive DATA channel requested by client 02:03:07.874294 DATA sockfilt for passive data channel starting... 02:03:07.875612 DATA sockfilt for passive data channel started (pid 138650) 02:03:07.875706 DATA sockfilt for passive data channel listens on port 44923 02:03:07.875738 > "229 Entering Passive Mode (|||44923|)[LF]" 02:03:07.875754 Client has been notified that DATA conn will be accepted on port 44923 02:03:07.875968 Client connects to port 44923 02:03:07.875995 ====> Client established passive DATA connection on port 44923 02:03:07.876051 < "TYPE I" 02:03:07.876076 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:07.876220 < "SIZE verifiedserver" 02:03:07.876250 > "213 17[CR][LF]" 02:03:07.876389 < "RETR verifiedserver" 02:03:07.876420 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:07.876491 =====> Closing passive DATA connection... 02:03:07.876506 Server disconnects passive DATA connection 02:03:07.876714 Server disconnected passive DATA connection 02:03:07.876741 DATA sockfilt for passive data channel quits (pid 138650) 02:03:07.876911 DATA sockfilt for passive data channel quit (pid 138650) 02:03:07.876931 =====> Closed passive DATA connection 02:03:07.876954 > "226 File transfer complete[CR][LF]" 02:03:07.919403 < "QUIT" 02:03:07.919445 > "221 bye bye baby[CR][LF]" 02:03:07.920165 MAIN sockfilt said DISC 02:03:07.920195 ====> Client disconnected 02:03:07.920257 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1202 ../src/curl -q --output log/10/curl1202.out --include --trace-ascii log/10/trace1202 --trace-config all --trace-time "gopher://127.0.0.1:39597/7/the/search/engine%09query%20succeeded/1202" > log/10/stdout1202 2> log/10/stderr1202 CMD (0): ../src/curl --max-time 13 --output log/9/gopher_ipv6_verify.out --silent --verbose --globoff "gopher://[::1]:41729/1/verifiedserver" 2>log/9/gopher_ipv6_verify.log CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1222.pl /startdir/src/curl/tests/.. > log/10/stdout1222 2> log/10/stderr1222 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1212 ../src/curl -q --output log/6/curl1212.out --include --trace-ascii log/6/trace1212 --trace-config all --trace-time http://user:secret@127.0.0.1:39457/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/6/stdout1212 2> log/6/stderr1212 02:03:08.073387 ====> Client connect 02:03:08.073653 Received DATA (on stdin) 02:03:08.073665 > 160 bytes data, server => client 02:03:08.073678 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:08.073688 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:08.073699 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:08.073769 < 16 bytes data, client => server 02:03:08.073781 'USER anonymous\r\n' 02:03:08.073930 Received DATA (on stdin) 02:03:08.073941 > 33 bytes data, server => client 02:03:08.073951 '331 We are happy you popped in!\r\n' 02:03:08.073998 < 22 bytes data, client => server 02:03:08.074010 'PASS ftp@example.com\r\n' 02:03:08.074096 Received DATA (on stdin) 02:03:08.074107 > 30 bytes data, server => client 02:03:08.074116 '230 Welcome you silly person\r\n' 02:03:08.074160 < 5 bytes data, client => server 02:03:08.074171 'PWD\r\n' 02:03:08.074256 Received DATA (on stdin) 02:03:08.074267 > 30 bytes data, server => client 02:03:08.074277 '257 "/" is current directory\r\n' 02:03:08.074328 < 6 bytes data, client => server 02:03:08.074338 'EPSV\r\n' 02:03:08.075896 Received DATA (on stdin) 02:03:08.075909 > 38 bytes data, server => client 02:03:08.075920 '229 Entering Passive Mode (|||44923|)\n' 02:03:08.076032 < 8 bytes data, client => server 02:03:08.076047 'TYPE I\r\n' 02:03:08.076212 Received DATA (on stdin) 02:03:08.076224 > 33 bytes data, server => client 02:03:08.076235 '200 I modify TYPE as you wanted\r\n' 02:03:08.076284 < 21 bytes data, client => server 02:03:08.076295 'SIZE verifiedserver\r\n' 02:03:08.076388 Received DATA (on stdin) 02:03:08.076399 > 8 bytes data, server => client 02:03:08.076409 '213 17\r\n' 02:03:08.076455 < 21 bytes data, client => server 02:03:08.076466 'RETR verifiedserver\r\n' 02:03:08.076732 Received DATA (on stdin) 02:03:08.076744 > 29 bytes data, server => client 02:03:08.076754 '150 Binary junk (17 bytes).\r\n' 02:03:08.077093 Received DATA (on stdin) 02:03:08.077105 > 28 bytes data, server => client 02:03:08.077116 '226 File transfer complete\r\n' 02:03:08.119371 < 6 bytes data, client => server 02:03:08.119394 'QUIT\r\n' 02:03:08.119583 Received DATA (on stdin) 02:03:08.119593 > 18 bytes data, server => client 02:03:08.119601 '221 bye bye baby\r\n' 02:03:08.120255 ====> Client disconnect 02:03:08.120397 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:07.075593 Running IPv4 version 02:03:07.075644 Listening on port 44923 02:03:07.075677 Wrote pid 138650 to log/11/server/ftp_sockdata.pid 02:03:07.075695 Received PING (on stdin) 02:03:07.075770 Received PORT (on stdin) 02:03:07.076065 ====> Client connect 02:03:07.076644 Received DATA (on stdin) 02:03:07.076656 > 17 bytes data, server => client 02:03:07.076667 'WE ROOLZ: 80480\r\n' 02:03:07.076695 Received DISC (on stdin) 02:03:07.076708 ====> Client forcibly disconnected 02:03:07.076885 Received QUIT (on stdin) 02:03:07.076896 quits 02:03:07.076940 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN421 Testnum 1207 === End of file server.cmd === Start of file valgrind1207 ==138718== ==138718== Process terminating with default action of signal 4 (SIGILL) ==138718== Illegal opcode at address 0x10B08D ==138718== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138718== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1207 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/10/server/gopher_server.pid" --logfile "log/10/gopher_server.log" --logdir "log/10" --portfile log/10/server/gopher_server.port --config log/10/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/10/gopher_verify.out --silent --verbose --globoff "gopher://127.0.0.1:39597/1/verifiedserver" 2>log/10/gopher_verify.log RUN: GOPHER server is on PID 137838 port 39597 * pid gopher => 137838 137838 test 1202...[Gopher query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1202 ../src/curl -q --output log/10/curl1202.out --include --trace-ascii log/10/trace1202 --trace-config all --trace-time "gopher://127.0.0.1:39597/7/the/search/engine%09query%20succeeded/1202" > log/10/stdout1202 2> log/10/stderr1202 1202: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1202 === Start of file gopher_server.log 02:03:06.115486 Running GOPHER IPv4 version on port 39597 02:03:06.115538 Wrote pid 137838 to log/10/server/gopher_server.pid 02:03:06.115563 Wrote port 39597 to log/10/server/gopher_server.port 02:03:07.122971 ====> Client connect 02:03:07.122991 accept_connection 3 returned 4 02:03:07.123006 accept_connection 3 returned 0 02:03:07.123020 Read 17 bytes 02:03:07.123030 Process 17 bytes request 02:03:07.123040 Are-we-friendly question received 02:03:07.123064 Wrote request (17 bytes) input to log/10/server.input 02:03:07.123085 Identifying ourselves as friends 02:03:07.123200 Response sent (18 bytes) and written to log/10/server.response 02:03:07.123234 special request received, no persistency 02:03:07.123244 ====> Client disconnect 0 === End of file gopher_server.log === Start of file gopher_verify.log * Trying 127.0.0.1:39597... * Connected to 127.0.0.1 (127.0.0.1) port 39597 { [18 bytes data] * abort upload { [0 bytes data] * shutting down connection #0 === End of file gopher_verify.log === Start of file gopher_verify.out WE ROOLZ: 137838 === End of file gopher_verify.out === Start of file server.cmd Testnum 1202 === End of file server.cmd === Start of file server.response WE ROOLZ: 137838 === End of file server.response === Start of file valgrind1202 ==138817== ==138817== Process terminating with default action of signal 4 (SIGILL) ==138817== Illegal opcode at address 0x10B08D ==138817== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138817== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1202 * starts no server test 1222...[Verify deprecation statuses and versions] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1222.pl /startdir/src/curl/tests/.. > log/10/stdout1222 2> log/10/stderr1222 valgrind SKIPPED -------e--- OK (1097 out of 1584, remaining: 00:53, took 0.214s, duration: 02:00) test 1212...[noproxy setting together with socks proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1212 ../src/curl -q --output log/6/curl1212.out --include --trace-ascii log/6/trace1212 --trace-config all --trace-time http://user:secret@127.0.0.1:39457/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/6/stdout1212 2> log/6/stderr1212 1212: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1212 === Start of file http_server.log 02:03:08.458021 ====> Client connect 02:03:08.458051 accept_connection 3 returned 4 02:03:08.458067 accept_connection 3 returned 0 02:03:08.458082 Read 93 bytes 02:03:08.458093 Process 93 bytes request 02:03:08.458107 Got request: GET /verifiedserver HTTP/1.1 02:03:08.458117 Are-we-friendly question received 02:03:08.458138 Wrote request (93 bytes) input to log/6/server.input 02:03:08.458159 Identifying ourselves as friends 02:03:08.458226 Response sent (56 bytes) and written to log/6/server.response 02:03:08.458239 special request received, no persistency 02:03:08.458248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * usCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1214 ../src/curl -q --output log/2/curl1214.out --include --trace-ascii log/2/trace1214 --trace-config all --trace-time -x 127.0.0.1:38781 http://we.want.that.site.com.1214?moo=foo > log/2/stdout1214 2> log/2/stderr1214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1213 ../src/curl -q --output log/8/curl1213.out --include --trace-ascii log/8/trace1213 --trace-config all --trace-time -x 127.0.0.1:43803 we.want.that.site.com.1213 > log/8/stdout1213 2> log/8/stderr1213 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1215 ../src/curl -q --output log/5/curl1215.out --include --trace-ascii log/5/trace1215 --trace-config all --trace-time http://127.0.0.1:33361/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:33361 > log/5/stdout1215 2> log/5/stderr1215 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1216 ../src/curl -q --output log/4/curl1216.out --include --trace-ascii log/4/trace1216 --trace-config all --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/4/injar1216 -x 127.0.0.1:36813 > log/4/stdout1216 2> log/4/stderr1216 ing HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1212 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1212 ==138922== ==138922== Process terminating with default action of signal 4 (SIGILL) ==138922== Illegal opcode at address 0x10B08D ==138922== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138922== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1212 test 1214...[HTTP with proxy and URL with ? and no slash separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1214 ../src/curl -q --output log/2/curl1214.out --include --trace-ascii log/2/trace1214 --trace-config all --trace-time -x 127.0.0.1:38781 http://we.want.that.site.com.1214?moo=foo > log/2/stdout1214 2> log/2/stderr1214 1214: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1214 === Start of file http_server.log 02:03:08.472724 ====> Client connect 02:03:08.472753 accept_connection 3 returned 4 02:03:08.472769 accept_connection 3 returned 0 02:03:08.472785 Read 93 bytes 02:03:08.472797 Process 93 bytes request 02:03:08.472812 Got request: GET /verifiedserver HTTP/1.1 02:03:08.472822 Are-we-friendly question received 02:03:08.472848 Wrote request (93 bytes) input to log/2/server.input 02:03:08.472864 Identifying ourselves as friends 02:03:08.472931 Response sent (56 bytes) and written to log/2/server.response 02:03:08.472943 special request received, no persistency 02:03:08.472953 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1214 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1214 ==138973== ==138973== Process terminating with default action of signal 4 (SIGILL) ==138973== Illegal opcode at address 0x10B08D ==138973== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138973== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1214 test 1213...[HTTP with proxy and host-only URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1213 ../src/curl -q --output log/8/curl1213.out --include --trace-ascii log/8/trace1213 --trace-config all --trace-time -x 127.0.0.1:43803 we.want.that.site.com.1213 > log/8/stdout1213 2> log/8/stderr1213 1213: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1213 === Start of file http_server.log 02:03:08.465060 ====> Client connect 02:03:08.465089 accept_connection 3 returned 4 02:03:08.465105 accept_connection 3 returned 0 02:03:08.465118 Read 93 bytes 02:03:08.465129 Process 93 bytes request 02:03:08.465153 Got request: GET /verifiedserver HTTP/1.1 02:03:08.465163 Are-we-friendly question received 02:03:08.465185 Wrote request (93 bytes) input to log/8/server.input 02:03:08.465201 Identifying ourselves as friends 02:03:08.465262 Response sent (56 bytes) and written to log/8/server.response 02:03:08.465274 special request received, no persistency 02:03:08.465284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1213 ==138940== ==138940== Process terminating with default action of signal 4 (SIGILL) ==138940== Illegal opcode at address 0x10B08D ==138940== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==138940== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1213 test 1215...[HTTP with server NTLM authorization using a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1215 ../src/curl -q --output log/5/curl1215.out --include --trace-ascii log/5/trace1215 --trace-config all --trace-time http://127.0.0.1:33361/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:33361 > log/5/stdout1215 2> log/5/stderr1215 1215: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1215 === Start of file http_server.log 02:03:08.482835 ====> Client connect 02:03:08.482868 accept_connection 3 returned 4 02:03:08.482886 accept_connection 3 returned 0 02:03:08.482901 Read 93 bytes 02:03:08.482912 Process 93 bytes request 02:03:08.482928 Got request: GET /verifiedserver HTTP/1.1 02:03:08.482938 Are-we-friendly question received 02:03:08.482963 Wrote request (93 bytes) input to log/5/server.input 02:03:08.482981 Identifying ourselves as friends 02:03:08.483050 Response sent (56 bytes) and written to log/5/server.response 02:03:08.483063 special request received, no persistency 02:03:08.483073 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1215 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1215 ==139031== ==139031== Process terminating with default action of signal 4 (SIGILL) ==139031== Illegal opcode at address 0x10B08D ==139031== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139031== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1215 test 1216...[HTTP cookie domains tailmatching the host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1216 ../src/curl -q --output log/4/curl1216.out --include --tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1217 ../src/curl -q --output log/1/curl1217.out --include --trace-ascii log/1/trace1217 --trace-config all --trace-time ftp://127.0.0.1:44405/get/file/1217 ftp://127.0.0.1:44405/get/file/again/1217 --ftp-method singlecwd > log/1/stdout1217 2> log/1/stderr1217 race-ascii log/4/trace1216 --trace-config all --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/4/injar1216 -x 127.0.0.1:36813 > log/4/stdout1216 2> log/4/stderr1216 1216: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1216 === Start of file http_server.log 02:03:08.495072 ====> Client connect 02:03:08.495646 accept_connection 3 returned 4 02:03:08.495671 accept_connection 3 returned 0 02:03:08.495686 Read 93 bytes 02:03:08.495698 Process 93 bytes request 02:03:08.495714 Got request: GET /verifiedserver HTTP/1.1 02:03:08.495724 Are-we-friendly question received 02:03:08.495749 Wrote request (93 bytes) input to log/4/server.input 02:03:08.495767 Identifying ourselves as friends 02:03:08.495848 Response sent (56 bytes) and written to log/4/server.response 02:03:08.495862 special request received, no persistency 02:03:08.495872 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file injar1216 example.fake FALSE /a FALSE 22139150993 mooo indeed example.fake FALSE /b FALSE 0 moo1 indeed example.fake FALSE /c FALSE 22139150993 moo2 indeed example.fake TRUE /c FALSE 22139150993 moo3 indeed === End of file injar1216 === Start of file server.cmd Testnum 1216 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1216 ==139082== ==139082== Process terminating with default action of signal 4 (SIGILL) ==139082== Illegal opcode at address 0x10B08D ==139082== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139082== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1216 test 1217...[FTP with rubbish before name in 257-response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1217 ../src/curl -q --output log/1/curl1217.out --include --trace-ascii log/1/trace1217 --trace-config all --trace-time ftp://127.0.0.1:44405/get/file/1217 ftp://127.0.0.1:44405/get/file/again/1217 --ftp-method singlecwd > log/1/stdout1217 2> log/1/stderr1217 1217: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1217 === Start of file ftp_server.log 02:03:08.307089 ====> Client connect 02:03:08.307228 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:08.307523 < "USER anonymous" 02:03:08.307562 > "331 We are happy you popped in![CR][LF]" 02:03:08.307738 < "PASS ftp@example.com" 02:03:08.307764 > "230 Welcome you silly person[CR][LF]" 02:03:08.308246 < "PWD" 02:03:08.308279 > "257 "/" is current directory[CR][LF]" 02:03:08.308466 < "EPSV" 02:03:08.308491 ====> Passive DATA channel requested by client 02:03:08.308505 DATA sockfilt for passive data channel starting... 02:03:08.310023 DATA sockfilt for passive data channel started (pid 139087) 02:03:08.310099 DATA sockfilt for passive data channel listens on port 35999 02:03:08.310128 > "229 Entering Passive Mode (|||35999|)[LF]" 02:03:08.310141 Client has been notified that DATA conn will be accepted on port 35999 02:03:08.310324 Client connects to port 35999 02:03:08.310348 ====> Client established passive DATA connection on port 35999 02:03:08.310394 < "TYPE I" 02:03:08.310413 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:08.310571 < "SIZE verifiedserver" 02:03:08.310604 > "213 17[CR][LF]" 02:03:08.310762 < "RETR verifiedserver" 02:03:08.310796 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:08.310872 =====> Closing passive DATA connection... 02:03:08.310888 Server disconnects passive DATA connection 02:03:08.311118 Server disconnected passive DATA connection 02:03:08.311146 DATA sockfilt for passive data channel quits (pid 139087) 02:03:08.311334 DATA sockfilt for passive data channel quit (pid 139087) 02:03:08.311357 =====> Closed passive DATA connection 02:03:08.311383 > "226 File transfer complete[CR][LF]" 02:03:08.355278 < "QUIT" 02:03:08.355339 > "221 bye bye baby[CR][LF]" 02:03:08.355554 MAIN sockfilt said DISC 02:03:08.355591 ====> Client disconnected 02:03:08.355668 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:08.507138 ====> Client connect 02:03:08.507386 Received DATA (on stdin) 02:03:08.507404 > 160 bytes data, server => client 02:03:08.507417 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:08.507428 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:08.507439 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:08.507519 < 16 bytes data, client => server 02:03:08.507534 'USER anonymous\r\n' 02:03:08.507706 Received DATA (on stdin) 02:03:08.507719 > 33 bytes data, server => client 02:03:08.507729 '331 We are happy you popped in!\r\n' 02:03:08.507783 < 22 bytes data, client => server 02:03:08.507795 'PASS ftp@example.com\r\n' 02:03:08.507901 Received DATA (on stdin) 02:03:08.507912 > 30 bytes data, server => client 02:03:08.507922 '230 Welcome you silly person\r\n' 02:03:08.507971 < 5 bytes data, client => server 02:03:08.507982 'PWD\r\n' 02:03:08.508420 Received DATA (on stdin) 02:03:08.508434 > 30 bytes data, server => client 02:03:08.508444 '257 "/" is current directory\r\n' 02:03:08.508519 < 6 bytes data, client => server 02:03:08.508532 'EPSV\r\n' 02:03:08.510278 Received DATA (on stdin) 02:03:08.510289 > 38 bytes data, server => client 02:03:08.510298 '229 Entering Passive Mode (|||35999|)\n' 02:03:08.510397 < 8 bytes data, client => server 02:03:08.510409 'TYPE I\r\n' 02:03:08.510552 Received DATA (on stdin) 02:03:08.510564 > 33 bytes data, server => client 02:03:08.510575 '200 I modify TYPE as you wanted\r\n' 02:03:08.510629 < 21 bytes data, client => server 02:03:08.510641 'SIZE verifiedserver\r\n' 02:03:08.510742 Received DATA (on stdin) 02:03:08.510755 > 8 bytes data, server => client 02:03:08.510765 '213 17\r\n' 02:03:08.510817 < 21 bytes data, client => server 02:03:08.510831 'RETR verifiedserver\r\n' 02:03:08.511123 Received DATA (on stdin) 02:03:08.511137 > 29 bytes data, server => client 02:03:08.511148 '150 Binary junk (17 bytes).\r\n' 02:03:08.511523 Received DATA (on stdin) 02:03:08.511536 > 28 bytes data, server => client 02:03:08.511547 '226 File transfer complete\r\n' 02:03:08.555172 < 6 bytes data, client => server 02:03:08.555208 'QUIT\r\n' 02:03:08.555483 Received DATA (on stdin) 02:03:08.555496 > 18 bytes data, server => client 02:03:08.555508 '221 bye bye baby\r\n' 02:03:08.555637 ====> Client disconnect 02:03:08.555810 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:08.509922 Running IPv4 version 02:03:08.509973 Listening on port 35999 02:03:08.510009 Wrote pid 139087 to log/1/server/ftp_sockdata.pid 02:03:08.510116 Received PING (on stdin) 02:03:08.510173 Received PORT (on stdin) 02:03:08.510424 ====> Client connect 02:03:08.511028 Received DATA (on stdin) 02:03:08.511042 > 17 bytes data, server => client 02:03:08.511053 'WE ROOLZ: 88524\r\n' 02:03:08.511083 Received DISC (on stdin) 02:03:08.511097 ====> Client forcibly disconnected 02:03:08.511293 Received QUIT (on stdin) 02:03:08.511306 quits 02:03:08.511358 ============> socCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1220 ../src/curl -q --trace-ascii log/7/trace1220 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/7/test1220.txt?a_query=foobar#afragment > log/7/stdout1220 2> log/7/stderr1220 kfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 there is rubbish all over "/this/is/the/path" Testnum 1217 === End of file server.cmd === Start of file valgrind1217 ==139212== ==139212== Process terminating with default action of signal 4 (SIGILL) ==139212== Illegal opcode at address 0x10B08D ==139212== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139212== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1217 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1218 ../src/curl -q --output log/12/curl1218.out --include --trace-ascii log/12/trace1218 --trace-config all --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:40653 > log/12/stdout1218 2> log/12/stderr1218 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1221 ../src/curl -q --output log/11/curl1221.out --include --trace-ascii log/11/trace1221 --trace-config all --trace-time http://127.0.0.1:44137/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/11/1221.txt" --url-query @log/11/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/11/stdout1221 2> log/11/stderr1221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1219 ../src/curl -q --output log/3/curl1219.out --include --trace-ascii log/3/trace1219 --trace-config all --trace-time ftp://127.0.0.1:45983/1219 > log/3/stdout1219 2> log/3/stderr1219 test 1220...[file:// URLs with query string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1220 ../src/curl -q --trace-ascii log/7/trace1220 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/7/test1220.txt?a_query=foobar#afragment > log/7/stdout1220 2> log/7/stderr1220 1220: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:09.103382202 +0000 +++ log/7/check-generated 2024-12-15 02:03:09.103382202 +0000 @@ -1 +0,0 @@ -contents in a single file[LF] == Contents of files in the log/7/ dir after test 1220 === Start of file check-expected contents in a single file[LF] === End of file check-expected === Start of file server.cmd Testnum 1220 === End of file server.cmd === Start of file test1220.txt contents in a single file === End of file test1220.txt === Start of file valgrind1220 ==139307== ==139307== Process terminating with default action of signal 4 (SIGILL) ==139307== Illegal opcode at address 0x10B08D ==139307== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139307== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1220 test 1218...[HTTP cookies and domains with same prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1218 ../src/curl -q --output log/12/curl1218.out --include --trace-ascii log/12/trace1218 --trace-config all --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:40653 > log/12/stdout1218 2> log/12/stderr1218 1218: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1218 === Start of file http_server.log 02:03:08.763285 ====> Client connect 02:03:08.763321 accept_connection 3 returned 4 02:03:08.763338 accept_connection 3 returned 0 02:03:08.763353 Read 93 bytes 02:03:08.763364 Process 93 bytes request 02:03:08.763379 Got request: GET /verifiedserver HTTP/1.1 02:03:08.763390 Are-we-friendly question received 02:03:08.763419 Wrote request (93 bytes) input to log/12/server.input 02:03:08.763437 Identifying ourselves as friends 02:03:08.763508 Response sent (56 bytes) and written to log/12/server.response 02:03:08.763520 special request received, no persistency 02:03:08.763530 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1218 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1218 ==139357== ==139357== Process terminating with default action of signal 4 (SIGILL) ==139357== Illegal opcode at address 0x10B08D ==139357== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139357== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1218 test 1221...[--url-query with --data-urlencode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1221 ../src/curl -q --output log/11/curl1221.out --include --trace-ascii log/11/trace1221 --trace-config all --trace-time http://127.0.0.1:44137/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/11/1221.txt" --url-query @log/11/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/11/stdout1221 2> log/11/stderr1221 1221: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1221 === Start of file 1221.txt content to _?!#$'|<> === End of file 1221.txt === Start of file http_server.log 02:03:08.767989 ====> Client connect 02:03:08.768015 accept_connection 3 returned 4 02:03:08.768031 accept_connection 3 returned 0 02:03:08.768044 Read 93 bytes 02:03:08.768054 Process 93 bytes request 02:03:08.768066 Got request: GET /verifiedserver HTTP/1.1 02:03:08.768076 Are-we-friendly question received 02:03:08.768104 Wrote request (93 bytes) input to log/11/server.input 02:03:08.768120 Identifying ourselves as friends 02:03:08.768178 Response sent (56 bytes) and written to log/11/server.response 02:03:08.768188 special request received, no persistency 02:03:08.768198 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1221 ==139366== ==139366== Process terminating with default action of signal 4 (SIGILL) ==139366== Illegal opcode at address 0x10B08D ==139366== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139366== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1221 test 1219...[FTP with no user+password required (230 response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1219 ../src/curl -q --output log/3/curl1219.out --include --trace-ascii log/3/trace1219 --trace-config all --trace-time ftp://127.0.0.1:45983/1219 > log/3/stdout1219 2> log/3/stderr1219 1219: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1219 === Start of file ftp_server.log 02:03:08.564401 ====> Client connect 02:03:08.564543 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:08.564819 < "USER anonymous" 02:03:08.564859 > "331 We are happy you popped in![CR][LF]" 02:03:08.565057 < "PASS ftp@example.com" 02:03:08.565084 > "230 Welcome you silly person[CR][LF]" 02:03:08.565230 < "PWD" 02:03:08.565257 > "257 "/" is current directory[CR][LF]" 02:03:08.565413 < "EPSV" 02:03:08.565438 ====> Passive DATA channel requested by client 02:03:08.565451 DATA sockfilt for passive data channel starting... 02:03:08.566992 DATA sockfilt for passive data channel started (pid 139342) 02:03:08.567079 DATA sockfilt for passive data channel listens on port 33835 02:03:08.567112 > "229 Entering Passive Mode (|||33835|)[LF]" 02:03:08.567127 Client has been notified that DATA conn will be accepted on port 33835 02:03:08.567341 Client connects to port 33835 02:03:08.567368 ====> Client established passive DATA connection on port 33835 02:03:08.567428 < "TYPE I" 02:03:08.567453 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:08.567603 < "SIZE verifiedserver" 02:03:08.567638 > "213 17[CR][LF]" 02:03:08.567779 < "RETR verifiedserver" 02:03CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1203 ../src/curl -q --output log/9/curl1203.out --include --trace-ascii log/9/trace1203 --trace-config all --trace-time -g gopher://[::1]:41729/1/moo/1203 > log/9/stdout1203 2> log/9/stderr1203 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1223 ../src/curl -q --include --trace-ascii log/10/trace1223 --trace-config all --trace-time http://127.0.0.1:42929/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/10/stdout1223 2> log/10/stderr1223 :08.567810 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:08.567881 =====> Closing passive DATA connection... 02:03:08.567897 Server disconnects passive DATA connection 02:03:08.568123 Server disconnected passive DATA connection 02:03:08.568149 DATA sockfilt for passive data channel quits (pid 139342) 02:03:08.568860 DATA sockfilt for passive data channel quit (pid 139342) 02:03:08.568882 =====> Closed passive DATA connection 02:03:08.568907 > "226 File transfer complete[CR][LF]" 02:03:08.608704 < "QUIT" 02:03:08.608755 > "221 bye bye baby[CR][LF]" 02:03:08.609654 MAIN sockfilt said DISC 02:03:08.609695 ====> Client disconnected 02:03:08.609764 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:08.764441 ====> Client connect 02:03:08.764695 Received DATA (on stdin) 02:03:08.764712 > 160 bytes data, server => client 02:03:08.764725 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:08.764737 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:08.764747 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:08.764818 < 16 bytes data, client => server 02:03:08.764833 'USER anonymous\r\n' 02:03:08.765002 Received DATA (on stdin) 02:03:08.765015 > 33 bytes data, server => client 02:03:08.765026 '331 We are happy you popped in!\r\n' 02:03:08.765078 < 22 bytes data, client => server 02:03:08.765089 'PASS ftp@example.com\r\n' 02:03:08.765222 Received DATA (on stdin) 02:03:08.765234 > 30 bytes data, server => client 02:03:08.765244 '230 Welcome you silly person\r\n' 02:03:08.765291 < 5 bytes data, client => server 02:03:08.765301 'PWD\r\n' 02:03:08.765394 Received DATA (on stdin) 02:03:08.765404 > 30 bytes data, server => client 02:03:08.765414 '257 "/" is current directory\r\n' 02:03:08.765472 < 6 bytes data, client => server 02:03:08.765486 'EPSV\r\n' 02:03:08.767269 Received DATA (on stdin) 02:03:08.767282 > 38 bytes data, server => client 02:03:08.767294 '229 Entering Passive Mode (|||33835|)\n' 02:03:08.767404 < 8 bytes data, client => server 02:03:08.767419 'TYPE I\r\n' 02:03:08.767591 Received DATA (on stdin) 02:03:08.767603 > 33 bytes data, server => client 02:03:08.767614 '200 I modify TYPE as you wanted\r\n' 02:03:08.767664 < 21 bytes data, client => server 02:03:08.767676 'SIZE verifiedserver\r\n' 02:03:08.767776 Received DATA (on stdin) 02:03:08.767787 > 8 bytes data, server => client 02:03:08.767797 '213 17\r\n' 02:03:08.767842 < 21 bytes data, client => server 02:03:08.767854 'RETR verifiedserver\r\n' 02:03:08.768135 Received DATA (on stdin) 02:03:08.768149 > 29 bytes data, server => client 02:03:08.768160 '150 Binary junk (17 bytes).\r\n' 02:03:08.769046 Received DATA (on stdin) 02:03:08.769060 > 28 bytes data, server => client 02:03:08.769071 '226 File transfer complete\r\n' 02:03:08.808682 < 6 bytes data, client => server 02:03:08.808714 'QUIT\r\n' 02:03:08.808902 Received DATA (on stdin) 02:03:08.808916 > 18 bytes data, server => client 02:03:08.808928 '221 bye bye baby\r\n' 02:03:08.809736 ====> Client disconnect 02:03:08.809907 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:08.766865 Running IPv4 version 02:03:08.766915 Listening on port 33835 02:03:08.766950 Wrote pid 139342 to log/3/server/ftp_sockdata.pid 02:03:08.767074 Received PING (on stdin) 02:03:08.767146 Received PORT (on stdin) 02:03:08.767437 ====> Client connect 02:03:08.768038 Received DATA (on stdin) 02:03:08.768051 > 17 bytes data, server => client 02:03:08.768062 'WE ROOLZ: 80465\r\n' 02:03:08.768094 Received DISC (on stdin) 02:03:08.768109 ====> Client forcibly disconnected 02:03:08.768294 Received QUIT (on stdin) 02:03:08.768306 quits 02:03:08.768879 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome 230 welcome without password Testnum 1219 === End of file server.cmd === Start of file valgrind1219 ==139485== ==139485== Process terminating with default action of signal 4 (SIGILL) ==139485== Illegal opcode at address 0x10B08D ==139485== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139485== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1219 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/9/server/gopher_ipv6_server.pid" --logfile "log/9/gopher_ipv6_server.log" --logdir "log/9" --portfile log/9/server/gopher_ipv6_server.port --config log/9/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/9/gopher_ipv6_verify.out --silent --verbose --globoff "gopher://[::1]:41729/1/verifiedserver" 2>log/9/gopher_ipv6_verify.log RUN: GOPHER-IPv6 server is on PID 138181 port 41729 * pid gopher-ipv6 => 138181 138181 test 1203...[Gopher IPv6 index] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1203 ../src/curl -q --output log/9/curl1203.out --include --trace-ascii log/9/trace1203 --trace-config all --trace-time -g gopher://[::1]:41729/1/moo/1203 > log/9/stdout1203 2> log/9/stderr1203 1203: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1203 === Start of file gopher_ipv6_server.log 02:03:07.729132 Running GOPHER IPv6 version on port 41729 02:03:07.729210 Wrote pid 138181 to log/9/server/gopher_ipv6_server.pid 02:03:07.729244 Wrote port 41729 to log/9/server/gopher_ipv6_server.port 02:03:08.741627 ====> Client connect 02:03:08.741649 accept_connection 3 returned 4 02:03:08.741663 accept_connection 3 returned 0 02:03:08.741677 Read 17 bytes 02:03:08.741688 Process 17 bytes request 02:03:08.741697 Are-we-friendly question received 02:03:08.741723 Wrote request (17 bytes) input to log/9/server.input 02:03:08.741745 Identifying ourselves as friends 02:03:08.741795 Response sent (18 bytes) and written to log/9/server.response 02:03:08.741806 special request received, no persistency 02:03:08.741824 ====> Client disconnect 0 === End of file gopher_ipv6_server.log === Start of file gopher_ipv6_verify.log * Trying [::1]:41729... * Connected to ::1 (::1) port 41729 { [18 bytes data] * abort upload { [0 bytes data] * shutting down connection #0 === End of file gopher_ipv6_verify.log === Start of file gopher_ipv6_verify.out WE ROOLZ: 138181 === End of file gopher_ipv6_verify.out === Start of file server.cmd Testnum 1203 === End of file server.cmd === Start of file server.response WE ROOLZ: 138181 === End of file server.response === Start of file valgrind1203 ==139430== ==139430== Process terminating with default action of signal 4 (SIGILL) ==139430== Illegal opcode at address 0x10B08D ==139430== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139430== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1203 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1228 ../src/curl -q --output log/4/curl1228.out --include --trace-ascii log/4/trace1228 --trace-config all --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:36813 > log/4/stdout1228 2> log/4/stderr1228 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1224 ../src/curl -q --output log/6/curl1224.out --include --trace-ascii log/6/trace1224 --trace-config all --trace-time ftp://127.0.0.1:40433//1224 > log/6/stdout1224 2> log/6/stderr1224 test 1223...[HTTP GET -w remote_ip and -w remote_port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1223 ../src/curl -q --include --trace-ascii log/10/trace1223 --trace-config all --trace-time http://127.0.0.1:42929/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/10/stdout1223 2> log/10/stderr1223 1223: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:09.460055217 +0000 +++ log/10/check-generated 2024-12-15 02:03:09.460055217 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 4[LF] -Connection: close[LF] -Content-Type: text/html[LF] -[LF] -hej[LF] -IP 127.0.0.1 and PORT 42929[LF] == Contents of files in the log/10/ dir after test 1223 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 4[LF] Connection: close[LF] Content-Type: text/html[LF] [LF] hej[LF] IP 127.0.0.1 and PORT 42929[LF] === End of file check-expected === Start of file http_server.log 02:03:08.997317 ====> Client connect 02:03:08.997350 accept_connection 3 returned 4 02:03:08.997365 accept_connection 3 returned 0 02:03:08.997380 Read 93 bytes 02:03:08.997390 Process 93 bytes request 02:03:08.997405 Got request: GET /verifiedserver HTTP/1.1 02:03:08.997415 Are-we-friendly question received 02:03:08.997438 Wrote request (93 bytes) input to log/10/server.input 02:03:08.997456 Identifying ourselves as friends 02:03:08.997523 Response sent (56 bytes) and written to log/10/server.response 02:03:08.997537 special request received, no persistency 02:03:08.997548 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1223 ==139601== ==139601== Process terminating with default action of signal 4 (SIGILL) ==139601== Illegal opcode at address 0x10B08D ==139601== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139601== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1223 test 1228...[HTTP cookie path match] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1228 ../src/curl -q --output log/4/curl1228.out --include --trace-ascii log/4/trace1228 --trace-config all --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:36813 > log/4/stdout1228 2> log/4/stderr1228 1228: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1228 === Start of file http_server.log 02:03:09.102931 ====> Client connect 02:03:09.102960 accept_connection 3 returned 4 02:03:09.102976 accept_connection 3 returned 0 02:03:09.102989 Read 93 bytes 02:03:09.103001 Process 93 bytes request 02:03:09.103015 Got request: GET /verifiedserver HTTP/1.1 02:03:09.103025 Are-we-friendly question received 02:03:09.103046 Wrote request (93 bytes) input to log/4/server.input 02:03:09.103063 Identifying ourselves as friends 02:03:09.103124 Response sent (56 bytes) and written to log/4/server.response 02:03:09.103135 special request received, no persistency 02:03:09.103144 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1228 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1228 ==139729== ==139729== Process terminating with default action of signal 4 (SIGILL) ==139729== Illegal opcode at address 0x10B08D ==139729== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139729== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1228 test 1224...[FTP fetch a file from the root directory] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1224 ../src/curl -q --output log/6/curl1224.out --include --trace-ascii log/6/trace1224 --trace-config all --trace-time ftp://127.0.0.1:40433//1224 > log/6/stdout1224 2> log/6/stderr1224 1224: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1224 === Start of file ftp_server.log 02:03:08.861323 ====> Client connect 02:03:08.861459 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:08.861715 < "USER anonymous" 02:03:08.861750 > "331 We are happy you popped in![CR][LF]" 02:03:08.861918 < "PASS ftp@example.com" 02:03:08.861943 > "230 Welcome you silly person[CR][LF]" 02:03:08.862098 < "PWD" 02:03:08.862129 > "257 "/" is current directory[CR][LF]" 02:03:08.862293 < "EPSV" 02:03:08.862316 ====> Passive DATA channel requested by client 02:03:08.862329 DATA sockfilt for passive data channel starting... 02:03:08.863781 DATA sockfilt for passive data channel started (pid 139674) 02:03:08.863872 DATA sockfilt for passive data channel listens on port 40233 02:03:08.863905 > "229 Entering Passive Mode (|||40233|)[LF]" 02:03:08.863921 Client has been notified that DATA conn will be accepted on port 40233 02:03:08.864142 Client connects to port 40233 02:03:08.864170 ====> Client established passive DATA connection on port 40233 02:03:08.864223 < "TYPE I" 02:03:08.864245 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:08.864402 < "SIZE verifiedserver" 02:03:08.864441 > "213 17[CR][LF]" 02:03:08.864604 < "RETR verifiedserver" 02:03:08.864635 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:08.864706 =====> Closing passive DATA connection... 02:03:08.864722 Server disconnects passive DATA connection 02:03:08.864959 Server disconnected passive DATA connection 02:03:08.864984 DATA sockfilt for passive data channel quits (pid 139674) 02:03:08.865166 DATA sockfilt for passive data channel quit (pid 139674) 02:03:08.865187 =====> Closed passive DATA connection 02:03:08.865210 > "226 File transfer complete[CR][LF]" 02:03:08.905391 < "QUIT" 02:03:08.905436 > "221 bye bye baby[CR][LF]" 02:03:08.906012 MAIN sockfilt said DISC 02:03:08.906053 ====> Client disconnected 02:03:08.906113 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:09.061368 ====> Client connect 02:03:09.061584 Received DATA (on stdin) 02:03:09.061599 > 160 bytes data, server => client 02:03:09.061613 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:09.061625 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:09.061636 '_ {| |___ \r\n220 \___|\___CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1225 ../src/curl -q --output log/2/curl1225.out --include --trace-ascii log/2/trace1225 --trace-config all --trace-time ftp://127.0.0.1:36595//foo/1225 ftp://127.0.0.1:36595//foo/bar/1225 > log/2/stdout1225 2> log/2/stderr1225 /|_| \_\_____|\r\n' 02:03:09.061717 < 16 bytes data, client => server 02:03:09.061731 'USER anonymous\r\n' 02:03:09.061894 Received DATA (on stdin) 02:03:09.061907 > 33 bytes data, server => client 02:03:09.061919 '331 We are happy you popped in!\r\n' 02:03:09.061972 < 22 bytes data, client => server 02:03:09.061985 'PASS ftp@example.com\r\n' 02:03:09.062082 Received DATA (on stdin) 02:03:09.062093 > 30 bytes data, server => client 02:03:09.062105 '230 Welcome you silly person\r\n' 02:03:09.062156 < 5 bytes data, client => server 02:03:09.062168 'PWD\r\n' 02:03:09.062268 Received DATA (on stdin) 02:03:09.062280 > 30 bytes data, server => client 02:03:09.062290 '257 "/" is current directory\r\n' 02:03:09.062350 < 6 bytes data, client => server 02:03:09.062363 'EPSV\r\n' 02:03:09.064067 Received DATA (on stdin) 02:03:09.064080 > 38 bytes data, server => client 02:03:09.064091 '229 Entering Passive Mode (|||40233|)\n' 02:03:09.064203 < 8 bytes data, client => server 02:03:09.064219 'TYPE I\r\n' 02:03:09.064380 Received DATA (on stdin) 02:03:09.064393 > 33 bytes data, server => client 02:03:09.064404 '200 I modify TYPE as you wanted\r\n' 02:03:09.064459 < 21 bytes data, client => server 02:03:09.064472 'SIZE verifiedserver\r\n' 02:03:09.064583 Received DATA (on stdin) 02:03:09.064595 > 8 bytes data, server => client 02:03:09.064606 '213 17\r\n' 02:03:09.064658 < 21 bytes data, client => server 02:03:09.064672 'RETR verifiedserver\r\n' 02:03:09.064862 Received DATA (on stdin) 02:03:09.064875 > 29 bytes data, server => client 02:03:09.064886 '150 Binary junk (17 bytes).\r\n' 02:03:09.065350 Received DATA (on stdin) 02:03:09.065363 > 28 bytes data, server => client 02:03:09.065374 '226 File transfer complete\r\n' 02:03:09.105377 < 6 bytes data, client => server 02:03:09.105401 'QUIT\r\n' 02:03:09.105568 Received DATA (on stdin) 02:03:09.105582 > 18 bytes data, server => client 02:03:09.105592 '221 bye bye baby\r\n' 02:03:09.105730 ====> Client disconnect 02:03:09.106254 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:08.063670 Running IPv4 version 02:03:08.063716 Listening on port 40233 02:03:08.063751 Wrote pid 139674 to log/6/server/ftp_sockdata.pid 02:03:08.063869 Received PING (on stdin) 02:03:08.063937 Received PORT (on stdin) 02:03:08.064238 ====> Client connect 02:03:08.064938 Received DATA (on stdin) 02:03:08.064953 > 17 bytes data, server => client 02:03:08.064963 'WE ROOLZ: 80451\r\n' 02:03:08.064992 Received DISC (on stdin) 02:03:08.065004 ====> Client forcibly disconnected 02:03:08.065129 Received QUIT (on stdin) 02:03:08.065141 quits 02:03:08.065192 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1224 === End of file server.cmd === Start of file valgrind1224 ==139730== ==139730== Process terminating with default action of signal 4 (SIGILL) ==139730== Illegal opcode at address 0x10B08D ==139730== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139730== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1224 test 1225...[FTP fetch two files using absolute paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1225 ../src/curl -q --output log/2/curl1225.out --include --trace-ascii log/2/trace1225 --trace-config all --trace-time ftp://127.0.0.1:36595//foo/1225 ftp://127.0.0.1:36595//foo/bar/1225 > log/2/stdout1225 2> log/2/stderr1225 1225: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1225 === Start of file ftp_server.log 02:03:08.876914 ====> Client connect 02:03:08.877066 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:08.877449 < "USER anonymous" 02:03:08.877490 > "331 We are happy you popped in![CR][LF]" 02:03:08.878042 < "PASS ftp@example.com" 02:03:08.878075 > "230 Welcome you silly person[CR][LF]" 02:03:08.878234 < "PWD" 02:03:08.878265 > "257 "/" is current directory[CR][LF]" 02:03:08.878456 < "EPSV" 02:03:08.878483 ====> Passive DATA channel requested by client 02:03:08.878497 DATA sockfilt for passive data channel starting... 02:03:08.880268 DATA sockfilt for passive data channel started (pid 139694) 02:03:08.880375 DATA sockfilt for passive data channel listens on port 42145 02:03:08.880414 > "229 Entering Passive Mode (|||42145|)[LF]" 02:03:08.880431 Client has been notified that DATA conn will be accepted on port 42145 02:03:08.880658 Client connects to port 42145 02:03:08.880687 ====> Client established passive DATA connection on port 42145 02:03:08.880753 < "TYPE I" 02:03:08.880780 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:08.880938 < "SIZE verifiedserver" 02:03:08.880982 > "213 17[CR][LF]" 02:03:08.881134 < "RETR verifiedserver" 02:03:08.881165 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:08.881238 =====> Closing passive DATA connection... 02:03:08.881252 Server disconnects passive DATA connection 02:03:08.881495 Server disconnected passive DATA connection 02:03:08.881524 DATA sockfilt for passive data channel quits (pid 139694) 02:03:08.881809 DATA sockfilt for passive data channel quit (pid 139694) 02:03:08.881833 =====> Closed passive DATA connection 02:03:08.881860 > "226 File transfer complete[CR][LF]" 02:03:08.922013 < "QUIT" 02:03:08.922065 > "221 bye bye baby[CR][LF]" 02:03:08.922444 MAIN sockfilt said DISC 02:03:08.922479 ====> Client disconnected 02:03:08.922537 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:09.076949 ====> Client connect 02:03:09.077236 Received DATA (on stdin) 02:03:09.077260 > 160 bytes data, server => client 02:03:09.077273 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:09.077285 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:09.077296 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:09.077416 < 16 bytes data, client => server 02:03:09.077432 'USER anonymous\r\n' 02:03:09.077632 Received DATA (on stdin) 02:03:09.077645 > 33 bytes data, server => client 02:03:09.077656 '331 We are happy you popped in!\r\n' 02:03:09.078064 < 22 bytes data, client => server 02:03:09.078086 'PASS ftp@example.com\r\n' 02:03:09.078215 Received DATA (on stdin) 02:03:09.078226 > 30 bytes data, server => client 02:03:09.078237 '230 Welcome you silly person\r\n' 02:03:09.078289 < 5 bytes data, client => server 02:03:09.078301 'PWD\r\n' 02:03:09.078402 Received DATA (on stdin) 02:03:09.078413 > 30 bytes data, server => client 02:03:09.078424 '257 "/" is current directory\r\n' 02:03:09.078505 < 6 bytes data, client => server 02:03:09.078521 'EPSV\r\n' 02:03:09.080575 Received DATA (on stdin) 02:03:09.080589 > 38 bytes data, server => client 02:03:09.080599 '229 Entering Passive Mode (|||42145|)\n' 02:03:09.080722 < 8 bytes data, client => server 02:03:09.080737 'TYPE I\r\n' 02:03:09.080920 Received DATA (on stdin) 02:03:09.080933 > 33 bytes data, server => client 02:03:09.080944 '200 I modify TYPE as you wanted\r\n' 02:03:09.080997 < 21 bytes data, client => server 02:03:09.081009 'SIZE verifiedserver\r\n' 02:03:09.081121 Received DATA (on stdin) 02:03:09.081133 > 8 bytes data, server => client 02:03:09.081143 '213 17\r\n' 02:03:09.081193 < 21 bytes data, client => server 02:03:09.081205 'RETR verifiedserver\r\n' 02:03:09.081391 Received DATA (on stdin) 02:03:09.081404 > 29 bytes data, server => client 02:03:09.081415 '150 Binary junk (17 bytes).\r\n' 02:03:09.082207 Received DATA (on stdin) 02:03:09.082224 > 28 bytes data, server => client 02:03:09.082235 '226 File transfer complete\r\n' 02:03:09.121988 < 6 bytes data, client => server 02:03:09.122015 'QUIT\r\n' 02:03:09.122212 Received DATA (on stdin) 02:03:09.122226 > 18 bytes daCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1226 ../src/curl -q --output log/8/curl1226.out --include --trace-ascii log/8/trace1226 --trace-config all --trace-time ftp://127.0.0.1:39101//1226 --ftp-method singlecwd > log/8/stdout1226 2> log/8/stderr1226 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1227 ../src/curl -q --output log/5/curl1227.out --include --trace-ascii log/5/trace1227 --trace-config all --trace-time ftp://127.0.0.1:36485//1227 --ftp-method nocwd > log/5/stdout1227 2> log/5/stderr1227 ta, server => client 02:03:09.122237 '221 bye bye baby\r\n' 02:03:09.122529 ====> Client disconnect 02:03:09.122675 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:08.080035 Running IPv4 version 02:03:08.080096 Listening on port 42145 02:03:08.080135 Wrote pid 139694 to log/2/server/ftp_sockdata.pid 02:03:08.080341 Received PING (on stdin) 02:03:08.080429 Received PORT (on stdin) 02:03:08.080755 ====> Client connect 02:03:08.081464 Received DATA (on stdin) 02:03:08.081479 > 17 bytes data, server => client 02:03:08.081490 'WE ROOLZ: 80457\r\n' 02:03:08.081519 Received DISC (on stdin) 02:03:08.081531 ====> Client forcibly disconnected 02:03:08.081687 Received QUIT (on stdin) 02:03:08.081719 quits 02:03:08.081770 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1225 === End of file server.cmd === Start of file valgrind1225 ==139777== ==139777== Process terminating with default action of signal 4 (SIGILL) ==139777== Illegal opcode at address 0x10B08D ==139777== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139777== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1225 test 1226...[FTP fetch a file from the root directory with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1226 ../src/curl -q --output log/8/curl1226.out --include --trace-ascii log/8/trace1226 --trace-config all --trace-time ftp://127.0.0.1:39101//1226 --ftp-method singlecwd > log/8/stdout1226 2> log/8/stderr1226 1226: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1226 === Start of file ftp_server.log 02:03:08.880439 ====> Client connect 02:03:08.880571 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:08.880825 < "USER anonymous" 02:03:08.880860 > "331 We are happy you popped in![CR][LF]" 02:03:08.881164 < "PASS ftp@example.com" 02:03:08.881200 > "230 Welcome you silly person[CR][LF]" 02:03:08.881368 < "PWD" 02:03:08.881399 > "257 "/" is current directory[CR][LF]" 02:03:08.881563 < "EPSV" 02:03:08.881588 ====> Passive DATA channel requested by client 02:03:08.881603 DATA sockfilt for passive data channel starting... 02:03:08.883165 DATA sockfilt for passive data channel started (pid 139697) 02:03:08.883254 DATA sockfilt for passive data channel listens on port 45879 02:03:08.883286 > "229 Entering Passive Mode (|||45879|)[LF]" 02:03:08.883302 Client has been notified that DATA conn will be accepted on port 45879 02:03:08.883512 Client connects to port 45879 02:03:08.883538 ====> Client established passive DATA connection on port 45879 02:03:08.883595 < "TYPE I" 02:03:08.883620 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:08.883768 < "SIZE verifiedserver" 02:03:08.883800 > "213 17[CR][LF]" 02:03:08.883932 < "RETR verifiedserver" 02:03:08.883962 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:08.884028 =====> Closing passive DATA connection... 02:03:08.884041 Server disconnects passive DATA connection 02:03:08.884161 Server disconnected passive DATA connection 02:03:08.884186 DATA sockfilt for passive data channel quits (pid 139697) 02:03:08.884357 DATA sockfilt for passive data channel quit (pid 139697) 02:03:08.884379 =====> Closed passive DATA connection 02:03:08.884404 > "226 File transfer complete[CR][LF]" 02:03:08.925265 < "QUIT" 02:03:08.925314 > "221 bye bye baby[CR][LF]" 02:03:08.928078 MAIN sockfilt said DISC 02:03:08.928119 ====> Client disconnected 02:03:08.928176 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:09.080489 ====> Client connect 02:03:09.080724 Received DATA (on stdin) 02:03:09.080740 > 160 bytes data, server => client 02:03:09.080750 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:09.080759 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:09.080768 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:09.080833 < 16 bytes data, client => server 02:03:09.080844 'USER anonymous\r\n' 02:03:09.081096 Received DATA (on stdin) 02:03:09.081114 > 33 bytes data, server => client 02:03:09.081126 '331 We are happy you popped in!\r\n' 02:03:09.081193 < 22 bytes data, client => server 02:03:09.081206 'PASS ftp@example.com\r\n' 02:03:09.081343 Received DATA (on stdin) 02:03:09.081356 > 30 bytes data, server => client 02:03:09.081367 '230 Welcome you silly person\r\n' 02:03:09.081421 < 5 bytes data, client => server 02:03:09.081434 'PWD\r\n' 02:03:09.081538 Received DATA (on stdin) 02:03:09.081550 > 30 bytes data, server => client 02:03:09.081562 '257 "/" is current directory\r\n' 02:03:09.081621 < 6 bytes data, client => server 02:03:09.081633 'EPSV\r\n' 02:03:09.083442 Received DATA (on stdin) 02:03:09.083455 > 38 bytes data, server => client 02:03:09.083466 '229 Entering Passive Mode (|||45879|)\n' 02:03:09.083575 < 8 bytes data, client => server 02:03:09.083590 'TYPE I\r\n' 02:03:09.083758 Received DATA (on stdin) 02:03:09.083770 > 33 bytes data, server => client 02:03:09.083781 '200 I modify TYPE as you wanted\r\n' 02:03:09.083830 < 21 bytes data, client => server 02:03:09.083842 'SIZE verifiedserver\r\n' 02:03:09.083935 Received DATA (on stdin) 02:03:09.083944 > 8 bytes data, server => client 02:03:09.083952 '213 17\r\n' 02:03:09.083994 < 21 bytes data, client => server 02:03:09.084006 'RETR verifiedserver\r\n' 02:03:09.084144 Received DATA (on stdin) 02:03:09.084162 > 29 bytes data, server => client 02:03:09.084174 '150 Binary junk (17 bytes).\r\n' 02:03:09.084534 Received DATA (on stdin) 02:03:09.084549 > 28 bytes data, server => client 02:03:09.084560 '226 File transfer complete\r\n' 02:03:09.125259 < 6 bytes data, client => server 02:03:09.125282 'QUIT\r\n' 02:03:09.127457 Received DATA (on stdin) 02:03:09.127480 > 18 bytes data, server => client 02:03:09.127493 '221 bye bye baby\r\n' 02:03:09.128158 ====> Client disconnect 02:03:09.128319 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:08.083046 Running IPv4 version 02:03:08.083096 Listening on port 45879 02:03:08.083132 Wrote pid 139697 to log/8/server/ftp_sockdata.pid 02:03:08.083250 Received PING (on stdin) 02:03:08.083320 Received PORT (on stdin) 02:03:08.083608 ====> Client connect 02:03:08.084181 Received DATA (on stdin) 02:03:08.084197 > 17 bytes data, server => client 02:03:08.084208 'WE ROOLZ: 80441\r\n' 02:03:08.084240 Received DISC (on stdin) 02:03:08.084252 ====> Client forcibly disconnected 02:03:08.084330 Received QUIT (on stdin) 02:03:08.084342 quits 02:03:08.084385 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1226 === End of file server.cmd === Start of file valgrind1226 ==139789== ==139789== Process terminating with default action of signal 4 (SIGILL) ==139789== Illegal opcode at address 0x10B08D ==139789== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139789== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1226 test 1227...[FTP fetch a file from the root directory with nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1227 ../src/curl -q --output log/5/curl1227.out --include --trace-ascii log/5/trace1227 --trace-config all --trace-time ftp://127.0.0.1:36485//1227 --ftp-method nocwd > log/5/stdout1227 2> log/5/stderr1227 1227: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1227 === Start of file ftp_server.log 02:03:08.897CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1229 ../src/curl -q --output log/1/curl1229.out --include --trace-ascii log/1/trace1229 --trace-config all --trace-time http://%5cuser%22:password@127.0.0.1:34215/1229 --digest > log/1/stdout1229 2> log/1/stderr1229 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1231 ../src/curl -q --output log/12/curl1231.out --include --trace-ascii log/12/trace1231 --trace-config all --trace-time http://127.0.0.1:40653/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:40653/../../hej/but/who/../12310001#/../12310001 > log/12/stdout1231 2> log/12/stderr1231 779 ====> Client connect 02:03:08.897927 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:08.898275 < "USER anonymous" 02:03:08.898303 > "331 We are happy you popped in![CR][LF]" 02:03:08.898476 < "PASS ftp@example.com" 02:03:08.898502 > "230 Welcome you silly person[CR][LF]" 02:03:08.898658 < "PWD" 02:03:08.898689 > "257 "/" is current directory[CR][LF]" 02:03:08.898859 < "EPSV" 02:03:08.898886 ====> Passive DATA channel requested by client 02:03:08.898900 DATA sockfilt for passive data channel starting... 02:03:08.900254 DATA sockfilt for passive data channel started (pid 139726) 02:03:08.900356 DATA sockfilt for passive data channel listens on port 40327 02:03:08.900390 > "229 Entering Passive Mode (|||40327|)[LF]" 02:03:08.900409 Client has been notified that DATA conn will be accepted on port 40327 02:03:08.900632 Client connects to port 40327 02:03:08.900659 ====> Client established passive DATA connection on port 40327 02:03:08.900715 < "TYPE I" 02:03:08.900740 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:08.900891 < "SIZE verifiedserver" 02:03:08.900923 > "213 17[CR][LF]" 02:03:08.901106 < "RETR verifiedserver" 02:03:08.901137 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:08.901197 =====> Closing passive DATA connection... 02:03:08.901209 Server disconnects passive DATA connection 02:03:08.901265 Server disconnected passive DATA connection 02:03:08.901289 DATA sockfilt for passive data channel quits (pid 139726) 02:03:08.901477 DATA sockfilt for passive data channel quit (pid 139726) 02:03:08.901500 =====> Closed passive DATA connection 02:03:08.901523 > "226 File transfer complete[CR][LF]" 02:03:08.945411 < "QUIT" 02:03:08.945463 > "221 bye bye baby[CR][LF]" 02:03:08.946100 MAIN sockfilt said DISC 02:03:08.946129 ====> Client disconnected 02:03:08.946195 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:08.097820 ====> Client connect 02:03:08.098076 Received DATA (on stdin) 02:03:08.098209 > 160 bytes data, server => client 02:03:08.098220 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:08.098229 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:08.098237 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:08.098299 < 16 bytes data, client => server 02:03:08.098309 'USER anonymous\r\n' 02:03:08.098439 Received DATA (on stdin) 02:03:08.098449 > 33 bytes data, server => client 02:03:08.098458 '331 We are happy you popped in!\r\n' 02:03:08.098524 < 22 bytes data, client => server 02:03:08.098539 'PASS ftp@example.com\r\n' 02:03:08.098642 Received DATA (on stdin) 02:03:08.098653 > 30 bytes data, server => client 02:03:08.098664 '230 Welcome you silly person\r\n' 02:03:08.098715 < 5 bytes data, client => server 02:03:08.098726 'PWD\r\n' 02:03:08.098829 Received DATA (on stdin) 02:03:08.098841 > 30 bytes data, server => client 02:03:08.098852 '257 "/" is current directory\r\n' 02:03:08.098913 < 6 bytes data, client => server 02:03:08.098926 'EPSV\r\n' 02:03:08.100551 Received DATA (on stdin) 02:03:08.100564 > 38 bytes data, server => client 02:03:08.100576 '229 Entering Passive Mode (|||40327|)\n' 02:03:08.100692 < 8 bytes data, client => server 02:03:08.100707 'TYPE I\r\n' 02:03:08.100878 Received DATA (on stdin) 02:03:08.100890 > 33 bytes data, server => client 02:03:08.100902 '200 I modify TYPE as you wanted\r\n' 02:03:08.100952 < 21 bytes data, client => server 02:03:08.100964 'SIZE verifiedserver\r\n' 02:03:08.101061 Received DATA (on stdin) 02:03:08.101073 > 8 bytes data, server => client 02:03:08.101084 '213 17\r\n' 02:03:08.101144 < 21 bytes data, client => server 02:03:08.101159 'RETR verifiedserver\r\n' 02:03:08.101345 Received DATA (on stdin) 02:03:08.101356 > 29 bytes data, server => client 02:03:08.101365 '150 Binary junk (17 bytes).\r\n' 02:03:08.101662 Received DATA (on stdin) 02:03:08.101675 > 28 bytes data, server => client 02:03:08.101687 '226 File transfer complete\r\n' 02:03:08.145375 < 6 bytes data, client => server 02:03:08.145401 'QUIT\r\n' 02:03:08.145771 Received DATA (on stdin) 02:03:08.145789 > 18 bytes data, server => client 02:03:08.145800 '221 bye bye baby\r\n' 02:03:08.146188 ====> Client disconnect 02:03:08.146336 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:08.100227 Running IPv4 version 02:03:08.100281 Listening on port 40327 02:03:08.100318 Wrote pid 139726 to log/5/server/ftp_sockdata.pid 02:03:08.100334 Received PING (on stdin) 02:03:08.100416 Received PORT (on stdin) 02:03:08.100725 ====> Client connect 02:03:08.101281 Received DATA (on stdin) 02:03:08.101301 > 17 bytes data, server => client 02:03:08.101312 'WE ROOLZ: 80534\r\n' 02:03:08.101339 Received DISC (on stdin) 02:03:08.101353 ====> Client forcibly disconnected 02:03:08.101434 Received QUIT (on stdin) 02:03:08.101445 quits 02:03:08.101497 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1227 === End of file server.cmd === Start of file valgrind1227 ==139875== ==139875== Process terminating with default action of signal 4 (SIGILL) ==139875== Illegal opcode at address 0x10B08D ==139875== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139875== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1227 test 1229...[HTTP with Digest authorization with user name needing escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1229 ../src/curl -q --output log/1/curl1229.out --include --trace-ascii log/1/trace1229 --trace-config all --trace-time http://%5cuser%22:password@127.0.0.1:34215/1229 --digest > log/1/stdout1229 2> log/1/stderr1229 1229: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1229 === Start of file http_server.log 02:03:09.288897 ====> Client connect 02:03:09.288930 accept_connection 3 returned 4 02:03:09.288948 accept_connection 3 returned 0 02:03:09.288962 Read 93 bytes 02:03:09.289059 Process 93 bytes request 02:03:09.289077 Got request: GET /verifiedserver HTTP/1.1 02:03:09.289087 Are-we-friendly question received 02:03:09.289113 Wrote request (93 bytes) input to log/1/server.input 02:03:09.289132 Identifying ourselves as friends 02:03:09.289202 Response sent (56 bytes) and written to log/1/server.response 02:03:09.289214 special request received, no persistency 02:03:09.289223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1229 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1229 ==139993== ==139993== Process terminating with default action of signal 4 (SIGILL) ==139993== Illegal opcode at address 0x10B08D ==139993== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==139993== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1229 test 1231...[HTTP URL with dotdot removal from path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1231 ../src/curl -q --output log/12/curl1231.oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1233 ../src/curl -q --output log/3/curl1233.out --include --trace-ascii log/3/trace1233 --trace-config all --trace-time ftp://127.0.0.1:45983/1233 > log/3/stdout1233 2> log/3/stderr1233 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1232 ../src/curl -q --output log/11/curl1232.out --include --trace-ascii log/11/trace1232 --trace-config all --trace-time --proxy http://127.0.0.1:44137 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 > log/11/stdout1232 2> log/11/stderr1232 ut --include --trace-ascii log/12/trace1231 --trace-config all --trace-time http://127.0.0.1:40653/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:40653/../../hej/but/who/../12310001#/../12310001 > log/12/stdout1231 2> log/12/stderr1231 1231: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1231 === Start of file http_server.log 02:03:09.391871 ====> Client connect 02:03:09.391907 accept_connection 3 returned 4 02:03:09.391925 accept_connection 3 returned 0 02:03:09.391939 Read 93 bytes 02:03:09.391951 Process 93 bytes request 02:03:09.391965 Got request: GET /verifiedserver HTTP/1.1 02:03:09.391975 Are-we-friendly question received 02:03:09.391999 Wrote request (93 bytes) input to log/12/server.input 02:03:09.392017 Identifying ourselves as friends 02:03:09.392091 Response sent (56 bytes) and written to log/12/server.response 02:03:09.392103 special request received, no persistency 02:03:09.392113 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1231 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1231 ==140061== ==140061== Process terminating with default action of signal 4 (SIGILL) ==140061== Illegal opcode at address 0x10B08D ==140061== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140061== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1231 test 1233...[FTP failing to connect to EPSV port, switching to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1233 ../src/curl -q --output log/3/curl1233.out --include --trace-ascii log/3/trace1233 --trace-config all --trace-time ftp://127.0.0.1:45983/1233 > log/3/stdout1233 2> log/3/stderr1233 1233: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1233 === Start of file ftp_server.log 02:03:09.321802 ====> Client connect 02:03:09.321942 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:09.322213 < "USER anonymous" 02:03:09.322244 > "331 We are happy you popped in![CR][LF]" 02:03:09.322399 < "PASS ftp@example.com" 02:03:09.322423 > "230 Welcome you silly person[CR][LF]" 02:03:09.322569 < "PWD" 02:03:09.322612 > "257 "/" is current directory[CR][LF]" 02:03:09.323314 < "EPSV" 02:03:09.323340 ====> Passive DATA channel requested by client 02:03:09.323353 DATA sockfilt for passive data channel starting... 02:03:09.324739 DATA sockfilt for passive data channel started (pid 140145) 02:03:09.324832 DATA sockfilt for passive data channel listens on port 43331 02:03:09.324866 > "229 Entering Passive Mode (|||43331|)[LF]" 02:03:09.324881 Client has been notified that DATA conn will be accepted on port 43331 02:03:09.325214 Client connects to port 43331 02:03:09.325246 ====> Client established passive DATA connection on port 43331 02:03:09.325304 < "TYPE I" 02:03:09.325328 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:09.325480 < "SIZE verifiedserver" 02:03:09.325513 > "213 17[CR][LF]" 02:03:09.325652 < "RETR verifiedserver" 02:03:09.325682 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:09.325752 =====> Closing passive DATA connection... 02:03:09.325767 Server disconnects passive DATA connection 02:03:09.325978 Server disconnected passive DATA connection 02:03:09.326004 DATA sockfilt for passive data channel quits (pid 140145) 02:03:09.326179 DATA sockfilt for passive data channel quit (pid 140145) 02:03:09.326201 =====> Closed passive DATA connection 02:03:09.326225 > "226 File transfer complete[CR][LF]" 02:03:09.368908 < "QUIT" 02:03:09.368961 > "221 bye bye baby[CR][LF]" 02:03:09.369102 MAIN sockfilt said DISC 02:03:09.369131 ====> Client disconnected 02:03:09.369194 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:09.521841 ====> Client connect 02:03:09.522090 Received DATA (on stdin) 02:03:09.522105 > 160 bytes data, server => client 02:03:09.522117 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:09.522128 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:09.522139 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:09.522221 < 16 bytes data, client => server 02:03:09.522234 'USER anonymous\r\n' 02:03:09.522384 Received DATA (on stdin) 02:03:09.522396 > 33 bytes data, server => client 02:03:09.522406 '331 We are happy you popped in!\r\n' 02:03:09.522457 < 22 bytes data, client => server 02:03:09.522469 'PASS ftp@example.com\r\n' 02:03:09.522565 Received DATA (on stdin) 02:03:09.522576 > 30 bytes data, server => client 02:03:09.522586 '230 Welcome you silly person\r\n' 02:03:09.522633 < 5 bytes data, client => server 02:03:09.522644 'PWD\r\n' 02:03:09.522750 Received DATA (on stdin) 02:03:09.522762 > 30 bytes data, server => client 02:03:09.522772 '257 "/" is current directory\r\n' 02:03:09.523353 < 6 bytes data, client => server 02:03:09.523374 'EPSV\r\n' 02:03:09.525024 Received DATA (on stdin) 02:03:09.525037 > 38 bytes data, server => client 02:03:09.525049 '229 Entering Passive Mode (|||43331|)\n' 02:03:09.525320 < 8 bytes data, client => server 02:03:09.525339 'TYPE I\r\n' 02:03:09.525467 Received DATA (on stdin) 02:03:09.525480 > 33 bytes data, server => client 02:03:09.525491 '200 I modify TYPE as you wanted\r\n' 02:03:09.525542 < 21 bytes data, client => server 02:03:09.525554 'SIZE verifiedserver\r\n' 02:03:09.525651 Received DATA (on stdin) 02:03:09.525662 > 8 bytes data, server => client 02:03:09.525672 '213 17\r\n' 02:03:09.525718 < 21 bytes data, client => server 02:03:09.525730 'RETR verifiedserver\r\n' 02:03:09.525994 Received DATA (on stdin) 02:03:09.526006 > 29 bytes data, server => client 02:03:09.526017 '150 Binary junk (17 bytes).\r\n' 02:03:09.526364 Received DATA (on stdin) 02:03:09.526377 > 28 bytes data, server => client 02:03:09.526387 '226 File transfer complete\r\n' 02:03:09.568834 < 6 bytes data, client => server 02:03:09.568865 'QUIT\r\n' 02:03:09.569108 Received DATA (on stdin) 02:03:09.569123 > 18 bytes data, server => client 02:03:09.569135 '221 bye bye baby\r\n' 02:03:09.569198 ====> Client disconnect 02:03:09.569334 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:09.524707 Running IPv4 version 02:03:09.524761 Listening on port 43331 02:03:09.524806 Wrote pid 140145 to log/3/server/ftp_sockdata.pid 02:03:09.524822 Received PING (on stdin) 02:03:09.524897 Received PORT (on stdin) 02:03:09.525271 ====> Client connect 02:03:09.525906 Received DATA (on stdin) 02:03:09.525918 > 17 bytes data, server => client 02:03:09.525929 'WE ROOLZ: 80465\r\n' 02:03:09.525958 Received DISC (on stdin) 02:03:09.525970 ====> Client forcibly disconnected 02:03:09.526148 Received QUIT (on stdin) 02:03:09.526160 quits 02:03:09.526204 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd # Assuming there's nothing listening on port 1 REPLY EPSV 229 Entering Passiv Mode (|||1|) Testnum 1233 === End of file server.cmd === Start of file valgrind1233 ==1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1234 ../src/curl -q --output log/9/curl1234.out --include --trace-ascii log/9/trace1234 --trace-config all --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/9/stdout1234 2> log/9/stderr1234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1239 ../src/curl -q --include --trace-ascii log/8/trace1239 --trace-config all --trace-time http://127.0.0.1:43803/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/8/stdout1239 2> log/8/stderr1239 40241== ==140241== Process terminating with default action of signal 4 (SIGILL) ==140241== Illegal opcode at address 0x10B08D ==140241== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140241== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1233 test 1232...[HTTP URL with dotdot removal from path using an HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1232 ../src/curl -q --output log/11/curl1232.out --include --trace-ascii log/11/trace1232 --trace-config all --trace-time --proxy http://127.0.0.1:44137 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 > log/11/stdout1232 2> log/11/stderr1232 1232: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1232 === Start of file http_server.log 02:03:09.522771 ====> Client connect 02:03:09.522800 accept_connection 3 returned 4 02:03:09.522817 accept_connection 3 returned 0 02:03:09.522830 Read 93 bytes 02:03:09.522841 Process 93 bytes request 02:03:09.522856 Got request: GET /verifiedserver HTTP/1.1 02:03:09.522866 Are-we-friendly question received 02:03:09.522892 Wrote request (93 bytes) input to log/11/server.input 02:03:09.522908 Identifying ourselves as friends 02:03:09.522970 Response sent (56 bytes) and written to log/11/server.response 02:03:09.522980 special request received, no persistency 02:03:09.522989 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1232 ==140162== ==140162== Process terminating with default action of signal 4 (SIGILL) ==140162== Illegal opcode at address 0x10B08D ==140162== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140162== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1232 * starts no server test 1234...[abusing {}-globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1234 ../src/curl -q --output log/9/curl1234.out --include --trace-ascii log/9/trace1234 --trace-config all --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/9/stdout1234 2> log/9/stderr1234 curl returned 132, when expecting 3 1234: exit FAILED == Contents of files in the log/9/ dir after test 1234 === Start of file server.cmd Testnum 1234 === End of file server.cmd === Start of file valgrind1234 ==140141== ==140141== Process terminating with default action of signal 4 (SIGILL) ==140141== Illegal opcode at address 0x10B08D ==140141== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140141== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1236 ../src/curl -q --output log/6/curl1236.out --include --trace-ascii log/6/trace1236 --trace-config all --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/6/stdout1236 2> log/6/stderr1236 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1237 ../src/curl -q --output log/4/curl1237.out --include --trace-ascii log/4/trace1237 --trace-config all --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:36813/1237" > log/4/stdout1237 2> log/4/stderr1237 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1238 ../src/curl -q --output log/2/curl1238.out --include --trace-ascii log/2/trace1238 --trace-config all --trace-time tftp://127.0.0.1:56121//1238 -Y1000 -y2 > log/2/stdout1238 2> log/2/stderr1238 RUN: Process with pid 126918 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1235 ../src/curl -q --include --trace-ascii log/10/trace1235 --trace-config all --trace-time "127.0.0.1:42929/{1235,1235}{0001,0002}" > log/10/stdout1235 2> log/10/stderr1235 test 1239...[HTTP with -z + -w response_code and simulated 304] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1239 ../src/curl -q --include --trace-ascii log/8/trace1239 --trace-config all --trace-time http://127.0.0.1:43803/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/8/stdout1239 2> log/8/stderr1239 1239: stdout FAILED: --- log/8/check-expected 2024-12-15 02:03:10.123400360 +0000 +++ log/8/check-generated 2024-12-15 02:03:10.123400360 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT[LF] -ETag: "21025-dc7-39462498"[LF] -Accept-Ranges: bytes[LF] -Content-Length: 6[LF] -Connection: close[LF] -Content-Type: text/html[LF] -[LF] -304 == Contents of files in the log/8/ dir after test 1239 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT[LF] ETag: "21025-dc7-39462498"[LF] Accept-Ranges: bytes[LF] Content-Length: 6[LF] Connection: close[LF] Content-Type: text/html[LF] [LF] 304 === End of file check-expected === Start of file http_server.log 02:03:09.715844 ====> Client connect 02:03:09.715877 accept_connection 3 returned 4 02:03:09.715894 accept_connection 3 returned 0 02:03:09.715908 Read 93 bytes 02:03:09.715918 Process 93 bytes request 02:03:09.715932 Got request: GET /verifiedserver HTTP/1.1 02:03:09.715943 Are-we-friendly question received 02:03:09.715966 Wrote request (93 bytes) input to log/8/server.input 02:03:09.715983 Identifying ourselves as friends 02:03:09.716054 Response sent (56 bytes) and written to log/8/server.response 02:03:09.716068 special request received, no persistency 02:03:09.716078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1239 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1239 ==140472== ==140472== Process terminating with default action of signal 4 (SIGILL) ==140472== Illegal opcode at address 0x10B08D ==140472== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140472== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1239 test 1237...[URL with 1000+ letter user name + password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1237 ../src/curl -q --output log/4/curl1237.out --include --trace-ascii log/4/trace1237 --trace-config all --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:36813/1237" > log/4/stdout1237 2> log/4/stderr1237 1237: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1237 === Start of file http_server.log 02:03:09.691942 ====> Client connect 02:03:09.691972 accept_connection 3 returned 4 02:03:09.691987 accept_connection 3 returned 0 02:03:09.692083 Read 93 bytes 02:03:09.692096 Process 93 bytes request 02:03:09.692109 Got request: GET /verifiedserver HTTP/1.1 02:03:09.692118 Are-we-friendly question received 02:03:09.692141 Wrote request (93 bytes) input to log/4/server.input 02:03:09.692157 Identifying ourselves as friends 02:03:09.692213 Response sent (56 bytes) and written to log/4/server.response 02:03:09.692222 special request received, no persistency 02:03:09.692231 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1237 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1237 ==140372== ==140372== Process terminating with default action of signal 4 (SIGILL) ==140372== Illegal opcode at address 0x10B08D ==140372== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140372== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1237 * starts no server test 1236...[[] globbing overflowing the range counter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1236 ../src/curl -q --output log/6/curl1236.out --include --trace-ascii log/6/trace1236 --trace-config all --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/6/stdout1236 2> log/6/stderr1236 curl returned 132, when expecting 3 1236: exit FAILED == Contents of files in the log/6/ dir after test 1236 === Start of file server.cmd Testnum 1236 === End of file server.cmd === Start of file valgrind1236 ==140303== ==140303== Process terminating with default action of signal 4 (SIGILL) ==140303== Illegal opcode at address 0x10B08D ==140303== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140303== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1236 CMD (0): ../src/curl --max-time 13 --output log/7/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:44391/verifiedserver" 2>log/7/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1240 ../src/curl -q --output log/5/curl1240.out --include --trace-ascii log/5/trace1240 --trace-config all --trace-time "127.0.0.1:33361/0[0-1]/1240" > log/5/stdout1240 2> log/5/stderr1240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1241 ../src/curl -q --output log/1/curl1241.out --include --trace-ascii log/1/trace1241 --trace-config all --trace-time --path-as-is --proxy http://127.0.0.1:34215 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 > log/1/stdout1241 2> log/1/stderr1241 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1242 ../src/curl -q --output log/12/curl1242.out --include --trace-ascii log/12/trace1242 --trace-config all --trace-time tftp://127.0.0.1:59336//1242 --tftp-no-options > log/12/stdout1242 2> log/12/stderr1242 test 1235...[multiple requests using {}{} in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1235 ../src/curl -q --include --trace-ascii log/10/trace1235 --trace-config all --trace-time "127.0.0.1:42929/{1235,1235}{0001,0002}" > log/10/stdout1235 2> log/10/stderr1235 1235: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:10.130067144 +0000 +++ log/10/check-generated 2024-12-15 02:03:10.130067144 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 15[CR][LF] -[CR][LF] -the number one[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 15[CR][LF] -[CR][LF] -the number one[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] == Contents of files in the log/10/ dir after test 1235 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 15[CR][LF] [CR][LF] the number one[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 15[CR][LF] [CR][LF] the number one[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] === End of file check-expected === Start of file http_server.log 02:03:09.692146 ====> Client connect 02:03:09.692176 accept_connection 3 returned 4 02:03:09.692192 accept_connection 3 returned 0 02:03:09.692204 Read 93 bytes 02:03:09.692214 Process 93 bytes request 02:03:09.692226 Got request: GET /verifiedserver HTTP/1.1 02:03:09.692235 Are-we-friendly question received 02:03:09.692767 Wrote request (93 bytes) input to log/10/server.input 02:03:09.692790 Identifying ourselves as friends 02:03:09.692861 Response sent (56 bytes) and written to log/10/server.response 02:03:09.692873 special request received, no persistency 02:03:09.692882 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1235 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1235 ==140389== ==140389== Process terminating with default action of signal 4 (SIGILL) ==140389== Illegal opcode at address 0x10B08D ==140389== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140389== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1235 test 1240...[glob [0-1] with stuff after range (7.33.0 regression)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1240 ../src/curl -q --output log/5/curl1240.out --include --trace-ascii log/5/trace1240 --trace-config all --trace-time "127.0.0.1:33361/0[0-1]/1240" > log/5/stdout1240 2> log/5/stderr1240 1240: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1240 === Start of file http_server.log 02:03:09.954736 ====> Client connect 02:03:09.954771 accept_connection 3 returned 4 02:03:09.954789 accept_connection 3 returned 0 02:03:09.954804 Read 93 bytes 02:03:09.954815 Process 93 bytes request 02:03:09.954830 Got request: GET /verifiedserver HTTP/1.1 02:03:09.954840 Are-we-friendly question received 02:03:09.954863 Wrote request (93 bytes) input to log/5/server.input 02:03:09.954880 Identifying ourselves as friends 02:03:09.954950 Response sent (56 bytes) and written to log/5/server.response 02:03:09.954962 special request received, no persistency 02:03:09.954972 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1240 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1240 ==140641== ==140641== Process terminating with default action of signal 4 (SIGILL) ==140641== Illegal opcode at address 0x10B08D ==140641== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140641== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1240 test 1241...[HTTP _without_ dotdot removal] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1241 ../src/curl -q --output log/1/curl1241.out --include --trace-ascii log/1/trace1241 --trace-config all --trace-time --path-as-is --proxy http://127.0.0.1:34215 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 > log/1/stdout1241 2> log/1/stderr1241 1241: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1241 === Start of file http_server.log 02:03:09.970310 ====> Client connect 02:03:09.970340 accept_connection 3 returned 4 02:03:09.970358 accept_connection 3 returned 0 02:03:09.970373 Read 93 bytes 02:03:09.970385 Process 93 bytes request 02:03:09.970399 Got request: GET /verifiedserver HTTP/1.1 02:03:09.970410 Are-we-friendly question received 02:03:09.970433 Wrote request (93 bytes) input to log/1/server.input 02:03:09.970451 Identifying ourselves as friends 02:03:09.970519 Response sent (56 bytes) and written to log/1/server.response 02:03:09.970530 special request received, no persistency 02:03:09.970540 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1241 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1241 ==140669== ==140669== Process terminating with default action of signal 4 (SIGILL) ==140669== Illegal opcode at address 0x10B08D ==140669== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140669== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1241 test 1242...[TFTP retrieve without TFTP options requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1243 ../src/curl -q --output log/3/curl1243.out --include --trace-ascii log/3/trace1243 --trace-config all --trace-time -T log/3/test1243.txt tftp://127.0.0.1:43051// --tftp-no-options > log/3/stdout1243 2> log/3/stderr1243 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1246 ../src/curl -q --output log/11/curl1246.out --include --trace-ascii log/11/trace1246 --trace-config all --trace-time --proxy http://127.0.0.1:44137 http://test.remote.haxx.se.1246:44137#@127.0.0.1/tricked.html no-scheme-url.com.1246:44137#@127.127.127.127/again.html > log/11/stdout1246 2> log/11/stderr1246 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1245 ../src/curl -q --output log/9/curl1245.out --include --trace-ascii log/9/trace1245 --trace-config all --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:38509/1245 > log/9/stdout1245 2> log/9/stderr1245 yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1242 ../src/curl -q --output log/12/curl1242.out --include --trace-ascii log/12/trace1242 --trace-config all --trace-time tftp://127.0.0.1:59336//1242 --tftp-no-options > log/12/stdout1242 2> log/12/stderr1242 1242: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1242 === Start of file server.cmd Testnum 1242 === End of file server.cmd === Start of file tftp_server.log 02:03:09.974341 trying to get file: verifiedserver mode 1 02:03:09.974369 Are-we-friendly question received 02:03:09.974382 write 02:03:09.974407 read 02:03:09.974979 read: 4 02:03:09.975029 end of one transfer === End of file tftp_server.log === Start of file valgrind1242 ==140668== ==140668== Process terminating with default action of signal 4 (SIGILL) ==140668== Illegal opcode at address 0x10B08D ==140668== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140668== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1242 test 1243...[TFTP send without TFTP options requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1243 ../src/curl -q --output log/3/curl1243.out --include --trace-ascii log/3/trace1243 --trace-config all --trace-time -T log/3/test1243.txt tftp://127.0.0.1:43051// --tftp-no-options > log/3/stdout1243 2> log/3/stderr1243 1243: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1243 === Start of file server.cmd Testnum 1243 === End of file server.cmd === Start of file test1243.txt a chunk of data sent to server === End of file test1243.txt === Start of file tftp_server.log 02:03:09.165234 trying to get file: verifiedserver mode 1 02:03:09.165260 Are-we-friendly question received 02:03:09.165274 write 02:03:09.165294 read 02:03:09.165639 read: 4 02:03:09.165680 end of one transfer === End of file tftp_server.log === Start of file valgrind1243 ==140855== ==140855== Process terminating with default action of signal 4 (SIGILL) ==140855== Illegal opcode at address 0x10B08D ==140855== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140855== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1243 test 1246...[URL with '#' at end of host name instead of '/'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1246 ../src/curl -q --output log/11/curl1246.out --include --trace-ascii log/11/trace1246 --trace-config all --trace-time --proxy http://127.0.0.1:44137 http://test.remote.haxx.se.1246:44137#@127.0.0.1/tricked.html no-scheme-url.com.1246:44137#@127.127.127.127/again.html > log/11/stdout1246 2> log/11/stderr1246 1246: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1246 === Start of file http_server.log 02:03:10.184513 ====> Client connect 02:03:10.184543 accept_connection 3 returned 4 02:03:10.184559 accept_connection 3 returned 0 02:03:10.184572 Read 93 bytes 02:03:10.184583 Process 93 bytes request 02:03:10.184597 Got request: GET /verifiedserver HTTP/1.1 02:03:10.184607 Are-we-friendly question received 02:03:10.184633 Wrote request (93 bytes) input to log/11/server.input 02:03:10.184650 Identifying ourselves as friends 02:03:10.184711 Response sent (56 bytes) and written to log/11/server.response 02:03:10.184722 special request received, no persistency 02:03:10.184731 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1246 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1246 ==140906== ==140906== Process terminating with default action of signal 4 (SIGILL) ==140906== Illegal opcode at address 0x10B08D ==140906== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140906== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1246 test 1245...[--proto deny must override --proto-redir allow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1245 ../src/curl -q --output log/9/curl1245.out --include --trace-ascii log/9/trace1245 --trace-config all --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:38509/1245 > log/9/stdout1245 2> log/9/stderr1245 1245: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1245 === Start of file ftp_server.log 02:03:09.987277 ====> Client connect 02:03:09.987388 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:09.987616 < "USER anonymous" 02:03:09.987646 > "331 We are happy you popped in![CR][LF]" 02:03:09.987800 < "PASS ftp@example.com" 02:03:09.987826 > "230 Welcome you silly person[CR][LF]" 02:03:09.987977 < "PWD" 02:03:09.988006 > "257 "/" is current directory[CR][LF]" 02:03:09.988167 < "EPSV" 02:03:09.988191 ====> Passive DATA channel requested by client 02:03:09.988204 DATA sockfilt for passive data channel starting... 02:03:09.989401 DATA sockfilt for passive data channel started (pid 140890) 02:03:09.989481 DATA sockfilt for passive data channel listens on port 38937 02:03:09.989507 > "229 Entering Passive Mode (|||38937|)[LF]" 02:03:09.989521 Client has been notified that DATA conn will be accepted on port 38937 02:03:09.989689 Client connects to port 38937 02:03:09.989712 ====> Client established passive DATA connection on port 38937 02:03:09.989762 < "TYPE I" 02:03:09.989782 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:09.989897 < "SIZE verifiedserver" 02:03:09.989921 > "213 17[CR][LF]" 02:03:09.990029 < "RETR verifiedserver" 02:03:09.990054 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:09.990108 =====> Closing passive DATA connection... 02:03:09.990118 Server disconnects passive DATA connection 02:03:09.990287 Server disconnected passive DATA connection 02:03:09.990308 DATA sockfilt for passive data channel quits (pid 140890) 02:03:09.990447 DATA sockfilt for passive data channel quit (pid 140890) 02:03:09.990463 =====> Closed passive DATA connection 02:03:09.990480 > "226 File transfer complete[CR][LF]" 02:03:10.035330 < "QUIT" 02:03:10.035381 > "221 bye bye baby[CR][LF]" 02:03:10.036256 MAIN sockfilt said DISC 02:03:10.036296 ====> Client disconnected 02:03:10.036352 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:10.187335 ====> Client connect 02:03:10.187532 Received DATA (on stdin) 02:03:10.187546 > 160 bytes data, server => client 02:03:10.187559 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:10.187570 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:10.187580 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:10.187644 < 16 bCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1248 ../src/curl -q --output log/10/curl1248.out --include --trace-ascii log/10/trace1248 --trace-config all --trace-time http://user:secret@127.0.0.1:42929/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/10/stdout1248 2> log/10/stderr1248 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1247 ../src/curl -q --output log/8/curl1247.out --include --trace-ascii log/8/trace1247 --trace-config all --trace-time --fail-early h1234://127.0.0.1:43803/1247 http://127.0.0.1:43803/1247 > log/8/stdout1247 2> log/8/stderr1247 ytes data, client => server 02:03:10.187657 'USER anonymous\r\n' 02:03:10.187785 Received DATA (on stdin) 02:03:10.187796 > 33 bytes data, server => client 02:03:10.187806 '331 We are happy you popped in!\r\n' 02:03:10.187857 < 22 bytes data, client => server 02:03:10.187869 'PASS ftp@example.com\r\n' 02:03:10.187964 Received DATA (on stdin) 02:03:10.187976 > 30 bytes data, server => client 02:03:10.187987 '230 Welcome you silly person\r\n' 02:03:10.188038 < 5 bytes data, client => server 02:03:10.188049 'PWD\r\n' 02:03:10.188145 Received DATA (on stdin) 02:03:10.188157 > 30 bytes data, server => client 02:03:10.188167 '257 "/" is current directory\r\n' 02:03:10.188225 < 6 bytes data, client => server 02:03:10.188237 'EPSV\r\n' 02:03:10.189660 Received DATA (on stdin) 02:03:10.189670 > 38 bytes data, server => client 02:03:10.189679 '229 Entering Passive Mode (|||38937|)\n' 02:03:10.189773 < 8 bytes data, client => server 02:03:10.189788 'TYPE I\r\n' 02:03:10.189916 Received DATA (on stdin) 02:03:10.189925 > 33 bytes data, server => client 02:03:10.189933 '200 I modify TYPE as you wanted\r\n' 02:03:10.189973 < 21 bytes data, client => server 02:03:10.189982 'SIZE verifiedserver\r\n' 02:03:10.190054 Received DATA (on stdin) 02:03:10.190063 > 8 bytes data, server => client 02:03:10.190071 '213 17\r\n' 02:03:10.190106 < 21 bytes data, client => server 02:03:10.190115 'RETR verifiedserver\r\n' 02:03:10.190325 Received DATA (on stdin) 02:03:10.190335 > 29 bytes data, server => client 02:03:10.190343 '150 Binary junk (17 bytes).\r\n' 02:03:10.190615 Received DATA (on stdin) 02:03:10.190625 > 28 bytes data, server => client 02:03:10.190633 '226 File transfer complete\r\n' 02:03:10.235295 < 6 bytes data, client => server 02:03:10.235320 'QUIT\r\n' 02:03:10.235527 Received DATA (on stdin) 02:03:10.235541 > 18 bytes data, server => client 02:03:10.235551 '221 bye bye baby\r\n' 02:03:10.236340 ====> Client disconnect 02:03:10.236490 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:09.189410 Running IPv4 version 02:03:09.189452 Listening on port 38937 02:03:09.189478 Wrote pid 140890 to log/9/server/ftp_sockdata.pid 02:03:09.189492 Received PING (on stdin) 02:03:09.189553 Received PORT (on stdin) 02:03:09.189787 ====> Client connect 02:03:09.190253 Received DATA (on stdin) 02:03:09.190265 > 17 bytes data, server => client 02:03:09.190274 'WE ROOLZ: 80452\r\n' 02:03:09.190297 Received DISC (on stdin) 02:03:09.190306 ====> Client forcibly disconnected 02:03:09.190449 Received QUIT (on stdin) 02:03:09.190458 quits 02:03:09.190495 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:03:10.163442 ====> Client connect 02:03:10.163472 accept_connection 3 returned 4 02:03:10.163488 accept_connection 3 returned 0 02:03:10.163500 Read 93 bytes 02:03:10.163510 Process 93 bytes request 02:03:10.163522 Got request: GET /verifiedserver HTTP/1.1 02:03:10.163530 Are-we-friendly question received 02:03:10.163553 Wrote request (93 bytes) input to log/9/server.input 02:03:10.163569 Identifying ourselves as friends 02:03:10.163631 Response sent (56 bytes) and written to log/9/server.response 02:03:10.163641 special request received, no persistency 02:03:10.163650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1245 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1245 ==140972== ==140972== Process terminating with default action of signal 4 (SIGILL) ==140972== Illegal opcode at address 0x10B08D ==140972== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140972== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1245 test 1248...[Access a non-proxied host with using the combination of --proxy option and --noproxy option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1248 ../src/curl -q --output log/10/curl1248.out --include --trace-ascii log/10/trace1248 --trace-config all --trace-time http://user:secret@127.0.0.1:42929/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/10/stdout1248 2> log/10/stderr1248 1248: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1248 === Start of file http_server.log 02:03:10.364463 ====> Client connect 02:03:10.364494 accept_connection 3 returned 4 02:03:10.364510 accept_connection 3 returned 0 02:03:10.364524 Read 93 bytes 02:03:10.364534 Process 93 bytes request 02:03:10.364547 Got request: GET /verifiedserver HTTP/1.1 02:03:10.364557 Are-we-friendly question received 02:03:10.364580 Wrote request (93 bytes) input to log/10/server.input 02:03:10.364597 Identifying ourselves as friends 02:03:10.364670 Response sent (56 bytes) and written to log/10/server.response 02:03:10.364681 special request received, no persistency 02:03:10.364691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1248 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1248 ==141117== ==141117== Process terminating with default action of signal 4 (SIGILL) ==141117== Illegal opcode at address 0x10B08D ==141117== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141117== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1248 test 1247...[--fail-early] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1247 ../src/curl -q --output log/8/curl1247.out --include --trace-ascii log/8/trace1247 --trace-config all --trace-time --fail-early h1234://127.0.0.1:43803/1247 http://127.0.0.1:43803/1247 > log/8/stdout1247 2> log/8/stderr1247 curl returned 132, when expecting 1 1247: exit FAILED == Contents of files in the log/8/ dir after test 1247 === Start of file http_server.log 02:03:10.356795 ====> Client connect 02:03:10.356825 accept_connection 3 returned 4 02:03:10.356841 accept_connection 3 returned 0 02:03:10.356857 Read 93 bytes 02:03:10.356867 Process 93 bytes request 02:03:10.356882 Got request: GET /verifiedserver HTTP/1.1 02:03:10.356892 Are-we-friendly question received 02:03:10.356944 Wrote request (93 bytes) input to log/8/server.input 02:03:10.356963 Identifying ourselves as friends 02:03:10.357032 Response sent (56 bytes) and written to log/8/server.response 02:03:10.357044 special request received, no persistency 02:03:10.357054 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1249 ../src/curl -q --output log/6/curl1249.out --include --trace-ascii log/6/trace1249 --trace-config all --trace-time http://user:secret@127.0.0.1:39457/1249 --proxy http://dummy:47/ --max-time 5 > log/6/stdout1249 2> log/6/stderr1249 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1250 ../src/curl -q --output log/4/curl1250.out --include --trace-ascii log/4/trace1250 --trace-config all --trace-time http://user:secret@127.0.0.1:36813/1250 --noproxy 127.0.0.1 --max-time 5 > log/4/stdout1250 2> log/4/stderr1250 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1253 ../src/curl -q --output log/12/curl1253.out --include --trace-ascii log/12/trace1253 --trace-config all --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:40653 --noproxy 127.0.0.1 > log/12/stdout1253 2> log/12/stderr1253 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1251 ../src/curl -q --output log/5/curl1251.out --include --trace-ascii log/5/trace1251 --trace-config all --trace-time http://user:secret@127.0.0.1:33361/1251 --max-time 5 > log/5/stdout1251 2> log/5/stderr1251 TTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1247 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1247 ==141103== ==141103== Process terminating with default action of signal 4 (SIGILL) ==141103== Illegal opcode at address 0x10B08D ==141103== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141103== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1247 setenv NO_PROXY = 127.0.0.1 test 1249...[Access a non-proxied host with using the combination of --proxy option and NO_PROXY env var] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1249 ../src/curl -q --output log/6/curl1249.out --include --trace-ascii log/6/trace1249 --trace-config all --trace-time http://user:secret@127.0.0.1:39457/1249 --proxy http://dummy:47/ --max-time 5 > log/6/stdout1249 2> log/6/stderr1249 1249: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1249 === Start of file http_server.log 02:03:10.366930 ====> Client connect 02:03:10.366968 accept_connection 3 returned 4 02:03:10.366986 accept_connection 3 returned 0 02:03:10.367000 Read 93 bytes 02:03:10.367020 Process 93 bytes request 02:03:10.367033 Got request: GET /verifiedserver HTTP/1.1 02:03:10.367043 Are-we-friendly question received 02:03:10.367065 Wrote request (93 bytes) input to log/6/server.input 02:03:10.367092 Identifying ourselves as friends 02:03:10.367243 Response sent (56 bytes) and written to log/6/server.response 02:03:10.367259 special request received, no persistency 02:03:10.367269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1249 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1249 ==141127== ==141127== Process terminating with default action of signal 4 (SIGILL) ==141127== Illegal opcode at address 0x10B08D ==141127== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141127== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1249 setenv http_proxy = http://dummy:45699/ test 1250...[Access a non-proxied host with using the combination of http_proxy env var and --noproxy option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1250 ../src/curl -q --output log/4/curl1250.out --include --trace-ascii log/4/trace1250 --trace-config all --trace-time http://user:secret@127.0.0.1:36813/1250 --noproxy 127.0.0.1 --max-time 5 > log/4/stdout1250 2> log/4/stderr1250 1250: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1250 === Start of file http_server.log 02:03:10.362613 ====> Client connect 02:03:10.362639 accept_connection 3 returned 4 02:03:10.362653 accept_connection 3 returned 0 02:03:10.362665 Read 93 bytes 02:03:10.362675 Process 93 bytes request 02:03:10.362686 Got request: GET /verifiedserver HTTP/1.1 02:03:10.362694 Are-we-friendly question received 02:03:10.362714 Wrote request (93 bytes) input to log/4/server.input 02:03:10.362729 Identifying ourselves as friends 02:03:10.362788 Response sent (56 bytes) and written to log/4/server.response 02:03:10.362799 special request received, no persistency 02:03:10.362807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1250 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1250 ==141113== ==141113== Process terminating with default action of signal 4 (SIGILL) ==141113== Illegal opcode at address 0x10B08D ==141113== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141113== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1250 setenv NO_PROXY = example.com test 1253...[Under condition using --proxy, override NO_PROXY by --nproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1253 ../src/curl -q --output log/12/curl1253.out --include --trace-ascii log/12/trace1253 --trace-config all --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:40653 --noproxy 127.0.0.1 > log/12/stdout1253 2> log/12/stderr1253 1253: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1253 === Start of file http_server.log 02:03:10.623024 ====> Client connect 02:03:10.623056 accept_connection 3 returned 4 02:03:10.623073 accept_connection 3 returned 0 02:03:10.623086 Read 93 bytes 02:03:10.623097 Process 93 bytes request 02:03:10.623109 Got request: GET /verifiedserver HTTP/1.1 02:03:10.623118 Are-we-friendly question received 02:03:10.623150 Wrote request (93 bytes) input to log/12/server.input 02:03:10.623168 Identifying ourselves as friends 02:03:10.623236 Response sent (56 bytes) and written to log/12/server.response 02:03:10.623248 special request received, no persistency 02:03:10.623257 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1253 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1253 ==141360== ==141360== Process terminating with default action of signal 4 (SIGILL) ==141360== Illegal opcode at address 0x10B08D ==141360== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141360== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1253 setenv http_pCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1252 ../src/curl -q --output log/1/curl1252.out --include --trace-ascii log/1/trace1252 --trace-config all --trace-time http://127.0.0.1:34215/1252 --proxy http://127.0.0.1:34215 --noproxy 127.0.0.1 > log/1/stdout1252 2> log/1/stderr1252 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1254 ../src/curl -q --output log/3/curl1254.out --include --trace-ascii log/3/trace1254 --trace-config all --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:34527 --noproxy "" > log/3/stdout1254 2> log/3/stderr1254 CMD (0): ../src/curl --max-time 13 --output log/7/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:35083/verifiedserver" 2>log/7/http_ipv6_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1255 ../src/curl -q --output log/11/curl1255.out --include --trace-ascii log/11/trace1255 --trace-config all --trace-time http://127.0.0.1:44137/1255 --noproxy 127.0.0.1 > log/11/stdout1255 2> log/11/stderr1255 roxy = http://dummy:[not running]/ setenv NO_PROXY = 127.0.0.1 test 1251...[Access a non-proxied host with using the combination of http_proxy env var and NO_PROXY env var] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1251 ../src/curl -q --output log/5/curl1251.out --include --trace-ascii log/5/trace1251 --trace-config all --trace-time http://user:secret@127.0.0.1:33361/1251 --max-time 5 > log/5/stdout1251 2> log/5/stderr1251 1251: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1251 === Start of file http_server.log 02:03:10.615979 ====> Client connect 02:03:10.616013 accept_connection 3 returned 4 02:03:10.616030 accept_connection 3 returned 0 02:03:10.616044 Read 93 bytes 02:03:10.616055 Process 93 bytes request 02:03:10.616069 Got request: GET /verifiedserver HTTP/1.1 02:03:10.616079 Are-we-friendly question received 02:03:10.616102 Wrote request (93 bytes) input to log/5/server.input 02:03:10.616119 Identifying ourselves as friends 02:03:10.616190 Response sent (56 bytes) and written to log/5/server.response 02:03:10.616200 special request received, no persistency 02:03:10.616210 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1251 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1251 ==141353== ==141353== Process terminating with default action of signal 4 (SIGILL) ==141353== Illegal opcode at address 0x10B08D ==141353== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141353== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1251 setenv NO_PROXY = example.com test 1252...[Under condition using --proxy, override NO_PROXY by --nproxy and access target URL directly] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1252 ../src/curl -q --output log/1/curl1252.out --include --trace-ascii log/1/trace1252 --trace-config all --trace-time http://127.0.0.1:34215/1252 --proxy http://127.0.0.1:34215 --noproxy 127.0.0.1 > log/1/stdout1252 2> log/1/stderr1252 1252: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1252 === Start of file http_server.log 02:03:10.622584 ====> Client connect 02:03:10.622617 accept_connection 3 returned 4 02:03:10.622634 accept_connection 3 returned 0 02:03:10.622648 Read 93 bytes 02:03:10.622659 Process 93 bytes request 02:03:10.622673 Got request: GET /verifiedserver HTTP/1.1 02:03:10.622684 Are-we-friendly question received 02:03:10.622706 Wrote request (93 bytes) input to log/1/server.input 02:03:10.622727 Identifying ourselves as friends 02:03:10.622798 Response sent (56 bytes) and written to log/1/server.response 02:03:10.622810 special request received, no persistency 02:03:10.622819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1252 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1252 ==141361== ==141361== Process terminating with default action of signal 4 (SIGILL) ==141361== Illegal opcode at address 0x10B08D ==141361== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141361== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1252 setenv NO_PROXY = example.com test 1254...[override NO_PROXY by --noproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1254 ../src/curl -q --output log/3/curl1254.out --include --trace-ascii log/3/trace1254 --trace-config all --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:34527 --noproxy "" > log/3/stdout1254 2> log/3/stderr1254 1254: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1254 === Start of file http_server.log 02:03:10.728013 ====> Client connect 02:03:10.728045 accept_connection 3 returned 4 02:03:10.728062 accept_connection 3 returned 0 02:03:10.728077 Read 93 bytes 02:03:10.728088 Process 93 bytes request 02:03:10.728102 Got request: GET /verifiedserver HTTP/1.1 02:03:10.728113 Are-we-friendly question received 02:03:10.728138 Wrote request (93 bytes) input to log/3/server.input 02:03:10.728157 Identifying ourselves as friends 02:03:10.728227 Response sent (56 bytes) and written to log/3/server.response 02:03:10.728239 special request received, no persistency 02:03:10.728249 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1254 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1254 ==141517== ==141517== Process terminating with default action of signal 4 (SIGILL) ==141517== Illegal opcode at address 0x10B08D ==141517== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141517== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1254 setenv http_proxy = http://127.0.0.1:44137 setenv NO_PROXY = example.com test 1255...[Under condition using http_proxy, override NO_PROXY by --nproxy and access target URL directly] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1255 ../src/curl -q --output log/11/curl1255.out --include --trace-ascii log/11/trace1255 --trace-config all --trace-time http://127.0.0.1:44137/1255 --noproxy 127.0.0.1 > log/11/stdout1255 2> log/11/stderr1255 1255: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1255 === Start of file http_server.log 02:03:10.862877 ====> Client connect 02:03:10.862906 accept_connection 3 returned 4 02:03:10.862923 accept_connection 3 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1256 ../src/curl -q --output log/9/curl1256.out --include --trace-ascii log/9/trace1256 --trace-config all --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/9/stdout1256 2> log/9/stderr1256 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1259 ../src/curl -q --output log/6/curl1259.out --include --trace-ascii log/6/trace1259 --trace-config all --trace-time "http://user:pass;word@127.0.0.1:39457/we/want/1259" > log/6/stdout1259 2> log/6/stderr1259 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1260 ../src/curl -q --output log/4/curl1260.out --include --trace-ascii log/4/trace1260 --trace-config all --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/4/stdout1260 2> log/4/stderr1260 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1258 ../src/curl -q --output log/8/curl1258.out --include --trace-ascii log/8/trace1258 --trace-config all --trace-time http://127.0.0.1:43803/we/want/1258 http://127.0.0.1:43803/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/8/stdout1258 2> log/8/stderr1258 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1257 ../src/curl -q --output log/10/curl1257.out --include --trace-ascii log/10/trace1257 --trace-config all --trace-time http://somewhere.example.com/1257 --noproxy "" > log/10/stdout1257 2> log/10/stderr1257 returned 0 02:03:10.862937 Read 93 bytes 02:03:10.862947 Process 93 bytes request 02:03:10.862962 Got request: GET /verifiedserver HTTP/1.1 02:03:10.862972 Are-we-friendly question received 02:03:10.862998 Wrote request (93 bytes) input to log/11/server.input 02:03:10.863015 Identifying ourselves as friends 02:03:10.863079 Response sent (56 bytes) and written to log/11/server.response 02:03:10.863090 special request received, no persistency 02:03:10.863100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1255 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1255 ==141600== ==141600== Process terminating with default action of signal 4 (SIGILL) ==141600== Illegal opcode at address 0x10B08D ==141600== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141600== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1255 setenv http_proxy = http://127.0.0.1:38509 setenv NO_PROXY = example.com test 1256...[Under condition using http_proxy, override NO_PROXY by --nproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1256 ../src/curl -q --output log/9/curl1256.out --include --trace-ascii log/9/trace1256 --trace-config all --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/9/stdout1256 2> log/9/stderr1256 1256: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1256 === Start of file http_server.log 02:03:10.869597 ====> Client connect 02:03:10.869627 accept_connection 3 returned 4 02:03:10.869644 accept_connection 3 returned 0 02:03:10.869656 Read 93 bytes 02:03:10.869666 Process 93 bytes request 02:03:10.869679 Got request: GET /verifiedserver HTTP/1.1 02:03:10.869688 Are-we-friendly question received 02:03:10.869712 Wrote request (93 bytes) input to log/9/server.input 02:03:10.869728 Identifying ourselves as friends 02:03:10.869791 Response sent (56 bytes) and written to log/9/server.response 02:03:10.869803 special request received, no persistency 02:03:10.869812 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1256 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1256 ==141611== ==141611== Process terminating with default action of signal 4 (SIGILL) ==141611== Illegal opcode at address 0x10B08D ==141611== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141611== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1256 * starts no server test 1260...[HTTP URL with rubbish after port number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1260 ../src/curl -q --output log/4/curl1260.out --include --trace-ascii log/4/trace1260 --trace-config all --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/4/stdout1260 2> log/4/stderr1260 curl returned 132, when expecting 3 1260: exit FAILED == Contents of files in the log/4/ dir after test 1260 === Start of file server.cmd Testnum 1260 === End of file server.cmd === Start of file valgrind1260 ==141703== ==141703== Process terminating with default action of signal 4 (SIGILL) ==141703== Illegal opcode at address 0x10B08D ==141703== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141703== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1260 test 1259...[HTTP URL with semicolon in password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1259 ../src/curl -q --output log/6/curl1259.out --include --trace-ascii log/6/trace1259 --trace-config all --trace-time "http://user:pass;word@127.0.0.1:39457/we/want/1259" > log/6/stdout1259 2> log/6/stderr1259 1259: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1259 === Start of file http_server.log 02:03:10.908744 ====> Client connect 02:03:10.908771 accept_connection 3 returned 4 02:03:10.908788 accept_connection 3 returned 0 02:03:10.908801 Read 93 bytes 02:03:10.908812 Process 93 bytes request 02:03:10.908824 Got request: GET /verifiedserver HTTP/1.1 02:03:10.908833 Are-we-friendly question received 02:03:10.908855 Wrote request (93 bytes) input to log/6/server.input 02:03:10.908872 Identifying ourselves as friends 02:03:10.908935 Response sent (56 bytes) and written to log/6/server.response 02:03:10.908946 special request received, no persistency 02:03:10.908955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1259 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1259 ==141773== ==141773== Process terminating with default action of signal 4 (SIGILL) ==141773== Illegal opcode at address 0x10B08D ==141773== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141773== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1259 test 1258...[HTTP, use cookies with localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1258 ../src/curl -q --output log/8/curl1258.out --include --trace-ascii log/8/trace1258 --trace-config all --trace-time http://127.0.0.1:43803/we/want/1258 http://127.0.0.1:43803/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/8/stdout1258 2> log/8/stderr1258 1258: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1258 === Start of file http_server.log 02:03:10.908119 ====> Client connect 02:03:10.908150 accept_connection 3 returned 4 02:03:10.908167 accept_connection 3 returned 0 02:03:1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1263 ../src/curl -q --output log/1/curl1263.out --include --trace-ascii log/1/trace1263 --trace-config all --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/1/stdout1263 2> log/1/stderr1263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1261 ../src/curl -q --include --trace-ascii log/12/trace1261 --trace-config all --trace-time http://127.0.0.1:40653/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/12/stdout1261 2> log/12/stderr1261 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1262 ../src/curl -q --output log/5/curl1262.out --include --trace-ascii log/5/trace1262 --trace-config all --trace-time ftp://127.0.0.1:36485/blalbla/1262 -z "-1 jan 2001" > log/5/stdout1262 2> log/5/stderr1262 0.908181 Read 93 bytes 02:03:10.908191 Process 93 bytes request 02:03:10.908204 Got request: GET /verifiedserver HTTP/1.1 02:03:10.908214 Are-we-friendly question received 02:03:10.908236 Wrote request (93 bytes) input to log/8/server.input 02:03:10.908256 Identifying ourselves as friends 02:03:10.908319 Response sent (56 bytes) and written to log/8/server.response 02:03:10.908329 special request received, no persistency 02:03:10.908339 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1258 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1258 ==141772== ==141772== Process terminating with default action of signal 4 (SIGILL) ==141772== Illegal opcode at address 0x10B08D ==141772== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141772== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1258 setenv http_proxy = http://127.0.0.1:42929 setenv NO_PROXY = example.com test 1257...[Under condition using http_proxy, override NO_PROXY by --nproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1257 ../src/curl -q --output log/10/curl1257.out --include --trace-ascii log/10/trace1257 --trace-config all --trace-time http://somewhere.example.com/1257 --noproxy "" > log/10/stdout1257 2> log/10/stderr1257 1257: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1257 === Start of file http_server.log 02:03:10.899774 ====> Client connect 02:03:10.899806 accept_connection 3 returned 4 02:03:10.899822 accept_connection 3 returned 0 02:03:10.899836 Read 93 bytes 02:03:10.899846 Process 93 bytes request 02:03:10.899861 Got request: GET /verifiedserver HTTP/1.1 02:03:10.899871 Are-we-friendly question received 02:03:10.899893 Wrote request (93 bytes) input to log/10/server.input 02:03:10.899910 Identifying ourselves as friends 02:03:10.899974 Response sent (56 bytes) and written to log/10/server.response 02:03:10.899985 special request received, no persistency 02:03:10.899995 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1257 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1257 ==141735== ==141735== Process terminating with default action of signal 4 (SIGILL) ==141735== Illegal opcode at address 0x10B08D ==141735== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141735== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1257 * starts no server test 1263...[HTTP URL with rubbish after IPv6 bracket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1263 ../src/curl -q --output log/1/curl1263.out --include --trace-ascii log/1/trace1263 --trace-config all --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/1/stdout1263 2> log/1/stderr1263 curl returned 132, when expecting 3 1263: exit FAILED == Contents of files in the log/1/ dir after test 1263 === Start of file server.cmd Testnum 1263 === End of file server.cmd === Start of file valgrind1263 ==141971== ==141971== Process terminating with default action of signal 4 (SIGILL) ==141971== Illegal opcode at address 0x10B08D ==141971== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==141971== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1263 test 1261...['redirect_url' with --location and --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1261 ../src/curl -q --include --trace-ascii log/12/trace1261 --trace-config all --trace-time http://127.0.0.1:40653/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/12/stdout1261 2> log/12/stderr1261 1261: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:11.563425989 +0000 +++ log/12/check-generated 2024-12-15 02:03:11.563425989 +0000 @@ -1,6 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10290002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -http://127.0.0.1:40653/we/want/our/data/10290002.txt?coolsite=yes[LF] == Contents of files in the log/12/ dir after test 1261 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10290002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] http://127.0.0.1:40653/we/want/our/data/10290002.txt?coolsite=yes[LF] === End of file check-expected === Start of file http_server.log 02:03:11.190593 ====> Client connect 02:03:11.190626 accept_connection 3 returned 4 02:03:11.190642 accept_connection 3 returned 0 02:03:11.190656 Read 93 bytes 02:03:11.190666 Process 93 bytes request 02:03:11.190680 Got request: GET /verifiedserver HTTP/1.1 02:03:11.190690 Are-we-friendly question received 02:03:11.190712 Wrote request (93 bytes) input to log/12/server.input 02:03:11.190729 Identifying ourselves as friends 02:03:11.190794 Response sent (56 bytes) and written to log/12/server.response 02:03:11.190805 special request received, no persistency 02:03:11.190814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1261 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1261 ==142003== ==142003== Process terminating with default action of signal 4 (SIGILL) ==142003== Illegal opcode at address 0x10B08D ==142003== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142003== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1261 test 1262...[FTP request and denied to download an older file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1262 ../src/curl -q --output log/5/curl1262.out --include --trace-ascii log/5/trace1262 --trace-config all --trace-time ftp://127.0.0.1:36485/blalbla/1262 -z "-1 jan 2001" > log/5/stdout1262 2> log/5/stderr1262 1262: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1262 === Start of file ftp_server.log 02:03:10.990586 ====> Client connect 02:03:10.990748 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:10.991040 < "USER anonymous" 02:03:10.991079 > "331 We are happy you popped in![CR][LF]" 02:03:10.991256 < "PASS ftp@example.com" 02:03:10.991284 > "230 Welcome you silly person[CR][LF]" 02:03:10.991436 < "PWD" 02:03:10.991466 > "257 "/" is current directory[CR][LF]" 02:03:10.991622 < "EPSV" 02:03:10.991645 ====> Passive DATA channel requested by client 02:03:10.991658 DATA sockfilt for passive data channel starting... 02:03:10.993076 DATA sockfilt for passive data channel started (pid 141990) 02:03:10.993171 DATA sockfilt for passive data channel listens on port 34201 02:03:10.993204 > "229 Entering Passive Mode (|||34201|)[LF]" 02:03:10.993220 Client has been notified that DATA conn will be accepted on port 34201 02:03:10.993614 Client connects to port 34201 02:03:10.993640 ====> Client established passive DATA connection on port 34201 02:03:10.993698 < "TYPE I" 02:03:10.993724 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:10.993877 < "SIZE verifiedserver" 02:03:10.993909 > "213 17[CR][LF]" 02:03:10.994052 < "RETR verifiedserver" 02:03:10.994083 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:10.994156 =====> Closing passive DATA connection... 02:03:10.994170 Server disconnects passive DATA connection 02:03:10.994389 Server disconnected passive DATA connection 02:03:10.994415 DATA sockfilt for passive data channel quits (pid 141990) 02:03:10.994590 DATA sockfilt for passive data channel quit (pid 141990) 02:03:10.994612 =====> Closed passive DATA connection 02:03:10.994637 > "226 File transfer complete[CR][LF]" 02:03:11.035334 < "QUIT" 02:03:11.035381 > "221 bye bye baby[CR][LF]" 02:03:11.035591 MAIN sockfilt said DISC 02:03:11.035622 ====> Client disconnected 02:03:11.035693 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:10.190626 ====> Client connect 02:03:10.190900 Received DATA (on stdin) 02:03:10.190917 > 160 bytes data, server => client 02:03:10.190930 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:10.190943 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:10.190954 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:10.191033 < 16 bytes data, client => server 02:03:10.191048 'USER anonymous\r\n' 02:03:10.191223 Received DATA (on stdin) 02:03:10.191236 > 33 bytes data, server => client 02:03:10.191248 '331 We are happy you popped in!\r\n' 02:03:10.191304 < 22 bytes data, client => server 02:03:10.191316 'PASS ftp@example.com\r\n' 02:03:10.191424 Received DATA (on stdin) 02:03:10.191435 > 30 bytes data, server => client 02:03:10.191446 '230 Welcome you silly person\r\n' 02:03:10.191495 < 5 bytes data, client => server 02:03:10.191507 'PWD\r\n' 02:03:10.191604 Received DATA (on stdin) 02:03:10.191616 > 30 bytes data, server => client 02:03:10.191627 '257 "/" is current directory\r\n' 02:03:10.191683 < 6 bytes data, client => server 02:03:10.191695 'EPSV\r\n' 02:03:10.193364 Received DATA (on stdin) 02:03:10.193377 > 38 bytes data, server => client 02:03:10.193389 '229 Entering Passive Mode (|||34201|)\n' 02:03:10.193671 < 8 bytes data, client => server 02:03:10.193689 'TYPE I\r\n' 02:03:10.193863 Received DATA (on stdin) 02:03:10.193874 > 33 bytes data, server => client 02:03:10.193886 '200 I modify TYPE as you wanted\r\n' 02:03:10.193938 < 21 bytes data, client => server 02:03:10.193950 'SIZE verifiedserver\r\n' 02:03:10.194047 Received DATA (on stdin) 02:03:10.194058 > 8 bytes data, server => client 02:03:10.194068 '213 17\r\n' 02:03:10.194116 < 21 bytes data, client => server 02:03:10.194128 'RETR verifiedserver\r\n' 02:03:10.194311 Received DATA (on stdin) 02:03:10.194322 > 29 bytes data, server => client 02:03:10.194334 '150 Binary junk (17 bytes).\r\n' 02:03:10.194777 Received DATA (on stdin) 02:03:10.194790 > 28 bytes data, server => client 02:03:10.194805 '226 File transfer complete\r\n' 02:03:10.235291 < 6 bytes data, client => server 02:03:10.235322 'QUIT\r\n' 02:03:10.235524 Received DATA (on stdin) 02:03:10.235537 > 18 bytes data, server => client 02:03:10.235548 '221 bye bye baby\r\n' 02:03:10.235676 ====> Client disconnect 02:03:10.235833 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:10.193026 RunCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1264 ../src/curl -q --output log/3/curl1264.out --include --trace-ascii log/3/trace1264 --trace-config all --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/3/stdout1264 2> log/3/stderr1264 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1230 ../src/curl -q --output log/7/curl1230.out --include --trace-ascii log/7/trace1230 --trace-config all --trace-time http://[1234:1234:1234::4ce]:43753/wanted/page/1230 -p -x 127.0.0.1:43753 > log/7/stdout1230 2> log/7/stderr1230 ning IPv4 version 02:03:10.193077 Listening on port 34201 02:03:10.193114 Wrote pid 141990 to log/5/server/ftp_sockdata.pid 02:03:10.193154 Received PING (on stdin) 02:03:10.193233 Received PORT (on stdin) 02:03:10.193708 ====> Client connect 02:03:10.194361 Received DATA (on stdin) 02:03:10.194374 > 17 bytes data, server => client 02:03:10.194387 'WE ROOLZ: 80534\r\n' 02:03:10.194413 Received DISC (on stdin) 02:03:10.194426 ====> Client forcibly disconnected 02:03:10.194560 Received QUIT (on stdin) 02:03:10.194572 quits 02:03:10.194616 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1262 === End of file server.cmd === Start of file valgrind1262 ==142076== ==142076== Process terminating with default action of signal 4 (SIGILL) ==142076== Illegal opcode at address 0x10B08D ==142076== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142076== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1262 * starts no server test 1264...[HTTP URL with space in host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1264 ../src/curl -q --output log/3/curl1264.out --include --trace-ascii log/3/trace1264 --trace-config all --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/3/stdout1264 2> log/3/stderr1264 curl returned 132, when expecting 3 1264: exit FAILED == Contents of files in the log/3/ dir after test 1264 === Start of file server.cmd Testnum 1264 === End of file server.cmd === Start of file valgrind1264 ==142143== ==142143== Process terminating with default action of signal 4 (SIGILL) ==142143== Illegal opcode at address 0x10B08D ==142143== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142143== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1264 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/7/server/http2_server.pid" --logfile "log/7/http2_server.log" --logdir "log/7" --portfile log/7/server/http2_server.port --config log/7/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/7/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:44391/verifiedserver" 2>log/7/http2_verify.log RUN: HTTP2 server is on PID 140003 port 44391 * pid http-proxy => 140003 140003 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/7/server/http_ipv6_server.pid" --logfile "log/7/http_ipv6_server.log" --logdir "log/7" --portfile log/7/server/http_ipv6_server.port --config log/7/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/7/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:35083/verifiedserver" 2>log/7/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 141049 port 35083 * pid http-ipv6 => 141049 141049 test 1230...[HTTP CONNECT to IPv6 numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1230 ../src/curl -q --output log/7/curl1230.out --include --trace-ascii log/7/trace1230 --trace-config all --trace-time http://[1234:1234:1234::4ce]:43753/wanted/page/1230 -p -x 127.0.0.1:43753 > log/7/stdout1230 2> log/7/stderr1230 1230: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1230 === Start of file http2_server.log 02:03:09.331154 Run as proxy, CONNECT to host 127.0.0.1 02:03:09.331260 Running HTTP IPv4 version on port 44391 02:03:09.331296 Wrote pid 140003 to log/7/server/http2_server.pid 02:03:09.331327 Wrote port 44391 to log/7/server/http2_server.port 02:03:10.338472 ====> Client connect 02:03:10.338705 accept_connection 3 returned 4 02:03:10.338720 accept_connection 3 returned 0 02:03:10.338733 Read 93 bytes 02:03:10.338746 Process 93 bytes request 02:03:10.338762 Got request: GET /verifiedserver HTTP/1.1 02:03:10.338771 Are-we-friendly question received 02:03:10.338797 Wrote request (93 bytes) input to log/7/proxy.input 02:03:10.338816 Identifying ourselves as friends 02:03:10.338893 Response sent (57 bytes) and written to log/7/proxy.response 02:03:10.338905 special request received, no persistency 02:03:10.338914 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44391... * Connected to 127.0.0.1 (127.0.0.1) port 44391 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44391 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 140003 === End of file http2_verify.out === Start of file http_ipv6_server.log 02:03:10.356843 Running HTTP IPv6 version on port 35083 02:03:10.356941 Wrote pid 141049 to log/7/server/http_ipv6_server.pid 02:03:10.356986 Wrote port 35083 to log/7/server/http_ipv6_server.port 02:03:11.369847 ====> Client connect 02:03:11.369866 accept_connection 3 returned 4 02:03:11.369879 accept_connection 3 returned 0 02:03:11.369892 Read 89 bytes 02:03:11.369905 Process 89 bytes request 02:03:11.369922 Got request: GET /verifiedserver HTTP/1.1 02:03:11.369931 Are-we-friendly question received 02:03:11.369956 Wrote request (89 bytes) input to log/7/server.input 02:03:11.369975 Identifying ourselves as friends 02:03:11.370029 Response sent (57 bytes) and written to log/7/server.response 02:03:11.370039 special request received, no persistency 02:03:11.370048 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:35083... * Connected to ::1 (::1) port 35083 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:35083 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 141049 === End of file http_ipv6_verify.out === Start of file http_server.log 02:03:11.391547 ====> Client connect 02:03:11.391586 accept_connection 3 returned 4 02:03:11.391604 accept_connection 3 returned 0 02:03:11.391620 Read 93 bytes 02:03:11.391631 Process 93 bytes request 02:03:11.391647 Got request: GET /verifiedserver HTTP/1.1 02:03:11.391657 Are-we-friendly question received 02:03:11.391671 Wrote request (93 bytes) input to log/7/server.input 02:03:11.391687 Identifying ourselves as friends 02:03:11.391750 Response sent (56 bytes) and written to log/7/server.response 02:03:11.391763 special request received, no persistency 02:03:11.391772 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 140003 === End of file proxy.response === Start of file server.cmd Testnum 1230 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 141049 HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1230 ==142206== ==142206== ProceCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/3/stdout1275 2> log/3/stderr1275 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/7/stdout1276 2> log/7/stderr1276 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1269 ../src/curl -q --output log/8/curl1269.out --include --trace-ascii log/8/trace1269 --trace-config all --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/8/stdout1269 2> log/8/stderr1269 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1267 ../src/curl -q --output log/6/curl1267.out --include --trace-ascii log/6/trace1267 --trace-config all --trace-time http://127.0.0.1:39457/1267 --http0.9 > log/6/stdout1267 2> log/6/stderr1267 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1268 ../src/curl -q --output log/10/curl1268.out --include --trace-ascii log/10/trace1268 --trace-config all --trace-time --stderr log/10/moo1268 --unix-socket -k hej://moo > log/10/stdout1268 2> log/10/stderr1268 ss terminating with default action of signal 4 (SIGILL) ==142206== Illegal opcode at address 0x10B08D ==142206== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142206== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1230 * starts no server test 1275...[Verify capital letters after period in markdown files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/3/stdout1275 2> log/3/stderr1275 valgrind SKIPPED -------e--- OK (1150 out of 1584, remaining: 00:46, took 0.016s, duration: 02:03) * starts no server test 1276...[Verify lib/optiontable.pl] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/7/stdout1276 2> log/7/stderr1276 valgrind SKIPPED -------e--- OK (1151 out of 1584, remaining: 00:46, took 0.019s, duration: 02:03) * starts no server test 1269...[too large --retry-delay value] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1269 ../src/curl -q --output log/8/curl1269.out --include --trace-ascii log/8/trace1269 --trace-config all --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/8/stdout1269 2> log/8/stderr1269 curl returned 132, when expecting 2 1269: exit FAILED == Contents of files in the log/8/ dir after test 1269 === Start of file server.cmd Testnum 1269 === End of file server.cmd === Start of file valgrind1269 ==142287== ==142287== Process terminating with default action of signal 4 (SIGILL) ==142287== Illegal opcode at address 0x10B08D ==142287== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142287== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1269 test 1267...[HTTP GET with a invalid HTTP/1 response line start] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1267 ../src/curl -q --output log/6/curl1267.out --include --trace-ascii log/6/trace1267 --trace-config all --trace-time http://127.0.0.1:39457/1267 --http0.9 > log/6/stdout1267 2> log/6/stderr1267 1267: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1267 === Start of file http_server.log 02:03:11.513047 ====> Client connect 02:03:11.513076 accept_connection 3 returned 4 02:03:11.513093 accept_connection 3 returned 0 02:03:11.513107 Read 93 bytes 02:03:11.513117 Process 93 bytes request 02:03:11.513130 Got request: GET /verifiedserver HTTP/1.1 02:03:11.513139 Are-we-friendly question received 02:03:11.513160 Wrote request (93 bytes) input to log/6/server.input 02:03:11.513176 Identifying ourselves as friends 02:03:11.513236 Response sent (56 bytes) and written to log/6/server.response 02:03:11.513246 special request received, no persistency 02:03:11.513253 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1267 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1267 ==142384== ==142384== Process terminating with default action of signal 4 (SIGILL) ==142384== Illegal opcode at address 0x10B08D ==142384== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142384== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1267 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/8/stdout1279 2> log/8/stderr1279 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1270 ../src/curl -q --include --trace-ascii log/4/trace1270 --trace-config all --trace-time http://127.0.0.1:36813/we/want/our/1270 -w '%{redirect_url}\n' -s > log/4/stdout1270 2> log/4/stderr1270 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1266 ../src/curl -q --output log/9/curl1266.out --include --trace-ascii log/9/trace1266 --trace-config all --trace-time http://127.0.0.1:38509/1266 --http0.9 > log/9/stdout1266 2> log/9/stderr1266 * starts no server test 1268...[filename argument looks like a flag] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1268 ../src/curl -q --output log/10/curl1268.out --include --trace-ascii log/10/trace1268 --trace-config all --trace-time --stderr log/10/moo1268 --unix-socket -k hej://moo > log/10/stdout1268 2> log/10/stderr1268 1268: output (log/10/moo1268) FAILED: --- log/10/check-expected 2024-12-15 02:03:11.896765255 +0000 +++ log/10/check-generated 2024-12-15 02:03:11.896765255 +0000 @@ -1,2 +0,0 @@ -Warning: The filename argument '-k' looks like a flag.[CR][LF] -curl: (1) Protocol "hej" not supported[CR][LF] == Contents of files in the log/10/ dir after test 1268 === Start of file check-expected Warning: The filename argument '-k' looks like a flag.[CR][LF] curl: (1) Protocol "hej" not supported[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 1268 === End of file server.cmd === Start of file valgrind1268 ==142285== ==142285== Process terminating with default action of signal 4 (SIGILL) ==142285== Illegal opcode at address 0x10B08D ==142285== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142285== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1268 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1271 ../src/curl -q --output log/1/curl1271.out --include --trace-ascii log/1/trace1271 --trace-config all --trace-time http://127.0.0.1:34215/we/want/our/1271 -w @log/1/blank1271 > log/1/stdout1271 2> log/1/stderr1271 test 1270...[Basic 'redirect_url'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1270 ../src/curl -q --include --trace-ascii log/4/trace1270 --trace-config all --trace-time http://127.0.0.1:36813/we/want/our/1270 -w '%{redirect_url}\n' -s > log/4/stdout1270 2> log/4/stderr1270 1270: stdout FAILED: --- log/4/check-expected 2024-12-15 02:03:11.903432040 +0000 +++ log/4/check-generated 2024-12-15 02:03:11.903432040 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 302 Captive Portal[CR][LF] -Server: ohlala/2000[CR][LF] -Date: Tue, 17 Dec 2019 13:08:30 GMT[CR][LF] -Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0[CR][LF] -Location: https://moo.moo.moo[CR][LF] -Content-Type: text/html; charset=utf-8[CR][LF] -X-Frame-Options: SAMEORIGIN[CR][LF] -Strict-Transport-Security: max-age=604800[CR][LF] -Content-Length: 0[CR][LF] -Connection: close[CR][LF] -[CR][LF] -https://moo.moo.moo/[LF] == Contents of files in the log/4/ dir after test 1270 === Start of file check-expected HTTP/1.1 302 Captive Portal[CR][LF] Server: ohlala/2000[CR][LF] Date: Tue, 17 Dec 2019 13:08:30 GMT[CR][LF] Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0[CR][LF] Location: https://moo.moo.moo[CR][LF] Content-Type: text/html; charset=utf-8[CR][LF] X-Frame-Options: SAMEORIGIN[CR][LF] Strict-Transport-Security: max-age=604800[CR][LF] Content-Length: 0[CR][LF] Connection: close[CR][LF] [CR][LF] https://moo.moo.moo/[LF] === End of file check-expected === Start of file http_server.log 02:03:11.508277 ====> Client connect 02:03:11.508309 accept_connection 3 returned 4 02:03:11.508327 accept_connection 3 returned 0 02:03:11.508342 Read 93 bytes 02:03:11.508354 Process 93 bytes request 02:03:11.508367 Got request: GET /verifiedserver HTTP/1.1 02:03:11.508377 Are-we-friendly question received 02:03:11.508401 Wrote request (93 bytes) input to log/4/server.input 02:03:11.508420 Identifying ourselves as friends 02:03:11.508504 Response sent (56 bytes) and written to log/4/server.response 02:03:11.508518 special request received, no persistency 02:03:11.508528 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1270 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1270 ==142368== ==142368== Process terminating with default action of signal 4 (SIGILL) ==142368== Illegal opcode at address 0x10B08D ==142368== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142368== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1270 * starts no server test 1279...[Verify libcurl.def against CURL_EXTERN declarations] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/8/stdout1279 2> log/8/stderr1279 valgrind SKIPPED s------e--- OK (1154 out of 1584, remaining: 00:46, took 0.026s, duration: 02:03) test 1266...[HTTP GET with a single-byte HTTP/0.9 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1266 ../src/curl -q --output log/9/curl1266.out --include --trace-ascii log/9/trace1266 --trace-config all --trace-time http://127.0.0.1:38509/1266 --http0.9 > log/9/stdout1266 2> log/9/stderr1266 1266: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1266 === Start of file http_server.log 02:03:11.500543 ====> Client connect 02:03:11.500576 accept_connection 3 returned 4 02:03:11.500592 accept_connection 3 returned 0 02:03:11.500607 Read 93 bytes 02:03:11.500618 Process 93 bytes request 02:03:11.500633 Got request: GET /verifiedserver HTTP/1.1 02:03:11.500643 Are-we-friendly question received 02:03:11.500667 Wrote request (93 bytes) input to log/9/server.input 02:03:11.500684 Identifying ourselves as friends 02:03:11.500749 Response sent (56 bytes) and written to log/9/server.response 02:03:11.500760 special request received, no persistency 02:03:11.500769 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1266 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1266 ==142339== ==142339== Process terminating with default action of signal 4 (SIGILL) ==142339== Illegal opcode at address 0x10B08D ==142339== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142339== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1266 test 1271...[--write-out from file with empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1271 ../src/curl -q --output log/1/curl1271.out --include --trace-ascii log/1/trace1271 --trace-config all --trace-time http://127.0.0.1:34215/we/want/our/1271 -w @log/1/blank1271 > log/1/stdout1271 2> log/1/stderr1271 1271: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1271 === Start of file http_server.log 02:03:11.777232 ====> Client connect 02:03:11.777264 accept_connection 3 returned 4 02:03:11.777281 accept_connection 3 returned 0 02:03:11.777295 Read 93 bytes 02:03:11.777306 Process 93 bytes request 02:03:11.777321 Got request: GET /verifiedserver HTTP/1.1 02:03:11.777331 Are-we-friendly question received 02:03:11.777360 Wrote request (93 bytes) input to log/1/server.input 02:03:11.777377 Identifying ourselves as friends 02:03:11.777439 Response sent (56 bytes) and written to log/1/server.response 02:03:11.777450 special request received, no persistency 02:03:11.777460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1271 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1271 ==142591== ==142591== Process terminating with default action of signal 4 (SIGILL) ==142591== Illegal opcode at address 0x10B08D ==142591== at 0x10B08D: UnknownInlinedFun CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1273 ../src/curl -q --output log/5/curl1273.out --include --trace-ascii log/5/trace1273 --trace-config all --trace-time http://127.0.0.1:33361/1273 -C - -f > log/5/stdout1273 2> log/5/stderr1273 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1274 ../src/curl -q --output log/12/curl1274.out --include --trace-ascii log/12/trace1274 --trace-config all --trace-time http://127.0.0.1:40653/1274 -D log/12/out1274 > log/12/stdout1274 2> log/12/stderr1274 RUN: Process with pid 74124 signalled to die RUN: Process with pid 74124 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1277 ../src/curl -q --output log/3/curl1277.out --include --trace-ascii log/3/trace1277 --trace-config all --trace-time http://127.0.0.1:34527/1277 --tr-encoding --compressed > log/3/stdout1277 2> log/3/stderr1277 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1278 ../src/curl -q --include --trace-ascii log/7/trace1278 --trace-config all --trace-time http://127.0.0.1:43753/1278 --no-progress-meter -o log/7/out1278 --no-remote-name -w '%{stderr}yes\n' > log/7/stdout1278 2> log/7/stderr1278 (string_fortified.h:59) ==142591== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1271 test 1274...[HTTP header line folding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1274 ../src/curl -q --output log/12/curl1274.out --include --trace-ascii log/12/trace1274 --trace-config all --trace-time http://127.0.0.1:40653/1274 -D log/12/out1274 > log/12/stdout1274 2> log/12/stderr1274 1274: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1274 === Start of file http_server.log 02:03:11.800989 ====> Client connect 02:03:11.801025 accept_connection 3 returned 4 02:03:11.801041 accept_connection 3 returned 0 02:03:11.801054 Read 93 bytes 02:03:11.801064 Process 93 bytes request 02:03:11.801079 Got request: GET /verifiedserver HTTP/1.1 02:03:11.801088 Are-we-friendly question received 02:03:11.801112 Wrote request (93 bytes) input to log/12/server.input 02:03:11.801129 Identifying ourselves as friends 02:03:11.801192 Response sent (56 bytes) and written to log/12/server.response 02:03:11.801202 special request received, no persistency 02:03:11.801211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1274 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1274 ==142625== ==142625== Process terminating with default action of signal 4 (SIGILL) ==142625== Illegal opcode at address 0x10B08D ==142625== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142625== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1274 test 1273...[-f and resume transfer of an entirely-downloaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1273 ../src/curl -q --output log/5/curl1273.out --include --trace-ascii log/5/trace1273 --trace-config all --trace-time http://127.0.0.1:33361/1273 -C - -f > log/5/stdout1273 2> log/5/stderr1273 1273: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1273 === Start of file curl1273.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1273.out === Start of file http_server.log 02:03:11.801878 ====> Client connect 02:03:11.801908 accept_connection 3 returned 4 02:03:11.801924 accept_connection 3 returned 0 02:03:11.801937 Read 93 bytes 02:03:11.801946 Process 93 bytes request 02:03:11.801958 Got request: GET /verifiedserver HTTP/1.1 02:03:11.801967 Are-we-friendly question received 02:03:11.801990 Wrote request (93 bytes) input to log/5/server.input 02:03:11.802011 Identifying ourselves as friends 02:03:11.802070 Response sent (56 bytes) and written to log/5/server.response 02:03:11.802080 special request received, no persistency 02:03:11.802089 ====> Client disconnect 0 02:03:12.327727 exit_signal_handler: 15 02:03:12.327773 signalled to die 02:03:12.327847 ========> IPv4 sws (port 33361 pid: 74124) exits with signal (15) 02:03:12.327861 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33361... * Connected to 127.0.0.1 (127.0.0.1) port 33361 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33361 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74124 === End of file http_verify.out === Start of file server.cmd Testnum 1273 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74124 === End of file server.response === Start of file valgrind1273 ==142626== ==142626== Process terminating with default action of signal 4 (SIGILL) ==142626== Illegal opcode at address 0x10B08D ==142626== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142626== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1273 test 1277...[HTTP GET with both content and transfer encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1277 ../src/curl -q --output log/3/curl1277.out --include --trace-ascii log/3/trace1277 --trace-config all --trace-time http://127.0.0.1:34527/1277 --tr-encoding --compressed > log/3/stdout1277 2> log/3/stderr1277 1277: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1277 === Start of file http_server.log 02:03:11.955636 ====> Client connect 02:03:11.955663 accept_connection 3 returned 4 02:03:11.955676 accept_connection 3 returned 0 02:03:11.955688 Read 93 bytes 02:03:11.955696 Process 93 bytes request 02:03:11.955707 Got request: GET /verifiedserver HTTP/1.1 02:03:11.955715 Are-we-friendly question received 02:03:11.955732 Wrote request (93 bytes) input to log/3/server.input 02:03:11.955745 Identifying ourselves as friends 02:03:11.955792 Response sent (56 bytes) and written to log/3/server.response 02:03:11.955800 special request received, no persistency 02:03:11.955807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1277 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1277 ==142789== ==142789== Process terminating with default action of signal 4 (SIGILL) ==142789== Illegal opcode at address 0x10B08D ==142789== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142789== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1277 CMD (0): ../src/curl --max-time 13 --output log/11/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:46047/verifiedserver" 2>log/11/http_ipv6_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1281 ../src/curl -q --output log/10/curl1281.out --include --trace-ascii log/10/trace1281 --trace-config all --trace-time http://127.0.0.1:alpha/beta/1281 > log/10/stdout1281 2> log/10/stderr1281 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1280 ../src/curl -q --output log/6/curl1280.out --include --trace-ascii log/6/trace1280 --trace-config all --trace-time http://127.0.0.1:39457/[a-d]/1280 > log/6/stdout1280 2> log/6/stderr1280 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1284 ../src/curl -q --output log/4/curl1284.out --include --trace-ascii log/4/trace1284 --trace-config all --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36813/1284 > log/4/stdout1284 2> log/4/stderr1284 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1283 ../src/curl -q --include --trace-ascii log/8/trace1283 --trace-config all --trace-time http://127.0.0.1:43803/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/8/outfile1283_#1#2#3#4.dump" > log/8/stdout1283 2> log/8/stderr1283 test 1278...[verify extra --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1278 ../src/curl -q --include --trace-ascii log/7/trace1278 --trace-config all --trace-time http://127.0.0.1:43753/1278 --no-progress-meter -o log/7/out1278 --no-remote-name -w '%{stderr}yes\n' > log/7/stdout1278 2> log/7/stderr1278 1278: stderr FAILED: --- log/7/check-expected 2024-12-15 02:03:12.280105410 +0000 +++ log/7/check-generated 2024-12-15 02:03:12.280105410 +0000 @@ -1 +0,0 @@ -yes[CR][LF] == Contents of files in the log/7/ dir after test 1278 === Start of file check-expected yes[CR][LF] === End of file check-expected === Start of file http_server.log 02:03:11.967694 ====> Client connect 02:03:11.967732 accept_connection 3 returned 4 02:03:11.967749 accept_connection 3 returned 0 02:03:11.967763 Read 93 bytes 02:03:11.967773 Process 93 bytes request 02:03:11.967787 Got request: GET /verifiedserver HTTP/1.1 02:03:11.967796 Are-we-friendly question received 02:03:11.967819 Wrote request (93 bytes) input to log/7/server.input 02:03:11.967836 Identifying ourselves as friends 02:03:11.967907 Response sent (56 bytes) and written to log/7/server.response 02:03:11.967918 special request received, no persistency 02:03:11.967927 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1278 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1278 ==142790== ==142790== Process terminating with default action of signal 4 (SIGILL) ==142790== Illegal opcode at address 0x10B08D ==142790== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142790== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1278 * starts no server test 1281...[reject non-numerical port number in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1281 ../src/curl -q --output log/10/curl1281.out --include --trace-ascii log/10/trace1281 --trace-config all --trace-time http://127.0.0.1:alpha/beta/1281 > log/10/stdout1281 2> log/10/stderr1281 curl returned 132, when expecting 3 1281: exit FAILED == Contents of files in the log/10/ dir after test 1281 === Start of file server.cmd Testnum 1281 === End of file server.cmd === Start of file valgrind1281 ==142911== ==142911== Process terminating with default action of signal 4 (SIGILL) ==142911== Illegal opcode at address 0x10B08D ==142911== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142911== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1281 test 1280...[simple [a-d] globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1280 ../src/curl -q --output log/6/curl1280.out --include --trace-ascii log/6/trace1280 --trace-config all --trace-time http://127.0.0.1:39457/[a-d]/1280 > log/6/stdout1280 2> log/6/stderr1280 1280: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1280 === Start of file http_server.log 02:03:12.117741 ====> Client connect 02:03:12.117765 accept_connection 3 returned 4 02:03:12.117780 accept_connection 3 returned 0 02:03:12.117792 Read 93 bytes 02:03:12.117801 Process 93 bytes request 02:03:12.117812 Got request: GET /verifiedserver HTTP/1.1 02:03:12.117820 Are-we-friendly question received 02:03:12.117836 Wrote request (93 bytes) input to log/6/server.input 02:03:12.117850 Identifying ourselves as friends 02:03:12.117900 Response sent (56 bytes) and written to log/6/server.response 02:03:12.117908 special request received, no persistency 02:03:12.117916 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1280 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1280 ==142964== ==142964== Process terminating with default action of signal 4 (SIGILL) ==142964== Illegal opcode at address 0x10B08D ==142964== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==142964== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1280 test 1284...[HTTP POST --digest with user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1284 ../src/curl -q --output log/4/curl1284.out --include --trace-ascii log/4/trace1284 --trace-config all --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36813/1284 > log/4/stdout1284 2> log/4/stderr1284 1284: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1284 === Start of file http_server.log 02:03:12.137306 ====> Client connect 02:03:12.137336 accept_connection 3 returned 4 02:03:12.137354 accept_connection 3 returned 0 02:03:12.137367 Read 93 bytes 02:03:12.137376 Process 93 bytes request 02:03:12.137388 Got request: GET /verifiedserver HTTP/1.1 02:03:12.137397 Are-we-friendly question received 02:03:12.137419 Wrote request (93 bytes) input to log/4/server.input 02:03:12.137435 Identifying ourselves as friends 02:03:12.137500 Response sent (56 bytes) and written to log/4/server.response 02:03:12.137511 special request received, no persistency 02:03:12.137521 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1284 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1284 ==143032== ==143032== Process terminating with default action of signal 4 (SIGILL) ==143032== Illegal opcode at address 0x10B08D ==143032== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143032== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1284 test 1283...[globbing range with same start and stop] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1282 ../src/curl -q --output log/9/curl1282.out --include --trace-ascii log/9/trace1282 --trace-config all --trace-time ftp://127.0.0.1:35301/1282 > log/9/stdout1282 2> log/9/stderr1282 es --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1283 ../src/curl -q --include --trace-ascii log/8/trace1283 --trace-config all --trace-time http://127.0.0.1:43803/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/8/outfile1283_#1#2#3#4.dump" > log/8/stdout1283 2> log/8/stderr1283 1283: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1283 === Start of file http_server.log 02:03:12.135590 ====> Client connect 02:03:12.135620 accept_connection 3 returned 4 02:03:12.135635 accept_connection 3 returned 0 02:03:12.135649 Read 93 bytes 02:03:12.135659 Process 93 bytes request 02:03:12.135673 Got request: GET /verifiedserver HTTP/1.1 02:03:12.135682 Are-we-friendly question received 02:03:12.135703 Wrote request (93 bytes) input to log/8/server.input 02:03:12.135720 Identifying ourselves as friends 02:03:12.135784 Response sent (56 bytes) and written to log/8/server.response 02:03:12.135795 special request received, no persistency 02:03:12.135804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1283 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1283 ==143013== ==143013== Process terminating with default action of signal 4 (SIGILL) ==143013== Illegal opcode at address 0x10B08D ==143013== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143013== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1283 test 1282...[FTP with 633 response before gss initialized] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1282 ../src/curl -q --output log/9/curl1282.out --include --trace-ascii log/9/trace1282 --trace-config all --trace-time ftp://127.0.0.1:35301/1282 > log/9/stdout1282 2> log/9/stderr1282 1282: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1282 === Start of file ftp_server.log 02:03:11.935513 ====> Client connect 02:03:11.935659 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:11.935890 < "USER anonymous" 02:03:11.935915 > "331 We are happy you popped in![CR][LF]" 02:03:11.936037 < "PASS ftp@example.com" 02:03:11.936055 > "230 Welcome you silly person[CR][LF]" 02:03:11.936166 < "PWD" 02:03:11.936194 > "257 "/" is current directory[CR][LF]" 02:03:11.936350 < "EPSV" 02:03:11.936372 ====> Passive DATA channel requested by client 02:03:11.936385 DATA sockfilt for passive data channel starting... 02:03:11.937706 DATA sockfilt for passive data channel started (pid 142986) 02:03:11.937801 DATA sockfilt for passive data channel listens on port 44377 02:03:11.937837 > "229 Entering Passive Mode (|||44377|)[LF]" 02:03:11.937854 Client has been notified that DATA conn will be accepted on port 44377 02:03:11.938065 Client connects to port 44377 02:03:11.938088 ====> Client established passive DATA connection on port 44377 02:03:11.938142 < "TYPE I" 02:03:11.938165 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:11.938303 < "SIZE verifiedserver" 02:03:11.938331 > "213 17[CR][LF]" 02:03:11.938489 < "RETR verifiedserver" 02:03:11.938525 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:11.938600 =====> Closing passive DATA connection... 02:03:11.938614 Server disconnects passive DATA connection 02:03:11.938748 Server disconnected passive DATA connection 02:03:11.938771 DATA sockfilt for passive data channel quits (pid 142986) 02:03:11.938932 DATA sockfilt for passive data channel quit (pid 142986) 02:03:11.938951 =====> Closed passive DATA connection 02:03:11.938973 > "226 File transfer complete[CR][LF]" 02:03:11.982016 < "QUIT" 02:03:11.982067 > "221 bye bye baby[CR][LF]" 02:03:11.982708 MAIN sockfilt said DISC 02:03:11.982737 ====> Client disconnected 02:03:11.982801 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:12.135561 ====> Client connect 02:03:12.135809 Received DATA (on stdin) 02:03:12.135823 > 160 bytes data, server => client 02:03:12.135836 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:12.135847 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:12.135858 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:12.135911 < 16 bytes data, client => server 02:03:12.135920 'USER anonymous\r\n' 02:03:12.136051 Received DATA (on stdin) 02:03:12.136060 > 33 bytes data, server => client 02:03:12.136069 '331 We are happy you popped in!\r\n' 02:03:12.136109 < 22 bytes data, client => server 02:03:12.136118 'PASS ftp@example.com\r\n' 02:03:12.136188 Received DATA (on stdin) 02:03:12.136197 > 30 bytes data, server => client 02:03:12.136205 '230 Welcome you silly person\r\n' 02:03:12.136240 < 5 bytes data, client => server 02:03:12.136249 'PWD\r\n' 02:03:12.136331 Received DATA (on stdin) 02:03:12.136342 > 30 bytes data, server => client 02:03:12.136352 '257 "/" is current directory\r\n' 02:03:12.136407 < 6 bytes data, client => server 02:03:12.136420 'EPSV\r\n' 02:03:12.137997 Received DATA (on stdin) 02:03:12.138010 > 38 bytes data, server => client 02:03:12.138021 '229 Entering Passive Mode (|||44377|)\n' 02:03:12.138129 < 8 bytes data, client => server 02:03:12.138144 'TYPE I\r\n' 02:03:12.138301 Received DATA (on stdin) 02:03:12.138312 > 33 bytes data, server => client 02:03:12.138323 '200 I modify TYPE as you wanted\r\n' 02:03:12.138370 < 21 bytes data, client => server 02:03:12.138380 'SIZE verifiedserver\r\n' 02:03:12.138466 Received DATA (on stdin) 02:03:12.138483 > 8 bytes data, server => client 02:03:12.138493 '213 17\r\n' 02:03:12.138542 < 21 bytes data, client => server 02:03:12.138556 'RETR verifiedserver\r\n' 02:03:12.138753 Received DATA (on stdin) 02:03:12.138766 > 29 bytes data, server => client 02:03:12.138777 '150 Binary junk (17 bytes).\r\n' 02:03:12.139110 Received DATA (on stdin) 02:03:12.139122 > 28 bytes data, server => client 02:03:12.139133 '226 File transfer complete\r\n' 02:03:12.181967 < 6 bytes data, client => server 02:03:12.181997 'QUIT\r\n' 02:03:12.182212 Received DATA (on stdin) 02:03:12.182226 > 18 bytes data, server => client 02:03:12.182237 '221 bye bye baby\r\n' 02:03:12.182801 ====> Client disconnect 02:03:12.182939 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:11.137664 Running IPv4 version 02:03:11.137714 Listening on port 44377 02:03:11.137771 Wrote pid 142986 to log/9/server/ftp_sockdata.pid 02:03:11.137788 Received PING (on stdin) 02:03:11.137865 Received PORT (on stdin) 02:03:11.138161 ====> Client connect 02:03:11.138769 Received DATA (on stdin) 02:03:11.138789 > 17 bytes data, server => client 02:03:11.138800 'WE ROOLZ: 80452\r\n' 02:03:11.138830 Received DISC (on stdin) 02:03:11.138844 ====> Client forcibly disconnected 02:03:11.138917 Received QUIT (on stdin) 02:03:11.138929 quits 02:03:11.138969 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 633 XXXXXXXX\x00\x00XXXXXXXX Testnum 1282 === End of file server.cmd === Start of file valgrind1282 ==143147== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1285 ../src/curl -q --output log/1/curl1285.out --include --trace-ascii log/1/trace1285 --trace-config all --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/1/put1285 http://127.0.0.1:34215/1285 > log/1/stdout1285 2> log/1/stderr1285 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1286 ../src/curl -q --output log/12/curl1286.out --include --trace-ascii log/12/trace1286 --trace-config all --trace-time -u auser:apasswd --location --digest http://127.0.0.1:40653/1286 > log/12/stdout1286 2> log/12/stderr1286 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1289 ../src/curl -q --output log/3/curl1289.out --include --trace-ascii log/3/trace1289 --trace-config all --trace-time http://ur%20[0-60000000000000000000 > log/3/stdout1289 2> log/3/stderr1289 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1265 ../src/curl -q --output log/11/curl1265.out --include --trace-ascii log/11/trace1265 --trace-config all --trace-time http://[::1]:46047/1265 > log/11/stdout1265 2> log/11/stderr1265 ==143147== Process terminating with default action of signal 4 (SIGILL) ==143147== Illegal opcode at address 0x10B08D ==143147== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143147== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1282 test 1285...[HTTP PUT --digest with user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1285 ../src/curl -q --output log/1/curl1285.out --include --trace-ascii log/1/trace1285 --trace-config all --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/1/put1285 http://127.0.0.1:34215/1285 > log/1/stdout1285 2> log/1/stderr1285 1285: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1285 === Start of file http_server.log 02:03:12.345159 ====> Client connect 02:03:12.345190 accept_connection 3 returned 4 02:03:12.345206 accept_connection 3 returned 0 02:03:12.345219 Read 93 bytes 02:03:12.345230 Process 93 bytes request 02:03:12.345244 Got request: GET /verifiedserver HTTP/1.1 02:03:12.345253 Are-we-friendly question received 02:03:12.345273 Wrote request (93 bytes) input to log/1/server.input 02:03:12.345288 Identifying ourselves as friends 02:03:12.345348 Response sent (56 bytes) and written to log/1/server.response 02:03:12.345358 special request received, no persistency 02:03:12.345367 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file put1285 This is data we upload with PUT a second line line three four is the number of lines === End of file put1285 === Start of file server.cmd Testnum 1285 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1285 ==143232== ==143232== Process terminating with default action of signal 4 (SIGILL) ==143232== Illegal opcode at address 0x10B08D ==143232== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143232== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1285 test 1286...[HTTP GET --digest increasing nonce-count] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1286 ../src/curl -q --output log/12/curl1286.out --include --trace-ascii log/12/trace1286 --trace-config all --trace-time -u auser:apasswd --location --digest http://127.0.0.1:40653/1286 > log/12/stdout1286 2> log/12/stderr1286 1286: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1286 === Start of file http_server.log 02:03:12.356740 ====> Client connect 02:03:12.356774 accept_connection 3 returned 4 02:03:12.356791 accept_connection 3 returned 0 02:03:12.356805 Read 93 bytes 02:03:12.356815 Process 93 bytes request 02:03:12.356829 Got request: GET /verifiedserver HTTP/1.1 02:03:12.356839 Are-we-friendly question received 02:03:12.356863 Wrote request (93 bytes) input to log/12/server.input 02:03:12.356880 Identifying ourselves as friends 02:03:12.356947 Response sent (56 bytes) and written to log/12/server.response 02:03:12.356959 special request received, no persistency 02:03:12.356969 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1286 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1286 ==143241== ==143241== Process terminating with default action of signal 4 (SIGILL) ==143241== Illegal opcode at address 0x10B08D ==143241== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143241== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1286 test 1289...[globbing with overflow and bad syntxx] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1289 ../src/curl -q --output log/3/curl1289.out --include --trace-ascii log/3/trace1289 --trace-config all --trace-time http://ur%20[0-60000000000000000000 > log/3/stdout1289 2> log/3/stderr1289 curl returned 132, when expecting 3 1289: exit FAILED == Contents of files in the log/3/ dir after test 1289 === Start of file http_server.log 02:03:12.509469 ====> Client connect 02:03:12.509502 accept_connection 3 returned 4 02:03:12.509519 accept_connection 3 returned 0 02:03:12.509534 Read 93 bytes 02:03:12.509544 Process 93 bytes request 02:03:12.509559 Got request: GET /verifiedserver HTTP/1.1 02:03:12.509570 Are-we-friendly question received 02:03:12.509595 Wrote request (93 bytes) input to log/3/server.input 02:03:12.509612 Identifying ourselves as friends 02:03:12.509681 Response sent (56 bytes) and written to log/3/server.response 02:03:12.509694 special request received, no persistency 02:03:12.509704 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1289 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1289 ==143390== ==143390== Process terminating with default action of signal 4 (SIGILL) ==143390== Illegal opcode at address 0x10B08D ==143390== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143390== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1289 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/11/server/http_ipv6_server.pid" --logfile "log/11/http_ipv6_server.log" --logdir "log/11" --portfile log/11/server/http_ipv6_server.port --config log/11/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/11/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:46047/verifiedserver" 2>log/11/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 142255 port 46047 * pid http-ipv6 => 142255 142255 setenv http_proxy = http://127.0.0.1:44137 setenv NO_PROXY = ::1 test 1265...[NO_PROXY with IPv6 numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1288 ../src/curl -q --include --trace-ascii log/7/trace1288 --trace-config all --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:44391 http://127.0.0.1:43753/we/want/that/page/1288 > log/7/stdout1288 2> log/7/stderr1288 p --num-callers=16 --log-file=log/11/valgrind1265 ../src/curl -q --output log/11/curl1265.out --include --trace-ascii log/11/trace1265 --trace-config all --trace-time http://[::1]:46047/1265 > log/11/stdout1265 2> log/11/stderr1265 1265: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1265 === Start of file http_ipv6_server.log 02:03:11.489807 Running HTTP IPv6 version on port 46047 02:03:11.489889 Wrote pid 142255 to log/11/server/http_ipv6_server.pid 02:03:11.489925 Wrote port 46047 to log/11/server/http_ipv6_server.port 02:03:12.495673 ====> Client connect 02:03:12.495695 accept_connection 3 returned 4 02:03:12.495710 accept_connection 3 returned 0 02:03:12.495724 Read 89 bytes 02:03:12.495735 Process 89 bytes request 02:03:12.495755 Got request: GET /verifiedserver HTTP/1.1 02:03:12.495765 Are-we-friendly question received 02:03:12.495791 Wrote request (89 bytes) input to log/11/server.input 02:03:12.495811 Identifying ourselves as friends 02:03:12.495872 Response sent (57 bytes) and written to log/11/server.response 02:03:12.495883 special request received, no persistency 02:03:12.495893 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:46047... * Connected to ::1 (::1) port 46047 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:46047 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 142255 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1265 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 142255 === End of file server.response === Start of file valgrind1265 ==143384== ==143384== Process terminating with default action of signal 4 (SIGILL) ==143384== Illegal opcode at address 0x10B08D ==143384== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143384== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1265 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1291 ../src/curl -q --output log/6/curl1291.out --include --trace-ascii log/6/trace1291 --trace-config all --trace-time -K log/6/cmd1291 --fail-early > log/6/stdout1291 2> log/6/stderr1291 test 1288...[Suppress proxy CONNECT response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1288 ../src/curl -q --include --trace-ascii log/7/trace1288 --trace-config all --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:44391 http://127.0.0.1:43753/we/want/that/page/1288 > log/7/stdout1288 2> log/7/stderr1288 1288: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:12.846782161 +0000 +++ log/7/check-generated 2024-12-15 02:03:12.846782161 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -[CR][LF] -contents[LF] -[LF] -CONNECT CODE: 200[LF] -RECEIVED HEADER BYTE TOTAL: 231[LF] == Contents of files in the log/7/ dir after test 1288 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] [CR][LF] contents[LF] [LF] CONNECT CODE: 200[LF] RECEIVED HEADER BYTE TOTAL: 231[LF] === End of file check-expected === Start of file http2_server.log 02:03:12.534673 ====> Client connect 02:03:12.534712 accept_connection 3 returned 4 02:03:12.534730 accept_connection 3 returned 0 02:03:12.534745 Read 93 bytes 02:03:12.534757 Process 93 bytes request 02:03:12.534771 Got request: GET /verifiedserver HTTP/1.1 02:03:12.534780 Are-we-friendly question received 02:03:12.534806 Wrote request (93 bytes) input to log/7/proxy.input 02:03:12.534825 Identifying ourselves as friends 02:03:12.534904 Response sent (57 bytes) and written to log/7/proxy.response 02:03:12.534918 special request received, no persistency 02:03:12.534929 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44391... * Connected to 127.0.0.1 (127.0.0.1) port 44391 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44391 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 140003 === End of file http2_verify.out === Start of file http_server.log 02:03:12.509566 ====> Client connect 02:03:12.509596 accept_connection 3 returned 4 02:03:12.509612 accept_connection 3 returned 0 02:03:12.509624 Read 93 bytes 02:03:12.509634 Process 93 bytes request 02:03:12.509646 Got request: GET /verifiedserver HTTP/1.1 02:03:12.509655 Are-we-friendly question received 02:03:12.509678 Wrote request (93 bytes) input to log/7/server.input 02:03:12.509693 Identifying ourselves as friends 02:03:12.509755 Response sent (56 bytes) and written to log/7/server.response 02:03:12.509765 special request received, no persistency 02:03:12.509773 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 140003 === End of file proxy.response === Start of file server.cmd Testnum 1288 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1288 ==143482== ==143482== Process terminating with default action of signal 4 (SIGILL) ==143482== Illegal opcode at address 0x10B08D ==143482== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143482== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1288 * starts no server prechecked /usr/bin/perl -e 'for(1 .. 1000) { printf("upload-file=log/6/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/1291\n", $_);}' > log/6/cmd1291; test 1291...[Attempt to upload 1000 files but fail immediately] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1291 ../src/curl -q --output log/6/curl1291.out --include --trace-ascii log/6/trace1291 --trace-config all --trace-time -K log/6/cmd1291 --fail-early > log/6/stdout1291 2> log/6/stderr1291 curl returned 132, when expecting 1 1291: exit FAILED == Contents of files in the log/6/ dir after test 1291 === Start of file cmd1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this === File too long: 599 lines omitted here upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1296 ../src/curl -q --output log/9/curl1296.out --include --trace-ascii log/9/trace1296 --trace-config all --trace-time http://user%0aname:password@127.0.0.1:38509/1296 > log/9/stdout1296 2> log/9/stderr1296 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1292 ../src/curl -q --output log/4/curl1292.out --include --trace-ascii log/4/trace1292 --trace-config all --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:36813/1292 > log/4/stdout1292 2> log/4/stderr1292 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1293 ../src/curl -q --output log/8/curl1293.out --include --trace-ascii log/8/trace1293 --trace-config all --trace-time http://0 http://127.0.0.1:43803/1293 -F= > log/8/stdout1293 2> log/8/stderr1293 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1290 ../src/curl -q --output log/10/curl1290.out --include --trace-ascii log/10/trace1290 --trace-config all --trace-time "http://127.0.0.1:42929/we/want/[]/page/1290" > log/10/stdout1290 2> log/10/stderr1290 /upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/6/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 === End of file cmd1291 === Start of file server.cmd Testnum 1291 === End of file server.cmd === Start of file upload-this XXXXXXXx === End of file upload-this === Start of file valgrind1291 ==143565== ==143565== Process terminating with default action of signal 4 (SIGILL) ==143565== Illegal opcode at address 0x10B08D ==143565== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143565== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1291 test 1292...[Replaced internal headers with a blank one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1292 ../src/curl -q --output log/4/curl1292.out --include --trace-ascii log/4/trace1292 --trace-config all --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:36813/1292 > log/4/stdout1292 2> log/4/stderr1292 1292: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1292 === Start of file http_server.log 02:03:12.685656 ====> Client connect 02:03:12.685685 accept_connection 3 returned 4 02:03:12.685701 accept_connection 3 returned 0 02:03:12.685718 Read 93 bytes 02:03:12.685728 Process 93 bytes request 02:03:12.685742 Got request: GET /verifiedserver HTTP/1.1 02:03:12.685752 Are-we-friendly question received 02:03:12.685771 Wrote request (93 bytes) input to log/4/server.input 02:03:12.685788 Identifying ourselves as friends 02:03:12.685847 Response sent (56 bytes) and written to log/4/server.response 02:03:12.685857 special request received, no persistency 02:03:12.685866 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1292 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1292 ==143686== ==143686== Process terminating with default action of signal 4 (SIGILL) ==143686== Illegal opcode at address 0x10B08D ==143686== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143686== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1292 test 1296...[HTTP URL with %0a in name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1296 ../src/curl -q --output log/9/curl1296.out --include --trace-ascii log/9/trace1296 --trace-config all --trace-time http://user%0aname:password@127.0.0.1:38509/1296 > log/9/stdout1296 2> log/9/stderr1296 1296: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1296 === Start of file http_server.log 02:03:12.701187 ====> Client connect 02:03:12.701217 accept_connection 3 returned 4 02:03:12.701232 accept_connection 3 returned 0 02:03:12.701245 Read 93 bytes 02:03:12.701255 Process 93 bytes request 02:03:12.701268 Got request: GET /verifiedserver HTTP/1.1 02:03:12.701277 Are-we-friendly question received 02:03:12.701299 Wrote request (93 bytes) input to log/9/server.input 02:03:12.701315 Identifying ourselves as friends 02:03:12.701376 Response sent (56 bytes) and written to log/9/server.response 02:03:12.701386 special request received, no persistency 02:03:12.701395 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1296 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1296 ==143742== ==143742== Process terminating with default action of signal 4 (SIGILL) ==143742== Illegal opcode at address 0x10B08D ==143742== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143742== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1296 test 1293...[Multipart formpost to two URLs, the first failing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1293 ../src/curl -q --output log/8/curl1293.out --include --trace-ascii log/8/trace1293 --trace-config all --trace-time http://0 http://127.0.0.1:43803/1293 -F= > log/8/stdout1293 2> log/8/stderr1293 1293: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1293 === Start of file http_server.log 02:03:12.689299 ====> Client connect 02:03:12.689328 accept_connection 3 returned 4 02:03:12.689344 accept_connection 3 returned 0 02:03:12.689357 Read 93 bytes 02:03:12.689367 Process 93 bytes request 02:03:12.689379 Got request: GET /verifiedserver HTTP/1.1 02:03:12.689388 Are-we-friendly question received 02:03:12.689408 Wrote request (93 bytes) input to log/8/server.input 02:03:12.689424 Identifying ourselves as friends 02:03:12.689485 Response sent (56 bytes) and written to log/8/server.response 02:03:12.689496 special request received, no persistency 02:03:12.689505 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1293 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1293 ==143704== ==143704== Process terminating with default action of signal 4 (SIGILL) ==143704== Illegal opcode at address 0x10B08D ==143704== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143704== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1293 test 1290...[Verify URL globbing ignores []] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1290 ../src/curl -q --output log/10/curl1290.out --include --trace-ascii log/10/trace1290 --trace-config all --trace-time "http://127.0.0.1:42929/we/want/[]/page/1290" > log/10/stdout1290 2> log/10/stderr1290 1290: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1290 === Start of file http_server.log 02:03:12.661998 ====> Client connect 02:03:12.662030 accept_connection 3 returned 4 02:03:12.662045 accept_connection 3 returned 0 02:03:12.662059 Read 93 bytes 02:03:12.662069 Process 93 bytes request 02:03:12.662083 Got request: GET /verifiedserver HTTP/1.1 02:03:12.662092 Are-we-friendly question received 02:03:12.662114 Wrote request (93 bytes) input to log/10/server.input 02:03:12.662131 Identifying ourselves as friends 02:03:12.662197 Response sent (56 bytes) and written to log/10/server.response 02:03:12.662208 special request received, no persistency 02:03:12.662218 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log =CMD (0): ../src/curl --max-time 13 --output log/5/http_verify.out --silent --verbose --globoff "http://127.0.0.1:34719/verifiedserver" 2>log/5/http_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1298 ../src/curl -q --output log/12/curl1298.out --include --trace-ascii log/12/trace1298 --trace-config all --trace-time --request-target "XXX" "http://127.0.0.1:40653/" -H "Testno: 1298" > log/12/stdout1298 2> log/12/stderr1298 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1297 ../src/curl -q --output log/1/curl1297.out --include --trace-ascii log/1/trace1297 --trace-config all --trace-time --proxytunnel --proxy 127.0.0.1:34021 http://127.0.0.1:34215/we/want/that/page/1297 > log/1/stdout1297 2> log/1/stderr1297 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1310 ../src/curl -q --trace-ascii log/7/trace1310 --trace-config all --trace-time http://127.0.0.1:43753/junk -J -O --show-headers --output-dir log/7 > log/7/stdout1310 2> log/7/stderr1310 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1299 ../src/curl -q --output log/11/curl1299.out --include --trace-ascii log/11/trace1299 --trace-config all --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:44137/ -H "Testno: 1299" > log/11/stdout1299 2> log/11/stderr1299 == Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1290 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1290 ==143570== ==143570== Process terminating with default action of signal 4 (SIGILL) ==143570== Illegal opcode at address 0x10B08D ==143570== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143570== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1290 test 1298...[HTTP GET special path with --request-target] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1298 ../src/curl -q --output log/12/curl1298.out --include --trace-ascii log/12/trace1298 --trace-config all --trace-time --request-target "XXX" "http://127.0.0.1:40653/" -H "Testno: 1298" > log/12/stdout1298 2> log/12/stderr1298 1298: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1298 === Start of file http_server.log 02:03:12.904524 ====> Client connect 02:03:12.904558 accept_connection 3 returned 4 02:03:12.904575 accept_connection 3 returned 0 02:03:12.904589 Read 93 bytes 02:03:12.904600 Process 93 bytes request 02:03:12.904614 Got request: GET /verifiedserver HTTP/1.1 02:03:12.904624 Are-we-friendly question received 02:03:12.904648 Wrote request (93 bytes) input to log/12/server.input 02:03:12.904664 Identifying ourselves as friends 02:03:12.904734 Response sent (56 bytes) and written to log/12/server.response 02:03:12.904747 special request received, no persistency 02:03:12.904757 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1298 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1298 ==143894== ==143894== Process terminating with default action of signal 4 (SIGILL) ==143894== Illegal opcode at address 0x10B08D ==143894== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143894== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1298 test 1297...[CONNECT to peer that returns nothing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1297 ../src/curl -q --output log/1/curl1297.out --include --trace-ascii log/1/trace1297 --trace-config all --trace-time --proxytunnel --proxy 127.0.0.1:34021 http://127.0.0.1:34215/we/want/that/page/1297 > log/1/stdout1297 2> log/1/stderr1297 1297: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1297 === Start of file http2_server.log 02:03:12.932204 ====> Client connect 02:03:12.932244 accept_connection 3 returned 4 02:03:12.932261 accept_connection 3 returned 0 02:03:12.932276 Read 93 bytes 02:03:12.932287 Process 93 bytes request 02:03:12.932301 Got request: GET /verifiedserver HTTP/1.1 02:03:12.932311 Are-we-friendly question received 02:03:12.932332 Wrote request (93 bytes) input to log/1/proxy.input 02:03:12.932350 Identifying ourselves as friends 02:03:12.932415 Response sent (56 bytes) and written to log/1/proxy.response 02:03:12.932426 special request received, no persistency 02:03:12.932436 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:34021... * Connected to 127.0.0.1 (127.0.0.1) port 34021 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34021 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 91834 === End of file http2_verify.out === Start of file http_server.log 02:03:12.907515 ====> Client connect 02:03:12.907545 accept_connection 3 returned 4 02:03:12.907566 accept_connection 3 returned 0 02:03:12.907580 Read 93 bytes 02:03:12.907590 Process 93 bytes request 02:03:12.907602 Got request: GET /verifiedserver HTTP/1.1 02:03:12.907611 Are-we-friendly question received 02:03:12.907632 Wrote request (93 bytes) input to log/1/server.input 02:03:12.907648 Identifying ourselves as friends 02:03:12.907712 Response sent (56 bytes) and written to log/1/server.response 02:03:12.907723 special request received, no persistency 02:03:12.907732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 91834 === End of file proxy.response === Start of file server.cmd Testnum 1297 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1297 ==143938== ==143938== Process terminating with default action of signal 4 (SIGILL) ==143938== Illegal opcode at address 0x10B08D ==143938== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==143938== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1297 test 1310...[HTTP GET with -J + --show-headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1310 ../src/curl -q --trace-ascii log/7/trace1310 --trace-config all --trace-time http://127.0.0.1:43753/junk -J -O --show-headers --output-dir log/7 > log/7/stdout1310 2> log/7/stderr1310 1310: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1310 === Start of file http_server.log 02:03:13.077186 ====> Client connect 02:03:13.077219 accept_connection 3 returned 4 02:03:13.077235 accept_connection 3 returned 0 02:03:13.077249 Read 93 bytes 02:03:13.077260 Process 93 bytes request 02:03:13.077271 Got request: GET /verifiedserver HTTP/1.1 02:03:13.077279 Are-we-friendly question received 02:03:13.077298 Wrote request (93 bytes) input to log/7/server.input 02:03:13.077312 Identifying ourselves as friends 02:03:13.077367 Response sent (56 bytes) and written to log/7/server.response 02:03:13.077375 special request received, no persistency 02:03:13.077383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytesCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1301 ./libtest/lib1301 - > log/3/stdout1301 2> log/3/stderr1301 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1311 ../src/curl -q --trace-ascii log/6/trace1311 --trace-config all --trace-time http://127.0.0.1:39457/1311 -J -O --output-dir log/6 > log/6/stdout1311 2> log/6/stderr1311 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1313 ../src/curl -q --trace-ascii log/10/trace1313 --trace-config all --trace-time http://127.0.0.1:42929/1313 -J -O --output-dir log/10 > log/10/stdout1313 2> log/10/stderr1313 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1315 ../src/curl -q --output log/4/curl1315.out --include --trace-ascii log/4/trace1315 --trace-config all --trace-time http://127.0.0.1:36813/we/want/1315 -F name=value -F 'file=@log/4/test1315.txt,log/4/test1315.txt;type=magic/content,log/4/test1315.txt' > log/4/stdout1315 2> log/4/stderr1315 data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1310 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1310 ==144076== ==144076== Process terminating with default action of signal 4 (SIGILL) ==144076== Illegal opcode at address 0x10B08D ==144076== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144076== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1310 test 1299...[Send "OPTIONS *" with --request-target] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1299 ../src/curl -q --output log/11/curl1299.out --include --trace-ascii log/11/trace1299 --trace-config all --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:44137/ -H "Testno: 1299" > log/11/stdout1299 2> log/11/stderr1299 1299: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1299 === Start of file http_server.log 02:03:13.069211 ====> Client connect 02:03:13.069243 accept_connection 3 returned 4 02:03:13.069260 accept_connection 3 returned 0 02:03:13.069274 Read 93 bytes 02:03:13.069285 Process 93 bytes request 02:03:13.069300 Got request: GET /verifiedserver HTTP/1.1 02:03:13.069309 Are-we-friendly question received 02:03:13.069335 Wrote request (93 bytes) input to log/11/server.input 02:03:13.069352 Identifying ourselves as friends 02:03:13.069421 Response sent (56 bytes) and written to log/11/server.response 02:03:13.069432 special request received, no persistency 02:03:13.069442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1299 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1299 ==144060== ==144060== Process terminating with default action of signal 4 (SIGILL) ==144060== Illegal opcode at address 0x10B08D ==144060== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144060== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1299 * starts no server test 1301...[curl_strequal tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1301 ./libtest/lib1301 - > log/3/stdout1301 2> log/3/stderr1301 -------e-v- OK (1173 out of 1584, remaining: 00:43, took 0.603s, duration: 02:05) test 1311...[HTTP GET with -J and Content-Disposition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1311 ../src/curl -q --trace-ascii log/6/trace1311 --trace-config all --trace-time http://127.0.0.1:39457/1311 -J -O --output-dir log/6 > log/6/stdout1311 2> log/6/stderr1311 1311: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1311 === Start of file http_server.log 02:03:13.257703 ====> Client connect 02:03:13.257732 accept_connection 3 returned 4 02:03:13.257748 accept_connection 3 returned 0 02:03:13.257761 Read 93 bytes 02:03:13.257771 Process 93 bytes request 02:03:13.257784 Got request: GET /verifiedserver HTTP/1.1 02:03:13.257793 Are-we-friendly question received 02:03:13.257812 Wrote request (93 bytes) input to log/6/server.input 02:03:13.257828 Identifying ourselves as friends 02:03:13.257886 Response sent (56 bytes) and written to log/6/server.response 02:03:13.257896 special request received, no persistency 02:03:13.257905 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1311 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1311 ==144260== ==144260== Process terminating with default action of signal 4 (SIGILL) ==144260== Illegal opcode at address 0x10B08D ==144260== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144260== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1311 test 1313...[HTTP GET with -J, Content-Disposition, uneven quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1313 ../src/curl -q --trace-ascii log/10/trace1313 --trace-config all --trace-time http://127.0.0.1:42929/1313 -J -O --output-dir log/10 > log/10/stdout1313 2> log/10/stderr1313 1313: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1313 === Start of file http_server.log 02:03:13.271982 ====> Client connect 02:03:13.272011 accept_connection 3 returned 4 02:03:13.272028 accept_connection 3 returned 0 02:03:13.272040 Read 93 bytes 02:03:13.272051 Process 93 bytes request 02:03:13.272063 Got request: GET /verifiedserver HTTP/1.1 02:03:13.272073 Are-we-friendly question received 02:03:13.272094 Wrote request (93 bytes) input to log/10/server.input 02:03:13.272111 Identifying ourselves as friends 02:03:13.272174 Response sent (56 bytes) and written to log/10/server.response 02:03:13.272185 special request received, no persistency 02:03:13.272194 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1313 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1313 ==144274== ==144274== Process terminating with default action of signal 4 (SIGILL) ==144274== Illegal opcode at address 0x10B08D ==144274== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144274== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1313 test 1315...[HTTP RFC1867-type formposting - -F with three files, one with explicit type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curlCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1312 ../src/curl -q --trace-ascii log/9/trace1312 --trace-config all --trace-time 127.0.0.1:38509/1312 -J -O --output-dir log/9 > log/9/stdout1312 2> log/9/stderr1312 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1314 ../src/curl -q --output log/8/curl1314.out --include --trace-ascii log/8/trace1314 --trace-config all --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:43803 > log/8/stdout1314 2> log/8/stderr1314 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1318 ../src/curl -q --output log/1/curl1318.out --include --trace-ascii log/1/trace1318 --trace-config all --trace-time --resolve MiXeDcAsE.cOm:34215:127.0.0.1 http://MiXeDcAsE.cOm:34215/1318 http://mixedcase.com:34215/13180001 > log/1/stdout1318 2> log/1/stderr1318 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1317 ../src/curl -q --output log/12/curl1317.out --include --trace-ascii log/12/trace1317 --trace-config all --trace-time --resolve example.com:40653:127.0.0.1 http://example.com:40653/1317 > log/12/stdout1317 2> log/12/stderr1317 /tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1315 ../src/curl -q --output log/4/curl1315.out --include --trace-ascii log/4/trace1315 --trace-config all --trace-time http://127.0.0.1:36813/we/want/1315 -F name=value -F 'file=@log/4/test1315.txt,log/4/test1315.txt;type=magic/content,log/4/test1315.txt' > log/4/stdout1315 2> log/4/stderr1315 1315: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1315 === Start of file http_server.log 02:03:13.271459 ====> Client connect 02:03:13.271487 accept_connection 3 returned 4 02:03:13.271502 accept_connection 3 returned 0 02:03:13.271514 Read 93 bytes 02:03:13.271524 Process 93 bytes request 02:03:13.271535 Got request: GET /verifiedserver HTTP/1.1 02:03:13.271544 Are-we-friendly question received 02:03:13.271571 Wrote request (93 bytes) input to log/4/server.input 02:03:13.271586 Identifying ourselves as friends 02:03:13.271646 Response sent (56 bytes) and written to log/4/server.response 02:03:13.271656 special request received, no persistency 02:03:13.271664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1315 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file test1315.txt dummy data === End of file test1315.txt === Start of file valgrind1315 ==144280== ==144280== Process terminating with default action of signal 4 (SIGILL) ==144280== Illegal opcode at address 0x10B08D ==144280== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144280== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1315 test 1312...[HTTP GET with -J, Content-Disposition and ; in filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1312 ../src/curl -q --trace-ascii log/9/trace1312 --trace-config all --trace-time 127.0.0.1:38509/1312 -J -O --output-dir log/9 > log/9/stdout1312 2> log/9/stderr1312 1312: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1312 === Start of file http_server.log 02:03:13.271166 ====> Client connect 02:03:13.271192 accept_connection 3 returned 4 02:03:13.271205 accept_connection 3 returned 0 02:03:13.271216 Read 93 bytes 02:03:13.271224 Process 93 bytes request 02:03:13.271235 Got request: GET /verifiedserver HTTP/1.1 02:03:13.271243 Are-we-friendly question received 02:03:13.271260 Wrote request (93 bytes) input to log/9/server.input 02:03:13.271274 Identifying ourselves as friends 02:03:13.271322 Response sent (56 bytes) and written to log/9/server.response 02:03:13.271330 special request received, no persistency 02:03:13.271337 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1312 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1312 ==144270== ==144270== Process terminating with default action of signal 4 (SIGILL) ==144270== Illegal opcode at address 0x10B08D ==144270== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144270== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1312 test 1314...[HTTP Location: following a // prefixed url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1314 ../src/curl -q --output log/8/curl1314.out --include --trace-ascii log/8/trace1314 --trace-config all --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:43803 > log/8/stdout1314 2> log/8/stderr1314 1314: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1314 === Start of file http_server.log 02:03:13.276288 ====> Client connect 02:03:13.276320 accept_connection 3 returned 4 02:03:13.276337 accept_connection 3 returned 0 02:03:13.276351 Read 93 bytes 02:03:13.276362 Process 93 bytes request 02:03:13.276374 Got request: GET /verifiedserver HTTP/1.1 02:03:13.276384 Are-we-friendly question received 02:03:13.276407 Wrote request (93 bytes) input to log/8/server.input 02:03:13.276425 Identifying ourselves as friends 02:03:13.276493 Response sent (56 bytes) and written to log/8/server.response 02:03:13.276505 special request received, no persistency 02:03:13.276515 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1314 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1314 ==144297== ==144297== Process terminating with default action of signal 4 (SIGILL) ==144297== Illegal opcode at address 0x10B08D ==144297== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144297== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1314 test 1318...[HTTP with --resolve and same host name using different cases] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1318 ../src/curl -q --output log/1/curl1318.out --include --trace-ascii log/1/trace1318 --trace-config all --trace-time --resolve MiXeDcAsE.cOm:34215:127.0.0.1 http://MiXeDcAsE.cOm:34215/1318 http://mixedcase.com:34215/13180001 > log/1/stdout1318 2> log/1/stderr1318 1318: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1318 === Start of file http_server.log 02:03:13.537468 ====> Client connect 02:03:13.537498 accept_connection 3 returned 4 02:03:13.537513 accept_connection 3 returned 0 02:03:13.537525 Read 93 bytes 02:03:13.537535 Process 93 bytes request 02:03:13.537549 Got request: GET /verifiedserver HTTP/1.1 02:03:13.537558 Are-we-friendly question received 02:03:13.537577 Wrote request (93 bytes) input to log/1/server.input 02:03:13.537593 Identifying ourselves as friends 02:03:13.537650 Response sent (56 bytes) and written to log/1/server.responCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1320 ../src/curl -q --output log/7/curl1320.out --include --trace-ascii log/7/trace1320 --trace-config all --trace-time smtp://smtp.1320:42825/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:44391 log/7/stdout1320 2> log/7/stderr1320 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1321 ../src/curl -q --output log/3/curl1321.out --include --trace-ascii log/3/trace1321 --trace-config all --trace-time 'imap://imap.1321:36589/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:35495 > log/3/stdout1321 2> log/3/stderr1321 se 02:03:13.537660 special request received, no persistency 02:03:13.537668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1318 ==144568== ==144568== Process terminating with default action of signal 4 (SIGILL) ==144568== Illegal opcode at address 0x10B08D ==144568== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144568== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1318 test 1317...[HTTP with --resolve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1317 ../src/curl -q --output log/12/curl1317.out --include --trace-ascii log/12/trace1317 --trace-config all --trace-time --resolve example.com:40653:127.0.0.1 http://example.com:40653/1317 > log/12/stdout1317 2> log/12/stderr1317 1317: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1317 === Start of file http_server.log 02:03:13.519017 ====> Client connect 02:03:13.519061 accept_connection 3 returned 4 02:03:13.519078 accept_connection 3 returned 0 02:03:13.519092 Read 93 bytes 02:03:13.519103 Process 93 bytes request 02:03:13.519118 Got request: GET /verifiedserver HTTP/1.1 02:03:13.519127 Are-we-friendly question received 02:03:13.519180 Wrote request (93 bytes) input to log/12/server.input 02:03:13.519204 Identifying ourselves as friends 02:03:13.519287 Response sent (56 bytes) and written to log/12/server.response 02:03:13.519301 special request received, no persistency 02:03:13.519312 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1317 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1317 ==144555== ==144555== Process terminating with default action of signal 4 (SIGILL) ==144555== Illegal opcode at address 0x10B08D ==144555== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144555== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1317 test 1320...[SMTP send tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1320 ../src/curl -q --output log/7/curl1320.out --include --trace-ascii log/7/trace1320 --trace-config all --trace-time smtp://smtp.1320:42825/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:44391 log/7/stdout1320 2> log/7/stderr1320 1320: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1320 === Start of file http2_server.log 02:03:13.687699 ====> Client connect 02:03:13.687735 accept_connection 3 returned 4 02:03:13.687752 accept_connection 3 returned 0 02:03:13.687767 Read 93 bytes 02:03:13.687778 Process 93 bytes request 02:03:13.687793 Got request: GET /verifiedserver HTTP/1.1 02:03:13.687804 Are-we-friendly question received 02:03:13.687828 Wrote request (93 bytes) input to log/7/proxy.input 02:03:13.687848 Identifying ourselves as friends 02:03:13.687920 Response sent (57 bytes) and written to log/7/proxy.response 02:03:13.687932 special request received, no persistency 02:03:13.687941 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44391... * Connected to 127.0.0.1 (127.0.0.1) port 44391 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44391 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 140003 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 140003 === End of file proxy.response === Start of file server.cmd Testnum 1320 === End of file server.cmd === Start of file smtp_server.log 02:03:13.468243 ====> Client connect 02:03:13.468396 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:13.468691 < "EHLO verifiedserver" 02:03:13.468733 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:13.468904 < "HELP" 02:03:13.468934 > "214 WE ROOLZ: 120804[CR][LF]" 02:03:13.468948 return proof we are we 02:03:13.469153 < "QUIT" 02:03:13.469179 > "221 curl ESMTP server signing off[CR][LF]" 02:03:13.469766 MAIN sockfilt said DISC 02:03:13.469790 ====> Client disconnected 02:03:13.469841 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:13.668183 ====> Client connect 02:03:13.668549 Received DATA (on stdin) 02:03:13.668565 > 160 bytes data, server => client 02:03:13.668579 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:13.668591 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:13.668606 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:13.668688 < 21 bytes data, client => server 02:03:13.668701 'EHLO verifiedserver\r\n' 02:03:13.668874 Received DATA (on stdin) 02:03:13.668887 > 53 bytes data, server => client 02:03:13.668898 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:13.668955 < 6 bytes data, client => server 02:03:13.668966 'HELP\r\n' 02:03:13.669086 Received DATA (on stdin) 02:03:13.669097 > 22 bytes data, server => client 02:03:13.669108 '214 WE ROOLZ: 120804\r\n' 02:03:13.669207 < 6 bytes data, client => server 02:03:13.669220 'QUIT\r\n' 02:03:13.669317 Received DATA (on stdin) 02:03:13.669329 > 35 bytes data, server => client 02:03:13.669339 '221 curl ESMTP server signing off\r\n' 02:03:13.669862 ====> Client disconnect 02:03:13.669979 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1320 From: different To: another body === End of file stdin-for-1320 === Start of file valgrind1320 ==144717== ==144717== Process terminating with default action of signal 4 (SIGILL) ==144717== Illegal opcode at address 0x10B08D ==144717== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144717== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1320 test 1321...[IMAP FETCH tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1321 ../src/cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1322 ../src/curl -q --output log/6/curl1322.out --include --trace-ascii log/6/trace1322 --trace-config all --trace-time --ipv4 --resolve example.com.:39457:127.0.0.1 http://example.com.:39457/1322 > log/6/stdout1322 2> log/6/stderr1322 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1327 ../src/curl -q --include --trace-ascii log/8/trace1327 --trace-config all --trace-time telnet://127.0.0.1:43803 -T log/8/1327.txt log/8/stdout1327 2> log/8/stderr1327 url -q --output log/3/curl1321.out --include --trace-ascii log/3/trace1321 --trace-config all --trace-time 'imap://imap.1321:36589/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:35495 > log/3/stdout1321 2> log/3/stderr1321 1321: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1321 === Start of file http2_server.log 02:03:13.780620 ====> Client connect 02:03:13.780645 accept_connection 3 returned 4 02:03:13.780657 accept_connection 3 returned 0 02:03:13.780668 Read 93 bytes 02:03:13.780676 Process 93 bytes request 02:03:13.780687 Got request: GET /verifiedserver HTTP/1.1 02:03:13.780694 Are-we-friendly question received 02:03:13.780710 Wrote request (93 bytes) input to log/3/proxy.input 02:03:13.780723 Identifying ourselves as friends 02:03:13.780769 Response sent (57 bytes) and written to log/3/proxy.response 02:03:13.780777 special request received, no persistency 02:03:13.780783 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35495... * Connected to 127.0.0.1 (127.0.0.1) port 35495 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35495 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 112673 === End of file http2_verify.out === Start of file imap_server.log 02:03:13.474872 ====> Client connect 02:03:13.474991 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:03:13.475317 < "A001 CAPABILITY" 02:03:13.475349 > "A001 BAD Command[CR][LF]" 02:03:13.475500 < "A002 LIST "verifiedserver" *" 02:03:13.475528 LIST_imap got "verifiedserver" * 02:03:13.475550 > "* LIST () "/" "WE ROOLZ: 114723"[CR][LF]" 02:03:13.475565 > "A002 OK LIST Completed[CR][LF]" 02:03:13.475577 return proof we are we 02:03:13.518709 < "A003 LOGOUT" 02:03:13.518755 > "* BYE curl IMAP server signing off[CR][LF]" 02:03:13.518774 > "A003 OK LOGOUT completed[CR][LF]" 02:03:13.565885 MAIN sockfilt said DISC 02:03:13.565936 ====> Client disconnected 02:03:13.565981 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:03:12.674922 ====> Client connect 02:03:12.675136 Received DATA (on stdin) 02:03:12.675219 > 178 bytes data, server => client 02:03:12.675233 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:03:12.675244 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:03:12.675256 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:03:12.675265 'rve\r\n' 02:03:12.675333 < 17 bytes data, client => server 02:03:12.675345 'A001 CAPABILITY\r\n' 02:03:12.675487 Received DATA (on stdin) 02:03:12.675498 > 18 bytes data, server => client 02:03:12.675508 'A001 BAD Command\r\n' 02:03:12.675561 < 30 bytes data, client => server 02:03:12.675573 'A002 LIST "verifiedserver" *\r\n' 02:03:12.675713 Received DATA (on stdin) 02:03:12.675723 > 34 bytes data, server => client 02:03:12.675734 '* LIST () "/" "WE ROOLZ: 114723"\r\n' 02:03:12.675756 Received DATA (on stdin) 02:03:12.675765 > 24 bytes data, server => client 02:03:12.675775 'A002 OK LIST Completed\r\n' 02:03:12.718698 < 13 bytes data, client => server 02:03:12.718722 'A003 LOGOUT\r\n' 02:03:12.718887 Received DATA (on stdin) 02:03:12.718907 > 36 bytes data, server => client 02:03:12.718920 '* BYE curl IMAP server signing off\r\n' 02:03:12.718951 Received DATA (on stdin) 02:03:12.718963 > 26 bytes data, server => client 02:03:12.718974 'A003 OK LOGOUT completed\r\n' 02:03:12.765957 ====> Client disconnect 02:03:12.766116 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112673 === End of file proxy.response === Start of file server.cmd Testnum 1321 === End of file server.cmd === Start of file valgrind1321 ==144784== ==144784== Process terminating with default action of signal 4 (SIGILL) ==144784== Illegal opcode at address 0x10B08D ==144784== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144784== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1321 test 1322...[HTTP with --resolve and hostname with trailing dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1322 ../src/curl -q --output log/6/curl1322.out --include --trace-ascii log/6/trace1322 --trace-config all --trace-time --ipv4 --resolve example.com.:39457:127.0.0.1 http://example.com.:39457/1322 > log/6/stdout1322 2> log/6/stderr1322 1322: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1322 === Start of file http_server.log 02:03:13.870686 ====> Client connect 02:03:13.870712 accept_connection 3 returned 4 02:03:13.870731 accept_connection 3 returned 0 02:03:13.870745 Read 93 bytes 02:03:13.870756 Process 93 bytes request 02:03:13.870770 Got request: GET /verifiedserver HTTP/1.1 02:03:13.870780 Are-we-friendly question received 02:03:13.870802 Wrote request (93 bytes) input to log/6/server.input 02:03:13.870820 Identifying ourselves as friends 02:03:13.870888 Response sent (56 bytes) and written to log/6/server.response 02:03:13.870900 special request received, no persistency 02:03:13.870910 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1322 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1322 ==144910== ==144910== Process terminating with default action of signal 4 (SIGILL) ==144910== Illegal opcode at address 0x10B08D ==144910== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144910== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1322 test 1327...[TELNET check of upload with stdout redirected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1327 ../src/curl -q --include --trace-ascii log/8/trace1327 --trace-config all --trace-time telnet://127.0.0.1:43803 -T log/8/1327.txt log/8/stdout1327 2> log/8/stderr1327 1327: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1327 === Start of file 1327.txt GET /we/want/1327 HTTP/1.0 === End of file 1327.txt === Start of file http_server.log 02:03:13.878463 ====> Client connect 02:03:13.878511 accept_connection 3 returned 4 02:03:13.878528 accept_connection 3 returned 0 02:03:13.878542 Read 93 bytes 02:03:13.878552 Process 93 bytes request 02:03:13.878563 Got request: GET /verifiedserver HTTP/1.1 02:03:13.878572 Are-we-friendly question received 02:03:13.878598 Wrote request (93 bytes) input to log/8/server.input 02:03:13.878614 Identifying ourselves as friends 02:03:13.878674 Response sent (56 bytes) and written to log/8/serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1324 ../src/curl -q --output log/10/curl1324.out --include --trace-ascii log/10/trace1324 --trace-config all --trace-time --resolve example.com:46331:[::1] http://example.com:46331/1324 > log/10/stdout1324 2> log/10/stderr1324 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1326 ../src/curl -q --output log/9/curl1326.out --include --trace-ascii log/9/trace1326 --trace-config all --trace-time telnet://127.0.0.1:38509 --upload-file - log/9/stdout1326 2> log/9/stderr1326 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1325 ../src/curl -q --output log/4/curl1325.out --include --trace-ascii log/4/trace1325 --trace-config all --trace-time http://127.0.0.1:36813/we/1325 -L -d "moo" > log/4/stdout1325 2> log/4/stderr1325 ver.response 02:03:13.878684 special request received, no persistency 02:03:13.878693 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1327 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stdin-for-1327 GET /ignore/for/1327 HTTP/1.0 === End of file stdin-for-1327 === Start of file valgrind1327 ==144929== ==144929== Process terminating with default action of signal 4 (SIGILL) ==144929== Illegal opcode at address 0x10B08D ==144929== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144929== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1327 test 1324...[HTTP with --resolve and [ipv6address]] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1324 ../src/curl -q --output log/10/curl1324.out --include --trace-ascii log/10/trace1324 --trace-config all --trace-time --resolve example.com:46331:[::1] http://example.com:46331/1324 > log/10/stdout1324 2> log/10/stderr1324 1324: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1324 === Start of file http_ipv6_server.log 02:03:13.875856 ====> Client connect 02:03:13.875881 accept_connection 3 returned 4 02:03:13.875894 accept_connection 3 returned 0 02:03:13.875905 Read 89 bytes 02:03:13.875914 Process 89 bytes request 02:03:13.875925 Got request: GET /verifiedserver HTTP/1.1 02:03:13.875932 Are-we-friendly question received 02:03:13.875950 Wrote request (89 bytes) input to log/10/server.input 02:03:13.875963 Identifying ourselves as friends 02:03:13.876011 Response sent (56 bytes) and written to log/10/server.response 02:03:13.876019 special request received, no persistency 02:03:13.876027 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:46331... * Connected to ::1 (::1) port 46331 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:46331 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 89559 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1324 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 89559 === End of file server.response === Start of file valgrind1324 ==144917== ==144917== Process terminating with default action of signal 4 (SIGILL) ==144917== Illegal opcode at address 0x10B08D ==144917== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144917== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1324 test 1326...[TELNET to HTTP server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1326 ../src/curl -q --output log/9/curl1326.out --include --trace-ascii log/9/trace1326 --trace-config all --trace-time telnet://127.0.0.1:38509 --upload-file - log/9/stdout1326 2> log/9/stderr1326 1326: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1326 === Start of file http_server.log 02:03:13.878705 ====> Client connect 02:03:13.878777 accept_connection 3 returned 4 02:03:13.878793 accept_connection 3 returned 0 02:03:13.878806 Read 93 bytes 02:03:13.878815 Process 93 bytes request 02:03:13.878826 Got request: GET /verifiedserver HTTP/1.1 02:03:13.878835 Are-we-friendly question received 02:03:13.878864 Wrote request (93 bytes) input to log/9/server.input 02:03:13.878879 Identifying ourselves as friends 02:03:13.878952 Response sent (56 bytes) and written to log/9/server.response 02:03:13.878962 special request received, no persistency 02:03:13.878971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1326 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stdin-for-1326 GET /we/want/1326 HTTP/1.0 === End of file stdin-for-1326 === Start of file valgrind1326 ==144927== ==144927== Process terminating with default action of signal 4 (SIGILL) ==144927== Illegal opcode at address 0x10B08D ==144927== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==144927== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1326 test 1325...[HTTP 308-redirect with POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1325 ../src/curl -q --output log/4/curl1325.out --include --trace-ascii log/4/trace1325 --trace-config all --trace-time http://127.0.0.1:36813/we/1325 -L -d "moo" > log/4/stdout1325 2> log/4/stderr1325 1325: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1325 === Start of file http_server.log 02:03:13.877224 ====> Client connect 02:03:13.877253 accept_connection 3 returned 4 02:03:13.877271 accept_connection 3 returned 0 02:03:13.877285 Read 93 bytes 02:03:13.877297 Process 93 bytes request 02:03:13.877309 Got request: GET /verifiedserver HTTP/1.1 02:03:13.877320 Are-we-friendly question received 02:03:13.877342 Wrote request (93 bytes) input to log/4/server.input 02:03:13.877361 Identifying ourselves as friends 02:03:13.877429 Response sent (56 bytes) and written to log/4/server.response 02:03:13.877440 special request received, no persistency 02:03:13.877451 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1325 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1325 ==144934== ==144934== Process terminating with default action of signal 4 (SIGILL) ==144934== Illegal opcode at address 0x10B08D ==144934== at 0x10B08D: UnknownInlinedFun (string_fortifiedCMD (0): ../src/curl --max-time 13 --output log/5/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:41401/verifiedserver" 2>log/5/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1331 ../src/curl -q --output log/7/curl1331.out --include --trace-ascii log/7/trace1331 --trace-config all --trace-time -U myname:mypassword -x 127.0.0.1:43753 http://z.x.com/1331 --proxy-anyauth -c log/7/dump1331 > log/7/stdout1331 2> log/7/stderr1331 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1328 ../src/curl -q --output log/1/curl1328.out --include --trace-ascii log/1/trace1328 --trace-config all --trace-time -f 'http://127.0.0.1:34215/[13280000-13280001]' -o log/1/#1 > log/1/stdout1328 2> log/1/stderr1328 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1329 ../src/curl -q --output log/12/curl1329.out --include --trace-ascii log/12/trace1329 --trace-config all --trace-time http://127.0.0.1:40653/we/want/that/page/1329 -x "/server" > log/12/stdout1329 2> log/12/stderr1329 CMD (0): ../src/curl --max-time 13 --output log/11/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:41001/verifiedserver" 2>log/11/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1332 ../src/curl -q --output log/3/curl1332.out --include --trace-ascii log/3/trace1332 --trace-config all --trace-time http://127.0.0.1:34527/blah/1332 -L -d "moo" --post303 > log/3/stdout1332 2> log/3/stderr1332 .h:59) ==144934== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1325 test 1331...[HTTP --proxy-anyauth and 407 with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1331 ../src/curl -q --output log/7/curl1331.out --include --trace-ascii log/7/trace1331 --trace-config all --trace-time -U myname:mypassword -x 127.0.0.1:43753 http://z.x.com/1331 --proxy-anyauth -c log/7/dump1331 > log/7/stdout1331 2> log/7/stderr1331 1331: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1331 === Start of file http_server.log 02:03:14.166158 ====> Client connect 02:03:14.166193 accept_connection 3 returned 4 02:03:14.166211 accept_connection 3 returned 0 02:03:14.166224 Read 93 bytes 02:03:14.166234 Process 93 bytes request 02:03:14.166248 Got request: GET /verifiedserver HTTP/1.1 02:03:14.166257 Are-we-friendly question received 02:03:14.166279 Wrote request (93 bytes) input to log/7/server.input 02:03:14.166295 Identifying ourselves as friends 02:03:14.166363 Response sent (56 bytes) and written to log/7/server.response 02:03:14.166373 special request received, no persistency 02:03:14.166382 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1331 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1331 ==145293== ==145293== Process terminating with default action of signal 4 (SIGILL) ==145293== Illegal opcode at address 0x10B08D ==145293== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145293== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1331 test 1328...[HTTP GET a globbed range with -f] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1328 ../src/curl -q --output log/1/curl1328.out --include --trace-ascii log/1/trace1328 --trace-config all --trace-time -f 'http://127.0.0.1:34215/[13280000-13280001]' -o log/1/#1 > log/1/stdout1328 2> log/1/stderr1328 1328: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1328 === Start of file http_server.log 02:03:14.140939 ====> Client connect 02:03:14.140966 accept_connection 3 returned 4 02:03:14.140982 accept_connection 3 returned 0 02:03:14.140994 Read 93 bytes 02:03:14.141004 Process 93 bytes request 02:03:14.141016 Got request: GET /verifiedserver HTTP/1.1 02:03:14.141025 Are-we-friendly question received 02:03:14.141044 Wrote request (93 bytes) input to log/1/server.input 02:03:14.141060 Identifying ourselves as friends 02:03:14.141125 Response sent (56 bytes) and written to log/1/server.response 02:03:14.141135 special request received, no persistency 02:03:14.141143 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1328 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1328 ==145200== ==145200== Process terminating with default action of signal 4 (SIGILL) ==145200== Illegal opcode at address 0x10B08D ==145200== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145200== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1328 test 1329...[/-prefixed proxy name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1329 ../src/curl -q --output log/12/curl1329.out --include --trace-ascii log/12/trace1329 --trace-config all --trace-time http://127.0.0.1:40653/we/want/that/page/1329 -x "/server" > log/12/stdout1329 2> log/12/stderr1329 curl returned 132, when expecting 5 1329: exit FAILED == Contents of files in the log/12/ dir after test 1329 === Start of file http_server.log 02:03:14.140730 ====> Client connect 02:03:14.140757 accept_connection 3 returned 4 02:03:14.140772 accept_connection 3 returned 0 02:03:14.140783 Read 93 bytes 02:03:14.140791 Process 93 bytes request 02:03:14.140803 Got request: GET /verifiedserver HTTP/1.1 02:03:14.140811 Are-we-friendly question received 02:03:14.140833 Wrote request (93 bytes) input to log/12/server.input 02:03:14.140847 Identifying ourselves as friends 02:03:14.140899 Response sent (56 bytes) and written to log/12/server.response 02:03:14.140907 special request received, no persistency 02:03:14.140914 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1329 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1329 ==145193== ==145193== Process terminating with default action of signal 4 (SIGILL) ==145193== Illegal opcode at address 0x10B08D ==145193== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145193== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1329 test 1332...[HTTP POST with 303 redirect and --post303] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1332 ../src/curl -q --output log/3/curl1332.out --include --trace-ascii log/3/trace1332 --trace-config all --trace-time http://127.0.0.1:34527/blah/1332 -L -d "moo" --post303 > log/3/stdout1332 2> log/3/stderr1332 1332: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1332 === Start of file http_server.log 02:03:14.333634 ====> Client connect 02:03:14.333667 accept_connection 3 returned 4 02:03:14.333683 accept_connection 3 returned 0 02:03:14.333697 Read 93 bytes 02:03:14.333708 Process 93 bytes request 02:03:14.333723 Got request: GET /verifiedserver HTTP/1.1 02:03:14.333732 Are-we-friendly question received 02:03:14.333754 Wrote request (93 bytes) input to log/3/server.input 02:03:14.333770 Identifying ourselves as friends 02:03:14.333834 Response sent (56 bytes) and written to log/3/server.respoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1333 ../src/curl -q --output log/6/curl1333.out --include --trace-ascii log/6/trace1333 --trace-config all --trace-time -d "" --header "Transfer-Encoding: chunked" http://127.0.0.1:39457/1333 > log/6/stdout1333 2> log/6/stderr1333 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1337 ../src/curl -q --trace-ascii log/4/trace1337 --trace-config all --trace-time http://127.0.0.1:36813/1337 -O -D - --output-dir log/4 > log/4/stdout1337 2> log/4/stderr1337 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1336 ../src/curl -q --trace-ascii log/9/trace1336 --trace-config all --trace-time http://127.0.0.1:38509/1336 -O -D log/9/heads1336 --output-dir log/9 > log/9/stdout1336 2> log/9/stderr1336 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1334 ../src/curl -q --trace-ascii log/8/trace1334 --trace-config all --trace-time http://127.0.0.1:43803/1334 -O -D log/8/heads1334 --output-dir log/8 > log/8/stdout1334 2> log/8/stderr1334 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1335 ../src/curl -q --trace-ascii log/10/trace1335 --trace-config all --trace-time http://127.0.0.1:42929/1335 -O -D - --output-dir log/10 > log/10/stdout1335 2> log/10/stderr1335 nse 02:03:14.333844 special request received, no persistency 02:03:14.333853 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1332 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1332 ==145412== ==145412== Process terminating with default action of signal 4 (SIGILL) ==145412== Illegal opcode at address 0x10B08D ==145412== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145412== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1332 test 1333...[HTTP POST zero length, chunked-encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1333 ../src/curl -q --output log/6/curl1333.out --include --trace-ascii log/6/trace1333 --trace-config all --trace-time -d "" --header "Transfer-Encoding: chunked" http://127.0.0.1:39457/1333 > log/6/stdout1333 2> log/6/stderr1333 1333: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1333 === Start of file http_server.log 02:03:14.344646 ====> Client connect 02:03:14.344674 accept_connection 3 returned 4 02:03:14.344690 accept_connection 3 returned 0 02:03:14.344704 Read 93 bytes 02:03:14.344715 Process 93 bytes request 02:03:14.344730 Got request: GET /verifiedserver HTTP/1.1 02:03:14.344740 Are-we-friendly question received 02:03:14.344761 Wrote request (93 bytes) input to log/6/server.input 02:03:14.344780 Identifying ourselves as friends 02:03:14.344846 Response sent (56 bytes) and written to log/6/server.response 02:03:14.344858 special request received, no persistency 02:03:14.344868 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1333 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1333 ==145440== ==145440== Process terminating with default action of signal 4 (SIGILL) ==145440== Illegal opcode at address 0x10B08D ==145440== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145440== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1333 test 1337...[HTTP GET with -O and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1337 ../src/curl -q --trace-ascii log/4/trace1337 --trace-config all --trace-time http://127.0.0.1:36813/1337 -O -D - --output-dir log/4 > log/4/stdout1337 2> log/4/stderr1337 1337: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1337 === Start of file http_server.log 02:03:14.383127 ====> Client connect 02:03:14.383151 accept_connection 3 returned 4 02:03:14.383163 accept_connection 3 returned 0 02:03:14.383174 Read 93 bytes 02:03:14.383181 Process 93 bytes request 02:03:14.383193 Got request: GET /verifiedserver HTTP/1.1 02:03:14.383200 Are-we-friendly question received 02:03:14.383216 Wrote request (93 bytes) input to log/4/server.input 02:03:14.383228 Identifying ourselves as friends 02:03:14.383288 Response sent (56 bytes) and written to log/4/server.response 02:03:14.383299 special request received, no persistency 02:03:14.383308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1337 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1337 ==145650== ==145650== Process terminating with default action of signal 4 (SIGILL) ==145650== Illegal opcode at address 0x10B08D ==145650== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145650== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1337 test 1336...[HTTP GET with -O and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1336 ../src/curl -q --trace-ascii log/9/trace1336 --trace-config all --trace-time http://127.0.0.1:38509/1336 -O -D log/9/heads1336 --output-dir log/9 > log/9/stdout1336 2> log/9/stderr1336 1336: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1336 === Start of file http_server.log 02:03:14.367456 ====> Client connect 02:03:14.367487 accept_connection 3 returned 4 02:03:14.367503 accept_connection 3 returned 0 02:03:14.367517 Read 93 bytes 02:03:14.367527 Process 93 bytes request 02:03:14.367541 Got request: GET /verifiedserver HTTP/1.1 02:03:14.367551 Are-we-friendly question received 02:03:14.367574 Wrote request (93 bytes) input to log/9/server.input 02:03:14.367592 Identifying ourselves as friends 02:03:14.367660 Response sent (56 bytes) and written to log/9/server.response 02:03:14.367672 special request received, no persistency 02:03:14.367682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1336 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1336 ==145572== ==145572== Process terminating with default action of signal 4 (SIGILL) ==145572== Illegal opcode at address 0x10B08D ==145572== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145572== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1336 test 1334...[HTTP GET with -O without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=meCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1287 ../src/curl -q --output log/5/curl1287.out --include --trace-ascii log/5/trace1287 --trace-config all --trace-time -v --proxytunnel -x 127.0.0.1:41401 http://test.1287:34719/we/want/that/page/1287 > log/5/stdout1287 2> log/5/stderr1287 mcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1334 ../src/curl -q --trace-ascii log/8/trace1334 --trace-config all --trace-time http://127.0.0.1:43803/1334 -O -D log/8/heads1334 --output-dir log/8 > log/8/stdout1334 2> log/8/stderr1334 1334: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1334 === Start of file http_server.log 02:03:14.349554 ====> Client connect 02:03:14.349583 accept_connection 3 returned 4 02:03:14.349597 accept_connection 3 returned 0 02:03:14.349610 Read 93 bytes 02:03:14.349620 Process 93 bytes request 02:03:14.349634 Got request: GET /verifiedserver HTTP/1.1 02:03:14.349643 Are-we-friendly question received 02:03:14.349664 Wrote request (93 bytes) input to log/8/server.input 02:03:14.349679 Identifying ourselves as friends 02:03:14.349740 Response sent (56 bytes) and written to log/8/server.response 02:03:14.349751 special request received, no persistency 02:03:14.349759 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1334 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1334 ==145464== ==145464== Process terminating with default action of signal 4 (SIGILL) ==145464== Illegal opcode at address 0x10B08D ==145464== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145464== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1334 test 1335...[HTTP GET with -O without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1335 ../src/curl -q --trace-ascii log/10/trace1335 --trace-config all --trace-time http://127.0.0.1:42929/1335 -O -D - --output-dir log/10 > log/10/stdout1335 2> log/10/stderr1335 1335: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1335 === Start of file http_server.log 02:03:14.358081 ====> Client connect 02:03:14.358112 accept_connection 3 returned 4 02:03:14.358129 accept_connection 3 returned 0 02:03:14.358142 Read 93 bytes 02:03:14.358153 Process 93 bytes request 02:03:14.358167 Got request: GET /verifiedserver HTTP/1.1 02:03:14.358178 Are-we-friendly question received 02:03:14.358201 Wrote request (93 bytes) input to log/10/server.input 02:03:14.358228 Identifying ourselves as friends 02:03:14.358301 Response sent (56 bytes) and written to log/10/server.response 02:03:14.358313 special request received, no persistency 02:03:14.358322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1335 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1335 ==145496== ==145496== Process terminating with default action of signal 4 (SIGILL) ==145496== Illegal opcode at address 0x10B08D ==145496== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145496== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1335 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_server.pid" --logfile "log/5/http_server.log" --logdir "log/5" --portfile log/5/server/http_server.port --config log/5/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/5/http_verify.out --silent --verbose --globoff "http://127.0.0.1:34719/verifiedserver" 2>log/5/http_verify.log RUN: HTTP server is on PID 143334 port 34719 * pid http => 143334 143334 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/5/server/http2_server.pid" --logfile "log/5/http2_server.log" --logdir "log/5" --portfile log/5/server/http2_server.port --config log/5/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/5/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:41401/verifiedserver" 2>log/5/http2_verify.log RUN: HTTP2 server is on PID 144522 port 41401 * pid http-proxy => 144522 144522 test 1287...[HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1287 ../src/curl -q --output log/5/curl1287.out --include --trace-ascii log/5/trace1287 --trace-config all --trace-time -v --proxytunnel -x 127.0.0.1:41401 http://test.1287:34719/we/want/that/page/1287 > log/5/stdout1287 2> log/5/stderr1287 1287: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1287 === Start of file http2_server.log 02:03:13.486434 Run as proxy, CONNECT to host 127.0.0.1 02:03:13.486527 Running HTTP IPv4 version on port 41401 02:03:13.486564 Wrote pid 144522 to log/5/server/http2_server.pid 02:03:13.486594 Wrote port 41401 to log/5/server/http2_server.port 02:03:14.484913 ====> Client connect 02:03:14.485126 accept_connection 3 returned 4 02:03:14.485156 accept_connection 3 returned 0 02:03:14.485172 Read 93 bytes 02:03:14.485187 Process 93 bytes request 02:03:14.485212 Got request: GET /verifiedserver HTTP/1.1 02:03:14.485222 Are-we-friendly question received 02:03:14.485250 Wrote request (93 bytes) input to log/5/proxy.input 02:03:14.485272 Identifying ourselves as friends 02:03:14.485350 Response sent (57 bytes) and written to log/5/proxy.response 02:03:14.485364 special request received, no persistency 02:03:14.485374 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41401... * Connected to 127.0.0.1 (127.0.0.1) port 41401 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41401 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 144522 === End of file http2_verify.out === Start of file http_server.log 02:03:12.446554 Running HTTP IPv4 version on port 34719 02:03:12.446640 Wrote pid 143334 to log/5/server/http_server.pid 02:03:12.446673 Wrote port 34719 to log/5/server/http_server.port 02:03:13.457992 ====> Client connect 02:03:13.458012 accept_connection 3 returned 4 02:03:13.458026 accept_connection 3 returned 0 02:03:13.458041 Read 93 bytes 02:03:13.458052 Process 93 bytes request 02:03CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1339 ../src/curl -q --trace-ascii log/1/trace1339 --trace-config all --trace-time http://127.0.0.1:34215/1339 -J -O -D - --output-dir log/1 > log/1/stdout1339 2> log/1/stderr1339 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1338 ../src/curl -q --trace-ascii log/7/trace1338 --trace-config all --trace-time http://127.0.0.1:43753/1338 -J -O -D log/7/heads1338 --output-dir log/7 > log/7/stdout1338 2> log/7/stderr1338 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1340 ../src/curl -q --trace-ascii log/12/trace1340 --trace-config all --trace-time http://127.0.0.1:40653/1340 -J -O -D log/12/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/12 > log/12/stdout1340 2> log/12/stderr1340 :13.458071 Got request: GET /verifiedserver HTTP/1.1 02:03:13.458081 Are-we-friendly question received 02:03:13.458107 Wrote request (93 bytes) input to log/5/server.input 02:03:13.458129 Identifying ourselves as friends 02:03:13.458201 Response sent (57 bytes) and written to log/5/server.response 02:03:13.458217 special request received, no persistency 02:03:13.458227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 144522 === End of file proxy.response === Start of file server.cmd Testnum 1287 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind1287 ==145759== ==145759== Process terminating with default action of signal 4 (SIGILL) ==145759== Illegal opcode at address 0x10B08D ==145759== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145759== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1287 test 1339...[HTTP GET with -O -J without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1339 ../src/curl -q --trace-ascii log/1/trace1339 --trace-config all --trace-time http://127.0.0.1:34215/1339 -J -O -D - --output-dir log/1 > log/1/stdout1339 2> log/1/stderr1339 1339: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1339 === Start of file http_server.log 02:03:14.713351 ====> Client connect 02:03:14.713378 accept_connection 3 returned 4 02:03:14.713394 accept_connection 3 returned 0 02:03:14.713407 Read 93 bytes 02:03:14.713418 Process 93 bytes request 02:03:14.713431 Got request: GET /verifiedserver HTTP/1.1 02:03:14.713440 Are-we-friendly question received 02:03:14.713460 Wrote request (93 bytes) input to log/1/server.input 02:03:14.713475 Identifying ourselves as friends 02:03:14.713532 Response sent (56 bytes) and written to log/1/server.response 02:03:14.713542 special request received, no persistency 02:03:14.713551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1339 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1339 ==145874== ==145874== Process terminating with default action of signal 4 (SIGILL) ==145874== Illegal opcode at address 0x10B08D ==145874== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145874== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1339 test 1338...[HTTP GET with -O -J without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1338 ../src/curl -q --trace-ascii log/7/trace1338 --trace-config all --trace-time http://127.0.0.1:43753/1338 -J -O -D log/7/heads1338 --output-dir log/7 > log/7/stdout1338 2> log/7/stderr1338 1338: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1338 === Start of file http_server.log 02:03:14.708445 ====> Client connect 02:03:14.708510 accept_connection 3 returned 4 02:03:14.708529 accept_connection 3 returned 0 02:03:14.708543 Read 93 bytes 02:03:14.708553 Process 93 bytes request 02:03:14.708566 Got request: GET /verifiedserver HTTP/1.1 02:03:14.708576 Are-we-friendly question received 02:03:14.708601 Wrote request (93 bytes) input to log/7/server.input 02:03:14.708624 Identifying ourselves as friends 02:03:14.708700 Response sent (56 bytes) and written to log/7/server.response 02:03:14.708713 special request received, no persistency 02:03:14.708723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1338 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1338 ==145861== ==145861== Process terminating with default action of signal 4 (SIGILL) ==145861== Illegal opcode at address 0x10B08D ==145861== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145861== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1338 test 1340...[HTTP GET with -O -J and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1340 ../src/curl -q --trace-ascii log/12/trace1340 --trace-config all --trace-time http://127.0.0.1:40653/1340 -J -O -D log/12/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/12 > log/12/stdout1340 2> log/12/stderr1340 1340: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1340 === Start of file http_server.log 02:03:14.708467 ====> Client connect 02:03:14.708506 accept_connection 3 returned 4 02:03:14.708522 accept_connection 3 returned 0 02:03:14.708536 Read 93 bytes 02:03:14.708547 Process 93 bytes request 02:03:14.708561 Got request: GET /verifiedserver HTTP/1.1 02:03:14.708570 Are-we-friendly question received 02:03:14.708593 Wrote request (93 bytes) input to log/12/server.input 02:03:14.708612 Identifying ourselves as friends 02:03:14.708677 Response sent (56 bytes) and written to log/12/server.response 02:03:14.708688 special request received, no persistency 02:03:14.708697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1340 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1319 ../src/curl -q --output log/11/curl1319.out --include --trace-ascii log/11/trace1319 --trace-config all --trace-time pop3://pop.1319:39851/1319 -p -x 127.0.0.1:41001 -u user:secret > log/11/stdout1319 2> log/11/stderr1319 RUN: Process with pid 126918 forced to die with SIGKILL CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1341 ../src/curl -q --trace-ascii log/3/trace1341 --trace-config all --trace-time http://127.0.0.1:34527/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/3 > log/3/stdout1341 2> log/3/stderr1341 Z: 74125 === End of file server.response === Start of file valgrind1340 ==145865== ==145865== Process terminating with default action of signal 4 (SIGILL) ==145865== Illegal opcode at address 0x10B08D ==145865== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145865== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1340 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/11/server/http2_server.pid" --logfile "log/11/http2_server.log" --logdir "log/11" --portfile log/11/server/http2_server.port --config log/11/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/11/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:41001/verifiedserver" 2>log/11/http2_verify.log RUN: HTTP2 server is on PID 144734 port 41001 * pid http-proxy => 144734 144734 test 1319...[POP3 fetch tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1319 ../src/curl -q --output log/11/curl1319.out --include --trace-ascii log/11/trace1319 --trace-config all --trace-time pop3://pop.1319:39851/1319 -p -x 127.0.0.1:41001 -u user:secret > log/11/stdout1319 2> log/11/stderr1319 1319: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1319 === Start of file http2_server.log 02:03:13.728390 Run as proxy, CONNECT to host 127.0.0.1 02:03:13.728503 Running HTTP IPv4 version on port 41001 02:03:13.728543 Wrote pid 144734 to log/11/server/http2_server.pid 02:03:13.728573 Wrote port 41001 to log/11/server/http2_server.port 02:03:14.739509 ====> Client connect 02:03:14.739531 accept_connection 3 returned 4 02:03:14.739545 accept_connection 3 returned 0 02:03:14.739559 Read 93 bytes 02:03:14.739571 Process 93 bytes request 02:03:14.739593 Got request: GET /verifiedserver HTTP/1.1 02:03:14.739603 Are-we-friendly question received 02:03:14.739626 Wrote request (93 bytes) input to log/11/proxy.input 02:03:14.739648 Identifying ourselves as friends 02:03:14.739730 Response sent (57 bytes) and written to log/11/proxy.response 02:03:14.739741 special request received, no persistency 02:03:14.739755 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41001... * Connected to 127.0.0.1 (127.0.0.1) port 41001 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41001 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 144734 === End of file http2_verify.out === Start of file pop3_server.log 02:03:13.469378 ====> Client connect 02:03:13.469486 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:03:13.469741 < "CAPA" 02:03:13.469777 > "-ERR Unrecognized command[CR][LF]" 02:03:13.469941 < "RETR verifiedserver" 02:03:13.469965 return proof we are we 02:03:13.469983 > "+OK Mail transfer starts[CR][LF]" 02:03:13.469998 > "WE ROOLZ: 117767[CR][LF]" 02:03:13.470012 > ".[CR][LF]" 02:03:13.511973 < "QUIT" 02:03:13.512025 > "+OK curl POP3 server signing off[CR][LF]" 02:03:13.512238 MAIN sockfilt said DISC 02:03:13.512267 ====> Client disconnected 02:03:13.512326 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:03:13.669429 ====> Client connect 02:03:13.669636 Received DATA (on stdin) 02:03:13.669649 > 178 bytes data, server => client 02:03:13.669661 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:03:13.669672 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:03:13.669682 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:03:13.669691 've \r\n' 02:03:13.669755 < 6 bytes data, client => server 02:03:13.669767 'CAPA\r\n' 02:03:13.669916 Received DATA (on stdin) 02:03:13.669927 > 27 bytes data, server => client 02:03:13.669937 '-ERR Unrecognized command\r\n' 02:03:13.669993 < 21 bytes data, client => server 02:03:13.670004 'RETR verifiedserver\r\n' 02:03:13.670149 Received DATA (on stdin) 02:03:13.670159 > 26 bytes data, server => client 02:03:13.670169 '+OK Mail transfer starts\r\n' 02:03:13.670192 Received DATA (on stdin) 02:03:13.670201 > 18 bytes data, server => client 02:03:13.670210 'WE ROOLZ: 117767\r\n' 02:03:13.670221 Received DATA (on stdin) 02:03:13.670230 > 3 bytes data, server => client 02:03:13.670239 '.\r\n' 02:03:13.711943 < 6 bytes data, client => server 02:03:13.711971 'QUIT\r\n' 02:03:13.712168 Received DATA (on stdin) 02:03:13.712180 > 34 bytes data, server => client 02:03:13.712191 '+OK curl POP3 server signing off\r\n' 02:03:13.712327 ====> Client disconnect 02:03:13.712468 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 144734 === End of file proxy.response === Start of file server.cmd Testnum 1319 === End of file server.cmd === Start of file valgrind1319 ==145990== ==145990== Process terminating with default action of signal 4 (SIGILL) ==145990== Illegal opcode at address 0x10B08D ==145990== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==145990== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1319 test 1238...[slow TFTP retrieve cancel due to -Y and -y] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1238 ../src/curl -q --output log/2/curl1238.out --include --trace-ascii log/2/trace1238 --trace-config all --trace-time tftp://127.0.0.1:56121//1238 -Y1000 -y2 > log/2/stdout1238 2> log/2/stderr1238 1238: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1238 === Start of file server.cmd writedelay: 2000 Testnum 1238 === End of file server.cmd === Start of file tftp_server.log 02:03:08.703655 trying to get file: verifiedserver mode 1 02:03:08.703693 Are-we-friendly question received 02:03:08.703706 write 02:03:08.703733 read 02:03:08.704382 read: 4 02:03:08.704641 end of one transfer 02:03:09.328332 exit_signal_handler: 15 === End of file tftp_server.log === Start of file valgrind1238 ==140427== ==140427== Process terminating with default action of signal 4 (SIGILL) ==140427== Illegal opcode at address 0x10B08D ==140427== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==140427== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1238 test 1341...[HTTP GET with -O -J and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1341 ../src/curl -q --trace-ascii log/3/trace1341 --trace-config all --trace-time http://127.0.0.1:34527/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/3 > log/3/stdout1341 2> log/3/stderr1341 1341: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1341 === Start of file http_server.log 02:03:14.951453 ====> Client connect 02:03:14.951488 accept_connection 3 returned 4 02:03:14.951532 accept_connection 3 returned 0 02:03:14.951548 Read 93 bytes 02:03:14.951559 Process 93 bytes request 02:03:14.951574 Got request: GET /verifiedserver HTTP/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1342 ../src/curl -q --trace-ascii log/6/trace1342 --trace-config all --trace-time http://127.0.0.1:39457/1342 -i -O -D log/6/heads1342 --output-dir log/6 > log/6/stdout1342 2> log/6/stderr1342 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1344 ../src/curl -q --trace-ascii log/9/trace1344 --trace-config all --trace-time http://127.0.0.1:38509/1344 -i -O -D log/9/heads1344 --output-dir log/9 > log/9/stdout1344 2> log/9/stderr1344 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1343 ../src/curl -q --trace-ascii log/4/trace1343 --trace-config all --trace-time http://127.0.0.1:36813/1343 -i -O -D - --output-dir log/4 > log/4/stdout1343 2> log/4/stderr1343 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1345 ../src/curl -q --trace-ascii log/10/trace1345 --trace-config all --trace-time http://127.0.0.1:42929/1345 -i -O -D - --output-dir log/10 > log/10/stdout1345 2> log/10/stderr1345 1.1 02:03:14.951584 Are-we-friendly question received 02:03:14.951608 Wrote request (93 bytes) input to log/3/server.input 02:03:14.951625 Identifying ourselves as friends 02:03:14.951703 Response sent (56 bytes) and written to log/3/server.response 02:03:14.951715 special request received, no persistency 02:03:14.951725 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1341 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1341 ==146164== ==146164== Process terminating with default action of signal 4 (SIGILL) ==146164== Illegal opcode at address 0x10B08D ==146164== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146164== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1341 test 1342...[HTTP GET with -O -i without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1342 ../src/curl -q --trace-ascii log/6/trace1342 --trace-config all --trace-time http://127.0.0.1:39457/1342 -i -O -D log/6/heads1342 --output-dir log/6 > log/6/stdout1342 2> log/6/stderr1342 1342: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1342 === Start of file http_server.log 02:03:14.960290 ====> Client connect 02:03:14.960319 accept_connection 3 returned 4 02:03:14.960337 accept_connection 3 returned 0 02:03:14.960351 Read 93 bytes 02:03:14.960362 Process 93 bytes request 02:03:14.960374 Got request: GET /verifiedserver HTTP/1.1 02:03:14.960385 Are-we-friendly question received 02:03:14.960409 Wrote request (93 bytes) input to log/6/server.input 02:03:14.960427 Identifying ourselves as friends 02:03:14.961349 Response sent (56 bytes) and written to log/6/server.response 02:03:14.961366 special request received, no persistency 02:03:14.961376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1342 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1342 ==146179== ==146179== Process terminating with default action of signal 4 (SIGILL) ==146179== Illegal opcode at address 0x10B08D ==146179== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146179== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1342 test 1344...[HTTP GET with -O -i and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1344 ../src/curl -q --trace-ascii log/9/trace1344 --trace-config all --trace-time http://127.0.0.1:38509/1344 -i -O -D log/9/heads1344 --output-dir log/9 > log/9/stdout1344 2> log/9/stderr1344 1344: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1344 === Start of file http_server.log 02:03:14.968537 ====> Client connect 02:03:14.968570 accept_connection 3 returned 4 02:03:14.968587 accept_connection 3 returned 0 02:03:14.968601 Read 93 bytes 02:03:14.968612 Process 93 bytes request 02:03:14.968624 Got request: GET /verifiedserver HTTP/1.1 02:03:14.968634 Are-we-friendly question received 02:03:14.968659 Wrote request (93 bytes) input to log/9/server.input 02:03:14.968677 Identifying ourselves as friends 02:03:14.968746 Response sent (56 bytes) and written to log/9/server.response 02:03:14.968757 special request received, no persistency 02:03:14.968766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1344 ==146196== ==146196== Process terminating with default action of signal 4 (SIGILL) ==146196== Illegal opcode at address 0x10B08D ==146196== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146196== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1344 test 1343...[HTTP GET with -O -i without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1343 ../src/curl -q --trace-ascii log/4/trace1343 --trace-config all --trace-time http://127.0.0.1:36813/1343 -i -O -D - --output-dir log/4 > log/4/stdout1343 2> log/4/stderr1343 1343: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1343 === Start of file http_server.log 02:03:14.960211 ====> Client connect 02:03:14.960250 accept_connection 3 returned 4 02:03:14.960267 accept_connection 3 returned 0 02:03:14.960282 Read 93 bytes 02:03:14.960292 Process 93 bytes request 02:03:14.960307 Got request: GET /verifiedserver HTTP/1.1 02:03:14.960317 Are-we-friendly question received 02:03:14.960339 Wrote request (93 bytes) input to log/4/server.input 02:03:14.960357 Identifying ourselves as friends 02:03:14.960516 Response sent (56 bytes) and written to log/4/server.response 02:03:14.961070 special request received, no persistency 02:03:14.961084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1343 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1343 ==146176== ==146176== Process terminating with default action of signal 4 (SIGILL) ==146176== Illegal opcode at address 0x10B08D ==146176== at 0x10B08DCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1346 ../src/curl -q --trace-ascii log/8/trace1346 --trace-config all --trace-time http://127.0.0.1:43803/1346 -i -O --output-dir log/8 > log/8/stdout1346 2> log/8/stderr1346 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1347 ../src/curl -q --trace-ascii log/5/trace1347 --trace-config all --trace-time http://127.0.0.1:34719/1347 -i -O --output-dir log/5 > log/5/stdout1347 2> log/5/stderr1347 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1350 ../src/curl -q --trace-ascii log/12/trace1350 --trace-config all --trace-time ftp://127.0.0.1:40171/path/file1350 -O -D - --output-dir log/12 > log/12/stdout1350 2> log/12/stderr1350 : UnknownInlinedFun (string_fortified.h:59) ==146176== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1343 test 1345...[HTTP GET with -O -i and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1345 ../src/curl -q --trace-ascii log/10/trace1345 --trace-config all --trace-time http://127.0.0.1:42929/1345 -i -O -D - --output-dir log/10 > log/10/stdout1345 2> log/10/stderr1345 1345: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1345 === Start of file http_server.log 02:03:14.967727 ====> Client connect 02:03:14.967759 accept_connection 3 returned 4 02:03:14.967776 accept_connection 3 returned 0 02:03:14.967885 Read 93 bytes 02:03:14.967899 Process 93 bytes request 02:03:14.967913 Got request: GET /verifiedserver HTTP/1.1 02:03:14.967923 Are-we-friendly question received 02:03:14.967949 Wrote request (93 bytes) input to log/10/server.input 02:03:14.967967 Identifying ourselves as friends 02:03:14.968031 Response sent (56 bytes) and written to log/10/server.response 02:03:14.968042 special request received, no persistency 02:03:14.968052 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1345 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1345 ==146201== ==146201== Process terminating with default action of signal 4 (SIGILL) ==146201== Illegal opcode at address 0x10B08D ==146201== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146201== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1345 test 1346...[HTTP GET with -O -i without Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1346 ../src/curl -q --trace-ascii log/8/trace1346 --trace-config all --trace-time http://127.0.0.1:43803/1346 -i -O --output-dir log/8 > log/8/stdout1346 2> log/8/stderr1346 1346: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1346 === Start of file http_server.log 02:03:14.968277 ====> Client connect 02:03:14.968305 accept_connection 3 returned 4 02:03:14.968321 accept_connection 3 returned 0 02:03:14.968334 Read 93 bytes 02:03:14.968344 Process 93 bytes request 02:03:14.968356 Got request: GET /verifiedserver HTTP/1.1 02:03:14.968366 Are-we-friendly question received 02:03:14.968388 Wrote request (93 bytes) input to log/8/server.input 02:03:14.968404 Identifying ourselves as friends 02:03:14.968467 Response sent (56 bytes) and written to log/8/server.response 02:03:14.968483 special request received, no persistency 02:03:14.968493 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1346 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1346 ==146184== ==146184== Process terminating with default action of signal 4 (SIGILL) ==146184== Illegal opcode at address 0x10B08D ==146184== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146184== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1346 test 1347...[HTTP GET with -O -i and Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1347 ../src/curl -q --trace-ascii log/5/trace1347 --trace-config all --trace-time http://127.0.0.1:34719/1347 -i -O --output-dir log/5 > log/5/stdout1347 2> log/5/stderr1347 1347: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1347 === Start of file http_server.log 02:03:15.208205 ====> Client connect 02:03:15.208240 accept_connection 3 returned 4 02:03:15.208254 accept_connection 3 returned 0 02:03:15.208266 Read 93 bytes 02:03:15.208275 Process 93 bytes request 02:03:15.208288 Got request: GET /verifiedserver HTTP/1.1 02:03:15.208296 Are-we-friendly question received 02:03:15.208316 Wrote request (93 bytes) input to log/5/server.input 02:03:15.208330 Identifying ourselves as friends 02:03:15.208385 Response sent (57 bytes) and written to log/5/server.response 02:03:15.208394 special request received, no persistency 02:03:15.208402 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1347 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind1347 ==146476== ==146476== Process terminating with default action of signal 4 (SIGILL) ==146476== Illegal opcode at address 0x10B08D ==146476== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146476== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1347 test 1350...[FTP download, file without C-D inside, using -O -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1350 ../src/curl -q --trace-ascii log/12/trace1350 --trace-config all --trace-time ftp://127.0.0.1:40171/path/file1350 -O -D - --output-dir log/12 > log/12/stdout1350 2> log/12/stderr1350 1350: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1350 === Start of file ftp_server.log 02:03:15.133333 ====> Client connect 02:03:15.133459 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.133713 < "USER anonymous" 02:03:15.133744 > "331 We are happy you popped in![CR][LF]" 02:03:15.133900 < "PASS ftp@example.com" 02:03:15.133925 > "230 Welcome you silly person[CR][LF]" 02:03:15.134071 < "PWD" 02:03:15.134100 > "2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1348 ../src/curl -q --trace-ascii log/1/trace1348 --trace-config all --trace-time ftp://127.0.0.1:44405/path/file1348 -O --output-dir log/1 > log/1/stdout1348 2> log/1/stderr1348 57 "/" is current directory[CR][LF]" 02:03:15.134258 < "EPSV" 02:03:15.134281 ====> Passive DATA channel requested by client 02:03:15.134294 DATA sockfilt for passive data channel starting... 02:03:15.135802 DATA sockfilt for passive data channel started (pid 146585) 02:03:15.135897 DATA sockfilt for passive data channel listens on port 37935 02:03:15.135929 > "229 Entering Passive Mode (|||37935|)[LF]" 02:03:15.135945 Client has been notified that DATA conn will be accepted on port 37935 02:03:15.136181 Client connects to port 37935 02:03:15.136213 ====> Client established passive DATA connection on port 37935 02:03:15.136274 < "TYPE I" 02:03:15.136301 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.136470 < "SIZE verifiedserver" 02:03:15.136510 > "213 17[CR][LF]" 02:03:15.136674 < "RETR verifiedserver" 02:03:15.136705 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.136782 =====> Closing passive DATA connection... 02:03:15.136797 Server disconnects passive DATA connection 02:03:15.137013 Server disconnected passive DATA connection 02:03:15.137040 DATA sockfilt for passive data channel quits (pid 146585) 02:03:15.137216 DATA sockfilt for passive data channel quit (pid 146585) 02:03:15.137236 =====> Closed passive DATA connection 02:03:15.137260 > "226 File transfer complete[CR][LF]" 02:03:15.182538 < "QUIT" 02:03:15.182585 > "221 bye bye baby[CR][LF]" 02:03:15.183468 MAIN sockfilt said DISC 02:03:15.183501 ====> Client disconnected 02:03:15.183553 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.333387 ====> Client connect 02:03:15.333607 Received DATA (on stdin) 02:03:15.333621 > 160 bytes data, server => client 02:03:15.333634 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.333646 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.333657 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.333727 < 16 bytes data, client => server 02:03:15.333740 'USER anonymous\r\n' 02:03:15.333884 Received DATA (on stdin) 02:03:15.333896 > 33 bytes data, server => client 02:03:15.333908 '331 We are happy you popped in!\r\n' 02:03:15.333958 < 22 bytes data, client => server 02:03:15.333971 'PASS ftp@example.com\r\n' 02:03:15.334064 Received DATA (on stdin) 02:03:15.334076 > 30 bytes data, server => client 02:03:15.334087 '230 Welcome you silly person\r\n' 02:03:15.334134 < 5 bytes data, client => server 02:03:15.334145 'PWD\r\n' 02:03:15.334238 Received DATA (on stdin) 02:03:15.334250 > 30 bytes data, server => client 02:03:15.334261 '257 "/" is current directory\r\n' 02:03:15.334318 < 6 bytes data, client => server 02:03:15.334329 'EPSV\r\n' 02:03:15.336087 Received DATA (on stdin) 02:03:15.336101 > 38 bytes data, server => client 02:03:15.336112 '229 Entering Passive Mode (|||37935|)\n' 02:03:15.336235 < 8 bytes data, client => server 02:03:15.336253 'TYPE I\r\n' 02:03:15.336442 Received DATA (on stdin) 02:03:15.336455 > 33 bytes data, server => client 02:03:15.336467 '200 I modify TYPE as you wanted\r\n' 02:03:15.336521 < 21 bytes data, client => server 02:03:15.336534 'SIZE verifiedserver\r\n' 02:03:15.336652 Received DATA (on stdin) 02:03:15.336665 > 8 bytes data, server => client 02:03:15.336676 '213 17\r\n' 02:03:15.336730 < 21 bytes data, client => server 02:03:15.336743 'RETR verifiedserver\r\n' 02:03:15.336937 Received DATA (on stdin) 02:03:15.336949 > 29 bytes data, server => client 02:03:15.336960 '150 Binary junk (17 bytes).\r\n' 02:03:15.337399 Received DATA (on stdin) 02:03:15.337412 > 28 bytes data, server => client 02:03:15.337423 '226 File transfer complete\r\n' 02:03:15.382532 < 6 bytes data, client => server 02:03:15.382555 'QUIT\r\n' 02:03:15.382727 Received DATA (on stdin) 02:03:15.382740 > 18 bytes data, server => client 02:03:15.382752 '221 bye bye baby\r\n' 02:03:15.383356 ====> Client disconnect 02:03:15.383695 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.335686 Running IPv4 version 02:03:15.335733 Listening on port 37935 02:03:15.335766 Wrote pid 146585 to log/12/server/ftp_sockdata.pid 02:03:15.335880 Received PING (on stdin) 02:03:15.335960 Received PORT (on stdin) 02:03:15.336273 ====> Client connect 02:03:15.336987 Received DATA (on stdin) 02:03:15.337000 > 17 bytes data, server => client 02:03:15.337012 'WE ROOLZ: 80450\r\n' 02:03:15.337038 Received DISC (on stdin) 02:03:15.337051 ====> Client forcibly disconnected 02:03:15.337185 Received QUIT (on stdin) 02:03:15.337196 quits 02:03:15.337238 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1350 === End of file server.cmd === Start of file valgrind1350 ==146626== ==146626== Process terminating with default action of signal 4 (SIGILL) ==146626== Illegal opcode at address 0x10B08D ==146626== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146626== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1350 test 1348...[FTP download, file without Content-Disposition inside, using -O] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1348 ../src/curl -q --trace-ascii log/1/trace1348 --trace-config all --trace-time ftp://127.0.0.1:44405/path/file1348 -O --output-dir log/1 > log/1/stdout1348 2> log/1/stderr1348 1348: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1348 === Start of file ftp_server.log 02:03:15.130573 ====> Client connect 02:03:15.130722 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.131027 < "USER anonymous" 02:03:15.131058 > "331 We are happy you popped in![CR][LF]" 02:03:15.131212 < "PASS ftp@example.com" 02:03:15.131234 > "230 Welcome you silly person[CR][LF]" 02:03:15.131372 < "PWD" 02:03:15.131400 > "257 "/" is current directory[CR][LF]" 02:03:15.131543 < "EPSV" 02:03:15.131563 ====> Passive DATA channel requested by client 02:03:15.131576 DATA sockfilt for passive data channel starting... 02:03:15.133031 DATA sockfilt for passive data channel started (pid 146583) 02:03:15.133119 DATA sockfilt for passive data channel listens on port 39547 02:03:15.133152 > "229 Entering Passive Mode (|||39547|)[LF]" 02:03:15.133167 Client has been notified that DATA conn will be accepted on port 39547 02:03:15.133374 Client connects to port 39547 02:03:15.133400 ====> Client established passive DATA connection on port 39547 02:03:15.133457 < "TYPE I" 02:03:15.133481 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.133647 < "SIZE verifiedserver" 02:03:15.133682 > "213 17[CR][LF]" 02:03:15.133851 < "RETR verifiedserver" 02:03:15.133887 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.133960 =====> Closing passive DATA connection... 02:03:15.133975 Server disconnects passive DATA connection 02:03:15.134208 Server disconnected passive DATA connection 02:03:15.134237 DATA sockfilt for passive data channel quits (pid 146583) 02:03:15.134427 DATA sockfilt for passive data channel quit (pid 146583) 02:03:15.134452 =====> Closed passive DATA connection 02:03:15.134477 > "226 File transfer complete[CR][LF]" 02:03:15.176188 < "QUIT" 02:03:15.176223 > "221 bye bye baby[CR][LF]" 02:03:15.176770 MAIN sockfilt said DISC 02:03:15.176803 ====> Client disconnected 02:03:15.176858 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.330616 ====> Client connect 02:03:15.330897 Received DATA (on stdin) 02:03:15.330913 > 160 bytes data, server => client 02:03:15.330927 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.330939 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.330950 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1349 ../src/curl -q --trace-ascii log/7/trace1349 --trace-config all --trace-time ftp://127.0.0.1:40455/path/file1349 -O -D log/7/heads1349 --output-dir log/7 > log/7/stdout1349 2> log/7/stderr1349 02:03:15.331018 < 16 bytes data, client => server 02:03:15.331030 'USER anonymous\r\n' 02:03:15.331199 Received DATA (on stdin) 02:03:15.331210 > 33 bytes data, server => client 02:03:15.331221 '331 We are happy you popped in!\r\n' 02:03:15.331271 < 22 bytes data, client => server 02:03:15.331283 'PASS ftp@example.com\r\n' 02:03:15.331370 Received DATA (on stdin) 02:03:15.331382 > 30 bytes data, server => client 02:03:15.331393 '230 Welcome you silly person\r\n' 02:03:15.331438 < 5 bytes data, client => server 02:03:15.331448 'PWD\r\n' 02:03:15.331537 Received DATA (on stdin) 02:03:15.331548 > 30 bytes data, server => client 02:03:15.331558 '257 "/" is current directory\r\n' 02:03:15.331610 < 6 bytes data, client => server 02:03:15.331621 'EPSV\r\n' 02:03:15.333308 Received DATA (on stdin) 02:03:15.333322 > 38 bytes data, server => client 02:03:15.333334 '229 Entering Passive Mode (|||39547|)\n' 02:03:15.333440 < 8 bytes data, client => server 02:03:15.333454 'TYPE I\r\n' 02:03:15.333621 Received DATA (on stdin) 02:03:15.333634 > 33 bytes data, server => client 02:03:15.333646 '200 I modify TYPE as you wanted\r\n' 02:03:15.333700 < 21 bytes data, client => server 02:03:15.333714 'SIZE verifiedserver\r\n' 02:03:15.333826 Received DATA (on stdin) 02:03:15.333841 > 8 bytes data, server => client 02:03:15.333851 '213 17\r\n' 02:03:15.333903 < 21 bytes data, client => server 02:03:15.333919 'RETR verifiedserver\r\n' 02:03:15.334212 Received DATA (on stdin) 02:03:15.334225 > 29 bytes data, server => client 02:03:15.334237 '150 Binary junk (17 bytes).\r\n' 02:03:15.334619 Received DATA (on stdin) 02:03:15.334633 > 28 bytes data, server => client 02:03:15.334644 '226 File transfer complete\r\n' 02:03:15.376201 < 6 bytes data, client => server 02:03:15.376218 'QUIT\r\n' 02:03:15.376360 Received DATA (on stdin) 02:03:15.376369 > 18 bytes data, server => client 02:03:15.376378 '221 bye bye baby\r\n' 02:03:15.376863 ====> Client disconnect 02:03:15.376999 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.332920 Running IPv4 version 02:03:15.332967 Listening on port 39547 02:03:15.333004 Wrote pid 146583 to log/1/server/ftp_sockdata.pid 02:03:15.333120 Received PING (on stdin) 02:03:15.333186 Received PORT (on stdin) 02:03:15.333471 ====> Client connect 02:03:15.334115 Received DATA (on stdin) 02:03:15.334129 > 17 bytes data, server => client 02:03:15.334141 'WE ROOLZ: 88524\r\n' 02:03:15.334172 Received DISC (on stdin) 02:03:15.334186 ====> Client forcibly disconnected 02:03:15.334384 Received QUIT (on stdin) 02:03:15.334397 quits 02:03:15.334448 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1348 === End of file server.cmd === Start of file valgrind1348 ==146591== ==146591== Process terminating with default action of signal 4 (SIGILL) ==146591== Illegal opcode at address 0x10B08D ==146591== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146591== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1348 test 1349...[FTP download, file without C-D inside, using -O -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1349 ../src/curl -q --trace-ascii log/7/trace1349 --trace-config all --trace-time ftp://127.0.0.1:40455/path/file1349 -O -D log/7/heads1349 --output-dir log/7 > log/7/stdout1349 2> log/7/stderr1349 1349: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1349 === Start of file ftp_server.log 02:03:15.130829 ====> Client connect 02:03:15.131092 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.131359 < "USER anonymous" 02:03:15.131394 > "331 We are happy you popped in![CR][LF]" 02:03:15.131565 < "PASS ftp@example.com" 02:03:15.131592 > "230 Welcome you silly person[CR][LF]" 02:03:15.131844 < "PWD" 02:03:15.131877 > "257 "/" is current directory[CR][LF]" 02:03:15.132045 < "EPSV" 02:03:15.132070 ====> Passive DATA channel requested by client 02:03:15.132084 DATA sockfilt for passive data channel starting... 02:03:15.133814 DATA sockfilt for passive data channel started (pid 146584) 02:03:15.133904 DATA sockfilt for passive data channel listens on port 45733 02:03:15.133935 > "229 Entering Passive Mode (|||45733|)[LF]" 02:03:15.133951 Client has been notified that DATA conn will be accepted on port 45733 02:03:15.134158 Client connects to port 45733 02:03:15.134185 ====> Client established passive DATA connection on port 45733 02:03:15.134246 < "TYPE I" 02:03:15.134270 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.134415 < "SIZE verifiedserver" 02:03:15.134444 > "213 18[CR][LF]" 02:03:15.134594 < "RETR verifiedserver" 02:03:15.134631 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:15.134699 =====> Closing passive DATA connection... 02:03:15.134721 Server disconnects passive DATA connection 02:03:15.134783 Server disconnected passive DATA connection 02:03:15.134807 DATA sockfilt for passive data channel quits (pid 146584) 02:03:15.134974 DATA sockfilt for passive data channel quit (pid 146584) 02:03:15.134994 =====> Closed passive DATA connection 02:03:15.135017 > "226 File transfer complete[CR][LF]" 02:03:15.175301 < "QUIT" 02:03:15.175341 > "221 bye bye baby[CR][LF]" 02:03:15.175884 MAIN sockfilt said DISC 02:03:15.175907 ====> Client disconnected 02:03:15.175953 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:14.330620 ====> Client connect 02:03:14.331244 Received DATA (on stdin) 02:03:14.331260 > 160 bytes data, server => client 02:03:14.331273 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:14.331285 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:14.331297 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:14.331369 < 16 bytes data, client => server 02:03:14.331383 'USER anonymous\r\n' 02:03:14.331536 Received DATA (on stdin) 02:03:14.331550 > 33 bytes data, server => client 02:03:14.331561 '331 We are happy you popped in!\r\n' 02:03:14.331615 < 22 bytes data, client => server 02:03:14.331629 'PASS ftp@example.com\r\n' 02:03:14.331783 Received DATA (on stdin) 02:03:14.331805 > 30 bytes data, server => client 02:03:14.331827 '230 Welcome you silly person\r\n' 02:03:14.331891 < 5 bytes data, client => server 02:03:14.331906 'PWD\r\n' 02:03:14.332017 Received DATA (on stdin) 02:03:14.332029 > 30 bytes data, server => client 02:03:14.332040 '257 "/" is current directory\r\n' 02:03:14.332098 < 6 bytes data, client => server 02:03:14.332112 'EPSV\r\n' 02:03:14.334092 Received DATA (on stdin) 02:03:14.334106 > 38 bytes data, server => client 02:03:14.334118 '229 Entering Passive Mode (|||45733|)\n' 02:03:14.334224 < 8 bytes data, client => server 02:03:14.334238 'TYPE I\r\n' 02:03:14.334408 Received DATA (on stdin) 02:03:14.334420 > 33 bytes data, server => client 02:03:14.334430 '200 I modify TYPE as you wanted\r\n' 02:03:14.334478 < 21 bytes data, client => server 02:03:14.334489 'SIZE verifiedserver\r\n' 02:03:14.334582 Received DATA (on stdin) 02:03:14.334593 > 8 bytes data, server => client 02:03:14.334603 '213 18\r\n' 02:03:14.334648 < 21 bytes data, client => server 02:03:14.334659 'RETR verifiedserver\r\n' 02:03:14.334862 Received DATA (on stdin) 02:03:14.334876 > 29 bytes data, server => client 02:03:14.334888 '150 Binary junk (18 bytes).\r\n' 02:03:14.335162 Received DATA (on stdin) 02:03:14.335181 > 28 bytes data, server => client 02:03:14.335193 '226 File transfer complete\r\n' 02:03:14.375292 < 6 bytes data, client => server 02:03:14.375315 'QUIT\r\n' 02:03:14.375479 Received DATA (on stdin) 02:03:14.375489 > 18 bytes data, server => client 02:03:14.37549CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1351 ../src/curl -q --trace-ascii log/11/trace1351 --trace-config all --trace-time ftp://127.0.0.1:45687/path/file1351 -O -J -D log/11/heads1351 --output-dir log/11 > log/11/stdout1351 2> log/11/stderr1351 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1352 ../src/curl -q --trace-ascii log/2/trace1352 --trace-config all --trace-time ftp://127.0.0.1:36595/path/file1352 -O -J -D - --output-dir log/2 > log/2/stdout1352 2> log/2/stderr1352 8 '221 bye bye baby\r\n' 02:03:14.375980 ====> Client disconnect 02:03:14.376087 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.333667 Running IPv4 version 02:03:15.333717 Listening on port 45733 02:03:15.333749 Wrote pid 146584 to log/7/server/ftp_sockdata.pid 02:03:15.333900 Received PING (on stdin) 02:03:15.333968 Received PORT (on stdin) 02:03:15.334256 ====> Client connect 02:03:15.334781 Received DATA (on stdin) 02:03:15.334793 > 18 bytes data, server => client 02:03:15.334804 'WE ROOLZ: 134972\r\n' 02:03:15.334860 Received DISC (on stdin) 02:03:15.334873 ====> Client forcibly disconnected 02:03:15.334952 Received QUIT (on stdin) 02:03:15.334962 quits 02:03:15.335003 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1349 === End of file server.cmd === Start of file valgrind1349 ==146590== ==146590== Process terminating with default action of signal 4 (SIGILL) ==146590== Illegal opcode at address 0x10B08D ==146590== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146590== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1349 test 1351...[FTP download, file without C-D inside, using -O -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1351 ../src/curl -q --trace-ascii log/11/trace1351 --trace-config all --trace-time ftp://127.0.0.1:45687/path/file1351 -O -J -D log/11/heads1351 --output-dir log/11 > log/11/stdout1351 2> log/11/stderr1351 1351: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1351 === Start of file ftp_server.log 02:03:15.134501 ====> Client connect 02:03:15.134627 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.134888 < "USER anonymous" 02:03:15.134920 > "331 We are happy you popped in![CR][LF]" 02:03:15.135165 < "PASS ftp@example.com" 02:03:15.135190 > "230 Welcome you silly person[CR][LF]" 02:03:15.135349 < "PWD" 02:03:15.135381 > "257 "/" is current directory[CR][LF]" 02:03:15.135554 < "EPSV" 02:03:15.135579 ====> Passive DATA channel requested by client 02:03:15.135593 DATA sockfilt for passive data channel starting... 02:03:15.136877 DATA sockfilt for passive data channel started (pid 146586) 02:03:15.136950 DATA sockfilt for passive data channel listens on port 45215 02:03:15.136982 > "229 Entering Passive Mode (|||45215|)[LF]" 02:03:15.137000 Client has been notified that DATA conn will be accepted on port 45215 02:03:15.137223 Client connects to port 45215 02:03:15.137252 ====> Client established passive DATA connection on port 45215 02:03:15.137312 < "TYPE I" 02:03:15.137337 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.137492 < "SIZE verifiedserver" 02:03:15.137524 > "213 17[CR][LF]" 02:03:15.137678 < "RETR verifiedserver" 02:03:15.137711 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.137774 =====> Closing passive DATA connection... 02:03:15.137786 Server disconnects passive DATA connection 02:03:15.137847 Server disconnected passive DATA connection 02:03:15.137870 DATA sockfilt for passive data channel quits (pid 146586) 02:03:15.138043 DATA sockfilt for passive data channel quit (pid 146586) 02:03:15.138058 =====> Closed passive DATA connection 02:03:15.138080 > "226 File transfer complete[CR][LF]" 02:03:15.178635 < "QUIT" 02:03:15.178678 > "221 bye bye baby[CR][LF]" 02:03:15.179299 MAIN sockfilt said DISC 02:03:15.179325 ====> Client disconnected 02:03:15.179377 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.334552 ====> Client connect 02:03:15.334773 Received DATA (on stdin) 02:03:15.334787 > 160 bytes data, server => client 02:03:15.334799 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.334811 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.334824 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.334895 < 16 bytes data, client => server 02:03:15.334909 'USER anonymous\r\n' 02:03:15.335062 Received DATA (on stdin) 02:03:15.335075 > 33 bytes data, server => client 02:03:15.335087 '331 We are happy you popped in!\r\n' 02:03:15.335212 < 22 bytes data, client => server 02:03:15.335228 'PASS ftp@example.com\r\n' 02:03:15.335328 Received DATA (on stdin) 02:03:15.335340 > 30 bytes data, server => client 02:03:15.335351 '230 Welcome you silly person\r\n' 02:03:15.335404 < 5 bytes data, client => server 02:03:15.335416 'PWD\r\n' 02:03:15.335521 Received DATA (on stdin) 02:03:15.335534 > 30 bytes data, server => client 02:03:15.335545 '257 "/" is current directory\r\n' 02:03:15.335606 < 6 bytes data, client => server 02:03:15.335620 'EPSV\r\n' 02:03:15.337143 Received DATA (on stdin) 02:03:15.337156 > 38 bytes data, server => client 02:03:15.337168 '229 Entering Passive Mode (|||45215|)\n' 02:03:15.337279 < 8 bytes data, client => server 02:03:15.337295 'TYPE I\r\n' 02:03:15.337475 Received DATA (on stdin) 02:03:15.337488 > 33 bytes data, server => client 02:03:15.337499 '200 I modify TYPE as you wanted\r\n' 02:03:15.337553 < 21 bytes data, client => server 02:03:15.337565 'SIZE verifiedserver\r\n' 02:03:15.337660 Received DATA (on stdin) 02:03:15.337676 > 8 bytes data, server => client 02:03:15.337686 '213 17\r\n' 02:03:15.337738 < 21 bytes data, client => server 02:03:15.337748 'RETR verifiedserver\r\n' 02:03:15.337923 Received DATA (on stdin) 02:03:15.337933 > 29 bytes data, server => client 02:03:15.337942 '150 Binary junk (17 bytes).\r\n' 02:03:15.338216 Received DATA (on stdin) 02:03:15.338231 > 28 bytes data, server => client 02:03:15.338243 '226 File transfer complete\r\n' 02:03:15.378629 < 6 bytes data, client => server 02:03:15.378652 'QUIT\r\n' 02:03:15.378818 Received DATA (on stdin) 02:03:15.378829 > 18 bytes data, server => client 02:03:15.378839 '221 bye bye baby\r\n' 02:03:15.379392 ====> Client disconnect 02:03:15.379514 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.336791 Running IPv4 version 02:03:15.336839 Listening on port 45215 02:03:15.336867 Wrote pid 146586 to log/11/server/ftp_sockdata.pid 02:03:15.336968 Received PING (on stdin) 02:03:15.337027 Received PORT (on stdin) 02:03:15.337315 ====> Client connect 02:03:15.337860 Received DATA (on stdin) 02:03:15.337875 > 17 bytes data, server => client 02:03:15.337886 'WE ROOLZ: 80480\r\n' 02:03:15.337923 Received DISC (on stdin) 02:03:15.337936 ====> Client forcibly disconnected 02:03:15.338014 Received QUIT (on stdin) 02:03:15.338030 quits 02:03:15.338070 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1351 === End of file server.cmd === Start of file valgrind1351 ==146599== ==146599== Process terminating with default action of signal 4 (SIGILL) ==146599== Illegal opcode at address 0x10B08D ==146599== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146599== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1351 test 1352...[FTP download, file without C-D inside, using -O -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1352 ../src/curl -q --trace-ascii log/2/trace1352 --trace-config all --trace-time ftp://127.0.0.1:36595/path/file1352 -O -J -D - --output-dir log/2 > log/2/stdout1352 2> log/2/stderr1352 1352: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1352 === Start of file ftp_server.log 02:03:15.256922 ====> Client connect 02:03:15.257067 > CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1353 ../src/curl -q --trace-ascii log/3/trace1353 --trace-config all --trace-time ftp://127.0.0.1:45983/path/file1353 -O -i -D log/3/heads1353 --output-dir log/3 > log/3/stdout1353 2> log/3/stderr1353 "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.257331 < "USER anonymous" 02:03:15.257362 > "331 We are happy you popped in![CR][LF]" 02:03:15.257514 < "PASS ftp@example.com" 02:03:15.257536 > "230 Welcome you silly person[CR][LF]" 02:03:15.257674 < "PWD" 02:03:15.257701 > "257 "/" is current directory[CR][LF]" 02:03:15.257932 < "EPSV" 02:03:15.257956 ====> Passive DATA channel requested by client 02:03:15.257968 DATA sockfilt for passive data channel starting... 02:03:15.259418 DATA sockfilt for passive data channel started (pid 146796) 02:03:15.259521 DATA sockfilt for passive data channel listens on port 36543 02:03:15.259560 > "229 Entering Passive Mode (|||36543|)[LF]" 02:03:15.259578 Client has been notified that DATA conn will be accepted on port 36543 02:03:15.259811 Client connects to port 36543 02:03:15.259841 ====> Client established passive DATA connection on port 36543 02:03:15.259906 < "TYPE I" 02:03:15.259932 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.260116 < "SIZE verifiedserver" 02:03:15.260150 > "213 17[CR][LF]" 02:03:15.260310 < "RETR verifiedserver" 02:03:15.260341 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.260409 =====> Closing passive DATA connection... 02:03:15.260423 Server disconnects passive DATA connection 02:03:15.260502 Server disconnected passive DATA connection 02:03:15.260529 DATA sockfilt for passive data channel quits (pid 146796) 02:03:15.260768 DATA sockfilt for passive data channel quit (pid 146796) 02:03:15.260788 =====> Closed passive DATA connection 02:03:15.260814 > "226 File transfer complete[CR][LF]" 02:03:15.302371 < "QUIT" 02:03:15.302413 > "221 bye bye baby[CR][LF]" 02:03:15.302606 MAIN sockfilt said DISC 02:03:15.302634 ====> Client disconnected 02:03:15.302692 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.456963 ====> Client connect 02:03:15.457214 Received DATA (on stdin) 02:03:15.457228 > 160 bytes data, server => client 02:03:15.457241 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.457253 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.457263 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.457335 < 16 bytes data, client => server 02:03:15.457348 'USER anonymous\r\n' 02:03:15.457503 Received DATA (on stdin) 02:03:15.457514 > 33 bytes data, server => client 02:03:15.457525 '331 We are happy you popped in!\r\n' 02:03:15.457575 < 22 bytes data, client => server 02:03:15.457586 'PASS ftp@example.com\r\n' 02:03:15.457673 Received DATA (on stdin) 02:03:15.457684 > 30 bytes data, server => client 02:03:15.457695 '230 Welcome you silly person\r\n' 02:03:15.457739 < 5 bytes data, client => server 02:03:15.457750 'PWD\r\n' 02:03:15.457838 Received DATA (on stdin) 02:03:15.457848 > 30 bytes data, server => client 02:03:15.457859 '257 "/" is current directory\r\n' 02:03:15.457910 < 6 bytes data, client => server 02:03:15.458001 'EPSV\r\n' 02:03:15.459723 Received DATA (on stdin) 02:03:15.459737 > 38 bytes data, server => client 02:03:15.459748 '229 Entering Passive Mode (|||36543|)\n' 02:03:15.459870 < 8 bytes data, client => server 02:03:15.459888 'TYPE I\r\n' 02:03:15.460071 Received DATA (on stdin) 02:03:15.460084 > 33 bytes data, server => client 02:03:15.460095 '200 I modify TYPE as you wanted\r\n' 02:03:15.460154 < 21 bytes data, client => server 02:03:15.460174 'SIZE verifiedserver\r\n' 02:03:15.460275 Received DATA (on stdin) 02:03:15.460294 > 8 bytes data, server => client 02:03:15.460306 '213 17\r\n' 02:03:15.460364 < 21 bytes data, client => server 02:03:15.460376 'RETR verifiedserver\r\n' 02:03:15.460562 Received DATA (on stdin) 02:03:15.460575 > 29 bytes data, server => client 02:03:15.460585 '150 Binary junk (17 bytes).\r\n' 02:03:15.460956 Received DATA (on stdin) 02:03:15.460970 > 28 bytes data, server => client 02:03:15.460982 '226 File transfer complete\r\n' 02:03:15.502346 < 6 bytes data, client => server 02:03:15.502376 'QUIT\r\n' 02:03:15.502532 Received DATA (on stdin) 02:03:15.502544 > 18 bytes data, server => client 02:03:15.502555 '221 bye bye baby\r\n' 02:03:15.502701 ====> Client disconnect 02:03:15.502865 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.459391 Running IPv4 version 02:03:15.459447 Listening on port 36543 02:03:15.459482 Wrote pid 146796 to log/2/server/ftp_sockdata.pid 02:03:15.459501 Received PING (on stdin) 02:03:15.459580 Received PORT (on stdin) 02:03:15.459906 ====> Client connect 02:03:15.460490 Received DATA (on stdin) 02:03:15.460509 > 17 bytes data, server => client 02:03:15.460521 'WE ROOLZ: 80457\r\n' 02:03:15.460571 Received DISC (on stdin) 02:03:15.460588 ====> Client forcibly disconnected 02:03:15.460678 Received QUIT (on stdin) 02:03:15.460693 quits 02:03:15.460802 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1352 === End of file server.cmd === Start of file valgrind1352 ==146799== ==146799== Process terminating with default action of signal 4 (SIGILL) ==146799== Illegal opcode at address 0x10B08D ==146799== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146799== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1352 test 1353...[FTP download, file without C-D inside, using -O -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1353 ../src/curl -q --trace-ascii log/3/trace1353 --trace-config all --trace-time ftp://127.0.0.1:45983/path/file1353 -O -i -D log/3/heads1353 --output-dir log/3 > log/3/stdout1353 2> log/3/stderr1353 1353: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1353 === Start of file ftp_server.log 02:03:15.412599 ====> Client connect 02:03:15.412738 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.413007 < "USER anonymous" 02:03:15.413043 > "331 We are happy you popped in![CR][LF]" 02:03:15.413564 < "PASS ftp@example.com" 02:03:15.413588 > "230 Welcome you silly person[CR][LF]" 02:03:15.413733 < "PWD" 02:03:15.413760 > "257 "/" is current directory[CR][LF]" 02:03:15.413909 < "EPSV" 02:03:15.413933 ====> Passive DATA channel requested by client 02:03:15.413945 DATA sockfilt for passive data channel starting... 02:03:15.415725 DATA sockfilt for passive data channel started (pid 146930) 02:03:15.415815 DATA sockfilt for passive data channel listens on port 44707 02:03:15.415850 > "229 Entering Passive Mode (|||44707|)[LF]" 02:03:15.415867 Client has been notified that DATA conn will be accepted on port 44707 02:03:15.416087 Client connects to port 44707 02:03:15.416115 ====> Client established passive DATA connection on port 44707 02:03:15.416174 < "TYPE I" 02:03:15.416198 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.416348 < "SIZE verifiedserver" 02:03:15.416382 > "213 17[CR][LF]" 02:03:15.416525 < "RETR verifiedserver" 02:03:15.416557 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.416623 =====> Closing passive DATA connection... 02:03:15.416639 Server disconnects passive DATA connection 02:03:15.416867 Server disconnected passive DATA connection 02:03:15.416893 DATA sockfilt for passive data channel quits (pid 146930) 02:03:15.417072 DATA sockfilt for passive data channel quit (pid 146930) 02:03:15.417093 =====> Closed passive DATA connection 02:03:15.417117 > "226 File transfer complete[CR][LF]" 02:03:15.465246 < "QUIT" 02:03:15.465289 > "221 bye bye baby[CR][LF]" 02:03:15.465974 MAIN sockfilt said DISC 02:03:15.466012 ====> Client disconnected 02:03:15CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1356 ../src/curl -q --trace-ascii log/4/trace1356 --trace-config all --trace-time ftp://127.0.0.1:34583/path/file1356 -O --output-dir log/4 > log/4/stdout1356 2> log/4/stderr1356 .466072 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.612267 ====> Client connect 02:03:15.612888 Received DATA (on stdin) 02:03:15.612903 > 160 bytes data, server => client 02:03:15.612916 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.612929 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.612940 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.613014 < 16 bytes data, client => server 02:03:15.613030 'USER anonymous\r\n' 02:03:15.613539 Received DATA (on stdin) 02:03:15.613556 > 33 bytes data, server => client 02:03:15.613566 '331 We are happy you popped in!\r\n' 02:03:15.613619 < 22 bytes data, client => server 02:03:15.613630 'PASS ftp@example.com\r\n' 02:03:15.613727 Received DATA (on stdin) 02:03:15.613738 > 30 bytes data, server => client 02:03:15.613748 '230 Welcome you silly person\r\n' 02:03:15.613796 < 5 bytes data, client => server 02:03:15.613807 'PWD\r\n' 02:03:15.613897 Received DATA (on stdin) 02:03:15.613908 > 30 bytes data, server => client 02:03:15.613918 '257 "/" is current directory\r\n' 02:03:15.613970 < 6 bytes data, client => server 02:03:15.613981 'EPSV\r\n' 02:03:15.616009 Received DATA (on stdin) 02:03:15.616022 > 38 bytes data, server => client 02:03:15.616034 '229 Entering Passive Mode (|||44707|)\n' 02:03:15.616149 < 8 bytes data, client => server 02:03:15.616165 'TYPE I\r\n' 02:03:15.616336 Received DATA (on stdin) 02:03:15.616348 > 33 bytes data, server => client 02:03:15.616360 '200 I modify TYPE as you wanted\r\n' 02:03:15.616410 < 21 bytes data, client => server 02:03:15.616422 'SIZE verifiedserver\r\n' 02:03:15.616521 Received DATA (on stdin) 02:03:15.616532 > 8 bytes data, server => client 02:03:15.616542 '213 17\r\n' 02:03:15.616589 < 21 bytes data, client => server 02:03:15.616600 'RETR verifiedserver\r\n' 02:03:15.616778 Received DATA (on stdin) 02:03:15.616790 > 29 bytes data, server => client 02:03:15.616801 '150 Binary junk (17 bytes).\r\n' 02:03:15.617257 Received DATA (on stdin) 02:03:15.617270 > 28 bytes data, server => client 02:03:15.617282 '226 File transfer complete\r\n' 02:03:15.665233 < 6 bytes data, client => server 02:03:15.665258 'QUIT\r\n' 02:03:15.665433 Received DATA (on stdin) 02:03:15.665445 > 18 bytes data, server => client 02:03:15.665456 '221 bye bye baby\r\n' 02:03:15.666061 ====> Client disconnect 02:03:15.666212 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.615599 Running IPv4 version 02:03:15.615650 Listening on port 44707 02:03:15.615688 Wrote pid 146930 to log/3/server/ftp_sockdata.pid 02:03:15.615810 Received PING (on stdin) 02:03:15.615880 Received PORT (on stdin) 02:03:15.616183 ====> Client connect 02:03:15.616846 Received DATA (on stdin) 02:03:15.616860 > 17 bytes data, server => client 02:03:15.616872 'WE ROOLZ: 80465\r\n' 02:03:15.616902 Received DISC (on stdin) 02:03:15.616915 ====> Client forcibly disconnected 02:03:15.617040 Received QUIT (on stdin) 02:03:15.617052 quits 02:03:15.617096 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1353 === End of file server.cmd === Start of file valgrind1353 ==146963== ==146963== Process terminating with default action of signal 4 (SIGILL) ==146963== Illegal opcode at address 0x10B08D ==146963== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146963== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1353 test 1356...[FTP download, file with Content-Disposition inside, using -O] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1356 ../src/curl -q --trace-ascii log/4/trace1356 --trace-config all --trace-time ftp://127.0.0.1:34583/path/file1356 -O --output-dir log/4 > log/4/stdout1356 2> log/4/stderr1356 1356: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1356 === Start of file ftp_server.log 02:03:15.419432 ====> Client connect 02:03:15.419560 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.419815 < "USER anonymous" 02:03:15.419847 > "331 We are happy you popped in![CR][LF]" 02:03:15.420005 < "PASS ftp@example.com" 02:03:15.420028 > "230 Welcome you silly person[CR][LF]" 02:03:15.420170 < "PWD" 02:03:15.420198 > "257 "/" is current directory[CR][LF]" 02:03:15.420354 < "EPSV" 02:03:15.420378 ====> Passive DATA channel requested by client 02:03:15.420390 DATA sockfilt for passive data channel starting... 02:03:15.421634 DATA sockfilt for passive data channel started (pid 146942) 02:03:15.421973 DATA sockfilt for passive data channel listens on port 39057 02:03:15.422012 > "229 Entering Passive Mode (|||39057|)[LF]" 02:03:15.422030 Client has been notified that DATA conn will be accepted on port 39057 02:03:15.422334 Client connects to port 39057 02:03:15.422363 ====> Client established passive DATA connection on port 39057 02:03:15.422422 < "TYPE I" 02:03:15.422447 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.422599 < "SIZE verifiedserver" 02:03:15.422630 > "213 17[CR][LF]" 02:03:15.422772 < "RETR verifiedserver" 02:03:15.422802 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.422872 =====> Closing passive DATA connection... 02:03:15.422888 Server disconnects passive DATA connection 02:03:15.423106 Server disconnected passive DATA connection 02:03:15.423132 DATA sockfilt for passive data channel quits (pid 146942) 02:03:15.423312 DATA sockfilt for passive data channel quit (pid 146942) 02:03:15.423333 =====> Closed passive DATA connection 02:03:15.423357 > "226 File transfer complete[CR][LF]" 02:03:15.467488 < "QUIT" 02:03:15.467535 > "221 bye bye baby[CR][LF]" 02:03:15.468176 MAIN sockfilt said DISC 02:03:15.468202 ====> Client disconnected 02:03:15.468255 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.619484 ====> Client connect 02:03:15.619709 Received DATA (on stdin) 02:03:15.619723 > 160 bytes data, server => client 02:03:15.619736 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.619747 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.619758 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.619827 < 16 bytes data, client => server 02:03:15.619840 'USER anonymous\r\n' 02:03:15.619988 Received DATA (on stdin) 02:03:15.620001 > 33 bytes data, server => client 02:03:15.620012 '331 We are happy you popped in!\r\n' 02:03:15.620062 < 22 bytes data, client => server 02:03:15.620074 'PASS ftp@example.com\r\n' 02:03:15.620164 Received DATA (on stdin) 02:03:15.620176 > 30 bytes data, server => client 02:03:15.620187 '230 Welcome you silly person\r\n' 02:03:15.620233 < 5 bytes data, client => server 02:03:15.620244 'PWD\r\n' 02:03:15.620336 Received DATA (on stdin) 02:03:15.620347 > 30 bytes data, server => client 02:03:15.620358 '257 "/" is current directory\r\n' 02:03:15.620415 < 6 bytes data, client => server 02:03:15.620427 'EPSV\r\n' 02:03:15.622174 Received DATA (on stdin) 02:03:15.622188 > 38 bytes data, server => client 02:03:15.622198 '229 Entering Passive Mode (|||39057|)\n' 02:03:15.622417 < 8 bytes data, client => server 02:03:15.622430 'TYPE I\r\n' 02:03:15.622585 Received DATA (on stdin) 02:03:15.622598 > 33 bytes data, server => client 02:03:15.622609 '200 I modify TYPE as you wanted\r\n' 02:03:15.622659 < 21 bytes data, client => server 02:03:15.622671 'SIZE verifiedserver\r\n' 02:03:15.622768 Received DATA (on stdin) 02:03:15.622779 > 8 bytes data, server => client 02:03:15.622788 '213 17\r\n' 02:03:15.622835 < 21 bytes data, client => server 02:03:15.622847 'RETR verifiedserver\r\n' 02:03:15.623119 Received DATA (on CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1355 ../src/curl -q --trace-ascii log/9/trace1355 --trace-config all --trace-time ftp://127.0.0.1:35301/path/file1355 -O -i --output-dir log/9 > log/9/stdout1355 2> log/9/stderr1355 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1354 ../src/curl -q --trace-ascii log/6/trace1354 --trace-config all --trace-time ftp://127.0.0.1:40433/path/file1354 -O -i -D - --output-dir log/6 > log/6/stdout1354 2> log/6/stderr1354 stdin) 02:03:15.623131 > 29 bytes data, server => client 02:03:15.623142 '150 Binary junk (17 bytes).\r\n' 02:03:15.623495 Received DATA (on stdin) 02:03:15.623508 > 28 bytes data, server => client 02:03:15.623519 '226 File transfer complete\r\n' 02:03:15.667502 < 6 bytes data, client => server 02:03:15.667526 'QUIT\r\n' 02:03:15.667679 Received DATA (on stdin) 02:03:15.667692 > 18 bytes data, server => client 02:03:15.667704 '221 bye bye baby\r\n' 02:03:15.668267 ====> Client disconnect 02:03:15.668395 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.621630 Running IPv4 version 02:03:15.621674 Listening on port 39057 02:03:15.621705 Wrote pid 146942 to log/4/server/ftp_sockdata.pid 02:03:15.621719 Received PING (on stdin) 02:03:15.621793 Received PORT (on stdin) 02:03:15.622421 ====> Client connect 02:03:15.623027 Received DATA (on stdin) 02:03:15.623042 > 17 bytes data, server => client 02:03:15.623053 'WE ROOLZ: 80536\r\n' 02:03:15.623082 Received DISC (on stdin) 02:03:15.623095 ====> Client forcibly disconnected 02:03:15.623277 Received QUIT (on stdin) 02:03:15.623289 quits 02:03:15.623331 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1356 === End of file server.cmd === Start of file valgrind1356 ==146965== ==146965== Process terminating with default action of signal 4 (SIGILL) ==146965== Illegal opcode at address 0x10B08D ==146965== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146965== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1356 test 1355...[FTP download, file without C-D inside, using -O -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1355 ../src/curl -q --trace-ascii log/9/trace1355 --trace-config all --trace-time ftp://127.0.0.1:35301/path/file1355 -O -i --output-dir log/9 > log/9/stdout1355 2> log/9/stderr1355 1355: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1355 === Start of file ftp_server.log 02:03:15.419990 ====> Client connect 02:03:15.420116 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.420420 < "USER anonymous" 02:03:15.420452 > "331 We are happy you popped in![CR][LF]" 02:03:15.420603 < "PASS ftp@example.com" 02:03:15.420627 > "230 Welcome you silly person[CR][LF]" 02:03:15.420750 < "PWD" 02:03:15.420773 > "257 "/" is current directory[CR][LF]" 02:03:15.420909 < "EPSV" 02:03:15.420935 ====> Passive DATA channel requested by client 02:03:15.420949 DATA sockfilt for passive data channel starting... 02:03:15.422233 DATA sockfilt for passive data channel started (pid 146943) 02:03:15.422334 DATA sockfilt for passive data channel listens on port 42807 02:03:15.422371 > "229 Entering Passive Mode (|||42807|)[LF]" 02:03:15.422389 Client has been notified that DATA conn will be accepted on port 42807 02:03:15.422608 Client connects to port 42807 02:03:15.422633 ====> Client established passive DATA connection on port 42807 02:03:15.422690 < "TYPE I" 02:03:15.422716 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.422862 < "SIZE verifiedserver" 02:03:15.422893 > "213 17[CR][LF]" 02:03:15.423036 < "RETR verifiedserver" 02:03:15.423067 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.423134 =====> Closing passive DATA connection... 02:03:15.423148 Server disconnects passive DATA connection 02:03:15.423365 Server disconnected passive DATA connection 02:03:15.423391 DATA sockfilt for passive data channel quits (pid 146943) 02:03:15.423558 DATA sockfilt for passive data channel quit (pid 146943) 02:03:15.423578 =====> Closed passive DATA connection 02:03:15.423602 > "226 File transfer complete[CR][LF]" 02:03:15.465333 < "QUIT" 02:03:15.465379 > "221 bye bye baby[CR][LF]" 02:03:15.466039 MAIN sockfilt said DISC 02:03:15.466066 ====> Client disconnected 02:03:15.466121 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.620046 ====> Client connect 02:03:15.620265 Received DATA (on stdin) 02:03:15.620327 > 160 bytes data, server => client 02:03:15.620341 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.620352 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.620363 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.620433 < 16 bytes data, client => server 02:03:15.620445 'USER anonymous\r\n' 02:03:15.620591 Received DATA (on stdin) 02:03:15.620602 > 33 bytes data, server => client 02:03:15.620611 '331 We are happy you popped in!\r\n' 02:03:15.620661 < 22 bytes data, client => server 02:03:15.620673 'PASS ftp@example.com\r\n' 02:03:15.620765 Received DATA (on stdin) 02:03:15.620776 > 30 bytes data, server => client 02:03:15.620786 '230 Welcome you silly person\r\n' 02:03:15.620824 < 5 bytes data, client => server 02:03:15.620833 'PWD\r\n' 02:03:15.620906 Received DATA (on stdin) 02:03:15.620916 > 30 bytes data, server => client 02:03:15.620926 '257 "/" is current directory\r\n' 02:03:15.620976 < 6 bytes data, client => server 02:03:15.620986 'EPSV\r\n' 02:03:15.622533 Received DATA (on stdin) 02:03:15.622546 > 38 bytes data, server => client 02:03:15.622559 '229 Entering Passive Mode (|||42807|)\n' 02:03:15.622671 < 8 bytes data, client => server 02:03:15.622686 'TYPE I\r\n' 02:03:15.622853 Received DATA (on stdin) 02:03:15.622865 > 33 bytes data, server => client 02:03:15.622876 '200 I modify TYPE as you wanted\r\n' 02:03:15.622925 < 21 bytes data, client => server 02:03:15.622937 'SIZE verifiedserver\r\n' 02:03:15.623031 Received DATA (on stdin) 02:03:15.623042 > 8 bytes data, server => client 02:03:15.623052 '213 17\r\n' 02:03:15.623099 < 21 bytes data, client => server 02:03:15.623111 'RETR verifiedserver\r\n' 02:03:15.623378 Received DATA (on stdin) 02:03:15.623395 > 29 bytes data, server => client 02:03:15.623406 '150 Binary junk (17 bytes).\r\n' 02:03:15.623740 Received DATA (on stdin) 02:03:15.623753 > 28 bytes data, server => client 02:03:15.623764 '226 File transfer complete\r\n' 02:03:15.665321 < 6 bytes data, client => server 02:03:15.665345 'QUIT\r\n' 02:03:15.665519 Received DATA (on stdin) 02:03:15.665531 > 18 bytes data, server => client 02:03:15.665541 '221 bye bye baby\r\n' 02:03:15.666133 ====> Client disconnect 02:03:15.666258 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.622212 Running IPv4 version 02:03:15.622263 Listening on port 42807 02:03:15.622300 Wrote pid 146943 to log/9/server/ftp_sockdata.pid 02:03:15.622316 Received PING (on stdin) 02:03:15.622395 Received PORT (on stdin) 02:03:15.622704 ====> Client connect 02:03:15.623287 Received DATA (on stdin) 02:03:15.623300 > 17 bytes data, server => client 02:03:15.623311 'WE ROOLZ: 80452\r\n' 02:03:15.623340 Received DISC (on stdin) 02:03:15.623353 ====> Client forcibly disconnected 02:03:15.623536 Received QUIT (on stdin) 02:03:15.623549 quits 02:03:15.623590 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1355 === End of file server.cmd === Start of file valgrind1355 ==146959== ==146959== Process terminating with default action of signal 4 (SIGILL) ==146959== Illegal opcode at address 0x10B08D ==146959== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146959== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1355 test 1354...[FTP download, file without C-D inside, using -O -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1354 ../src/curl -q --trace-ascii log/6/trace1354 --traCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1358 ../src/curl -q --trace-ascii log/8/trace1358 --trace-config all --trace-time ftp://127.0.0.1:39101/path/file1358 -O -D - --output-dir log/8 > log/8/stdout1358 2> log/8/stderr1358 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1357 ../src/curl -q --trace-ascii log/10/trace1357 --trace-config all --trace-time ftp://127.0.0.1:42661/path/file1357 -O -D log/10/heads1357 --output-dir log/10 > log/10/stdout1357 2> log/10/stderr1357 ce-config all --trace-time ftp://127.0.0.1:40433/path/file1354 -O -i -D - --output-dir log/6 > log/6/stdout1354 2> log/6/stderr1354 1354: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1354 === Start of file ftp_server.log 02:03:15.412225 ====> Client connect 02:03:15.412379 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.412634 < "USER anonymous" 02:03:15.412667 > "331 We are happy you popped in![CR][LF]" 02:03:15.412817 < "PASS ftp@example.com" 02:03:15.412840 > "230 Welcome you silly person[CR][LF]" 02:03:15.412973 < "PWD" 02:03:15.412997 > "257 "/" is current directory[CR][LF]" 02:03:15.413143 < "EPSV" 02:03:15.413165 ====> Passive DATA channel requested by client 02:03:15.413178 DATA sockfilt for passive data channel starting... 02:03:15.415475 DATA sockfilt for passive data channel started (pid 146926) 02:03:15.415562 DATA sockfilt for passive data channel listens on port 42111 02:03:15.415595 > "229 Entering Passive Mode (|||42111|)[LF]" 02:03:15.415609 Client has been notified that DATA conn will be accepted on port 42111 02:03:15.415825 Client connects to port 42111 02:03:15.415852 ====> Client established passive DATA connection on port 42111 02:03:15.415899 < "TYPE I" 02:03:15.415918 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.416034 < "SIZE verifiedserver" 02:03:15.416059 > "213 17[CR][LF]" 02:03:15.416164 < "RETR verifiedserver" 02:03:15.416184 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.416241 =====> Closing passive DATA connection... 02:03:15.416252 Server disconnects passive DATA connection 02:03:15.416458 Server disconnected passive DATA connection 02:03:15.416485 DATA sockfilt for passive data channel quits (pid 146926) 02:03:15.416650 DATA sockfilt for passive data channel quit (pid 146926) 02:03:15.416673 =====> Closed passive DATA connection 02:03:15.416697 > "226 File transfer complete[CR][LF]" 02:03:15.458682 < "QUIT" 02:03:15.458730 > "221 bye bye baby[CR][LF]" 02:03:15.459071 MAIN sockfilt said DISC 02:03:15.459102 ====> Client disconnected 02:03:15.459161 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.612266 ====> Client connect 02:03:15.612526 Received DATA (on stdin) 02:03:15.612541 > 160 bytes data, server => client 02:03:15.612553 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.612564 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.612575 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.612645 < 16 bytes data, client => server 02:03:15.612657 'USER anonymous\r\n' 02:03:15.612806 Received DATA (on stdin) 02:03:15.612818 > 33 bytes data, server => client 02:03:15.612828 '331 We are happy you popped in!\r\n' 02:03:15.612876 < 22 bytes data, client => server 02:03:15.612887 'PASS ftp@example.com\r\n' 02:03:15.612976 Received DATA (on stdin) 02:03:15.612986 > 30 bytes data, server => client 02:03:15.612997 '230 Welcome you silly person\r\n' 02:03:15.613040 < 5 bytes data, client => server 02:03:15.613050 'PWD\r\n' 02:03:15.613133 Received DATA (on stdin) 02:03:15.613143 > 30 bytes data, server => client 02:03:15.613153 '257 "/" is current directory\r\n' 02:03:15.613205 < 6 bytes data, client => server 02:03:15.613217 'EPSV\r\n' 02:03:15.615752 Received DATA (on stdin) 02:03:15.615765 > 38 bytes data, server => client 02:03:15.615777 '229 Entering Passive Mode (|||42111|)\n' 02:03:15.615888 < 8 bytes data, client => server 02:03:15.615903 'TYPE I\r\n' 02:03:15.616052 Received DATA (on stdin) 02:03:15.616061 > 33 bytes data, server => client 02:03:15.616069 '200 I modify TYPE as you wanted\r\n' 02:03:15.616110 < 21 bytes data, client => server 02:03:15.616118 'SIZE verifiedserver\r\n' 02:03:15.616192 Received DATA (on stdin) 02:03:15.616200 > 8 bytes data, server => client 02:03:15.616207 '213 17\r\n' 02:03:15.616242 < 21 bytes data, client => server 02:03:15.616250 'RETR verifiedserver\r\n' 02:03:15.616471 Received DATA (on stdin) 02:03:15.616484 > 29 bytes data, server => client 02:03:15.616494 '150 Binary junk (17 bytes).\r\n' 02:03:15.616837 Received DATA (on stdin) 02:03:15.616849 > 28 bytes data, server => client 02:03:15.616860 '226 File transfer complete\r\n' 02:03:15.658640 < 6 bytes data, client => server 02:03:15.658668 'QUIT\r\n' 02:03:15.658854 Received DATA (on stdin) 02:03:15.658874 > 18 bytes data, server => client 02:03:15.658885 '221 bye bye baby\r\n' 02:03:15.659160 ====> Client disconnect 02:03:15.659297 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.615351 Running IPv4 version 02:03:15.615399 Listening on port 42111 02:03:15.615433 Wrote pid 146926 to log/6/server/ftp_sockdata.pid 02:03:15.615561 Received PING (on stdin) 02:03:15.615630 Received PORT (on stdin) 02:03:15.615924 ====> Client connect 02:03:15.616386 Received DATA (on stdin) 02:03:15.616396 > 17 bytes data, server => client 02:03:15.616405 'WE ROOLZ: 80451\r\n' 02:03:15.616434 Received DISC (on stdin) 02:03:15.616447 ====> Client forcibly disconnected 02:03:15.616630 Received QUIT (on stdin) 02:03:15.616642 quits 02:03:15.616684 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1354 === End of file server.cmd === Start of file valgrind1354 ==146948== ==146948== Process terminating with default action of signal 4 (SIGILL) ==146948== Illegal opcode at address 0x10B08D ==146948== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146948== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1354 test 1358...[FTP download, file with C-D inside, using -O -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1358 ../src/curl -q --trace-ascii log/8/trace1358 --trace-config all --trace-time ftp://127.0.0.1:39101/path/file1358 -O -D - --output-dir log/8 > log/8/stdout1358 2> log/8/stderr1358 1358: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1358 === Start of file ftp_server.log 02:03:15.423369 ====> Client connect 02:03:15.423497 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.423751 < "USER anonymous" 02:03:15.423789 > "331 We are happy you popped in![CR][LF]" 02:03:15.423954 < "PASS ftp@example.com" 02:03:15.423979 > "230 Welcome you silly person[CR][LF]" 02:03:15.424120 < "PWD" 02:03:15.424147 > "257 "/" is current directory[CR][LF]" 02:03:15.424293 < "EPSV" 02:03:15.424316 ====> Passive DATA channel requested by client 02:03:15.424329 DATA sockfilt for passive data channel starting... 02:03:15.425592 DATA sockfilt for passive data channel started (pid 146944) 02:03:15.425690 DATA sockfilt for passive data channel listens on port 33841 02:03:15.425726 > "229 Entering Passive Mode (|||33841|)[LF]" 02:03:15.425742 Client has been notified that DATA conn will be accepted on port 33841 02:03:15.425960 Client connects to port 33841 02:03:15.425986 ====> Client established passive DATA connection on port 33841 02:03:15.426040 < "TYPE I" 02:03:15.426066 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.426216 < "SIZE verifiedserver" 02:03:15.426250 > "213 17[CR][LF]" 02:03:15.426398 < "RETR verifiedserver" 02:03:15.426427 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.426495 =====> Closing passive DATA connection... 02:03:15.426509 Server disconnects passive DATA connection 02:03:15.426721 Server disconnected passive DATA connection 02:03:15.426747 DATA sockfilt for passive data channel quits (pid 146944) 02:03:15.426915 DATA sockfilt for passive data channel quit (pid 146944) 02:03:15.426936 =====> Closed passive DATA connection 02:03:15.426959 > "226 File transfer complete[CR][LF]" 02:03:15.468606 < "QUIT" 02:03:15.468648 > "221 bye bye baby[CR][LF]" 02:03:15.469297 MAIN sockfilt said DISC 02:03:15.469324 ====> Client disconnected 02:03:15.469380 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.623422 ====> Client connect 02:03:15.623645 Received DATA (on stdin) 02:03:15.623660 > 160 bytes data, server => client 02:03:15.623673 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.623684 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.623695 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.623763 < 16 bytes data, client => server 02:03:15.623776 'USER anonymous\r\n' 02:03:15.623931 Received DATA (on stdin) 02:03:15.623944 > 33 bytes data, server => client 02:03:15.623956 '331 We are happy you popped in!\r\n' 02:03:15.624010 < 22 bytes data, client => server 02:03:15.624022 'PASS ftp@example.com\r\n' 02:03:15.624117 Received DATA (on stdin) 02:03:15.624128 > 30 bytes data, server => client 02:03:15.624139 '230 Welcome you silly person\r\n' 02:03:15.624186 < 5 bytes data, client => server 02:03:15.624196 'PWD\r\n' 02:03:15.624284 Received DATA (on stdin) 02:03:15.624295 > 30 bytes data, server => client 02:03:15.624306 '257 "/" is current directory\r\n' 02:03:15.624358 < 6 bytes data, client => server 02:03:15.624370 'EPSV\r\n' 02:03:15.625887 Received DATA (on stdin) 02:03:15.625900 > 38 bytes data, server => client 02:03:15.625912 '229 Entering Passive Mode (|||33841|)\n' 02:03:15.626022 < 8 bytes data, client => server 02:03:15.626038 'TYPE I\r\n' 02:03:15.626205 Received DATA (on stdin) 02:03:15.626217 > 33 bytes data, server => client 02:03:15.626228 '200 I modify TYPE as you wanted\r\n' 02:03:15.626277 < 21 bytes data, client => server 02:03:15.626288 'SIZE verifiedserver\r\n' 02:03:15.626390 Received DATA (on stdin) 02:03:15.626404 > 8 bytes data, server => client 02:03:15.626414 '213 17\r\n' 02:03:15.626462 < 21 bytes data, client => server 02:03:15.626474 'RETR verifiedserver\r\n' 02:03:15.626648 Received DATA (on stdin) 02:03:15.626660 > 29 bytes data, server => client 02:03:15.626671 '150 Binary junk (17 bytes).\r\n' 02:03:15.627098 Received DATA (on stdin) 02:03:15.627111 > 28 bytes data, server => client 02:03:15.627122 '226 File transfer complete\r\n' 02:03:15.668606 < 6 bytes data, client => server 02:03:15.668627 'QUIT\r\n' 02:03:15.668788 Received DATA (on stdin) 02:03:15.668800 > 18 bytes data, server => client 02:03:15.668810 '221 bye bye baby\r\n' 02:03:15.669390 ====> Client disconnect 02:03:15.669517 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.625571 Running IPv4 version 02:03:15.625622 Listening on port 33841 02:03:15.625659 Wrote pid 146944 to log/8/server/ftp_sockdata.pid 02:03:15.625675 Received PING (on stdin) 02:03:15.625752 Received PORT (on stdin) 02:03:15.626056 ====> Client connect 02:03:15.626698 Received DATA (on stdin) 02:03:15.626711 > 17 bytes data, server => client 02:03:15.626722 'WE ROOLZ: 80441\r\n' 02:03:15.626747 Received DISC (on stdin) 02:03:15.626758 ====> Client forcibly disconnected 02:03:15.626891 Received QUIT (on stdin) 02:03:15.626903 quits 02:03:15.626945 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1358 === End of file server.cmd === Start of file valgrind1358 ==146974== ==146974== Process terminating with default action of signal 4 (SIGILL) ==146974== Illegal opcode at address 0x10B08D ==146974== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==146974== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1358 test 1357...[FTP download, file with C-D inside, using -O -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1357 ../src/curl -q --trace-ascii log/10/trace1357 --trace-config all --trace-time ftp://127.0.0.1:42661/path/file1357 -O -D log/10/heads1357 --output-dir log/10 > log/10/stdout1357 2> log/10/stderr1357 1357: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1357 === Start of file ftp_server.log 02:03:15.426600 ====> Client connect 02:03:15.426734 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.426997 < "USER anonymous" 02:03:15.427031 > "331 We are happy you popped in![CR][LF]" 02:03:15.427203 < "PASS ftp@example.com" 02:03:15.427229 > "230 Welcome you silly person[CR][LF]" 02:03:15.427392 < "PWD" 02:03:15.427424 > "257 "/" is current directory[CR][LF]" 02:03:15.427581 < "EPSV" 02:03:15.427606 ====> Passive DATA channel requested by client 02:03:15.427620 DATA sockfilt for passive data channel starting... 02:03:15.429018 DATA sockfilt for passive data channel started (pid 146945) 02:03:15.429117 DATA sockfilt for passive data channel listens on port 37349 02:03:15.429154 > "229 Entering Passive Mode (|||37349|)[LF]" 02:03:15.429171 Client has been notified that DATA conn will be accepted on port 37349 02:03:15.429395 Client connects to port 37349 02:03:15.429422 ====> Client established passive DATA connection on port 37349 02:03:15.429476 < "TYPE I" 02:03:15.429499 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.429644 < "SIZE verifiedserver" 02:03:15.429677 > "213 17[CR][LF]" 02:03:15.429817 < "RETR verifiedserver" 02:03:15.429845 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.429914 =====> Closing passive DATA connection... 02:03:15.429928 Server disconnects passive DATA connection 02:03:15.430086 Server disconnected passive DATA connection 02:03:15.430108 DATA sockfilt for passive data channel quits (pid 146945) 02:03:15.430287 DATA sockfilt for passive data channel quit (pid 146945) 02:03:15.430313 =====> Closed passive DATA connection 02:03:15.430336 > "226 File transfer complete[CR][LF]" 02:03:15.472528 < "QUIT" 02:03:15.472573 > "221 bye bye baby[CR][LF]" 02:03:15.473006 MAIN sockfilt said DISC 02:03:15.473037 ====> Client disconnected 02:03:15.473093 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.626652 ====> Client connect 02:03:15.626885 Received DATA (on stdin) 02:03:15.626901 > 160 bytes data, server => client 02:03:15.626914 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.626927 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.626938 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.627007 < 16 bytes data, client => server 02:03:15.627022 'USER anonymous\r\n' 02:03:15.627173 Received DATA (on stdin) 02:03:15.627187 > 33 bytes data, server => client 02:03:15.627199 '331 We are happy you popped in!\r\n' 02:03:15.627253 < 22 bytes data, client => server 02:03:15.627268 'PASS ftp@example.com\r\n' 02:03:15.627369 Received DATA (on stdin) 02:03:15.627382 > 30 bytes data, server => client 02:03:15.627393 '230 Welcome you silly person\r\n' 02:03:15.627448 < 5 bytes data, client => server 02:03:15.627461 'PWD\r\n' 02:03:15.627563 Received DATA (on stdin) 02:03:15.627574 > 30 bytes data, server => client 02:03:15.627585 '257 "/" is current directory\r\n' 02:03:15.627640 < 6 bytes data, client => server 02:03:15.627652 'EPSV\r\n' 02:03:15.629316 Received DATA (on stdin) 02:03:15.629329 > 38 bytes data, server => client 02:03:15.629340 '229 Entering Passive Mode (|||37349|)\n' 02:03:15.629457 < 8 bytes data, client => server 02:03:15.629472 'TYPE I\r\n' 02:03:15.629636 Received DATA (on stdin) 02:03:15.629648 > 33 bytes data, serverCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1359 ../src/curl -q --trace-ascii log/5/trace1359 --trace-config all --trace-time ftp://127.0.0.1:36485/path/file1359 -O -J -D log/5/heads1359 --output-dir log/5 > log/5/stdout1359 2> log/5/stderr1359 => client 02:03:15.629658 '200 I modify TYPE as you wanted\r\n' 02:03:15.629707 < 21 bytes data, client => server 02:03:15.629719 'SIZE verifiedserver\r\n' 02:03:15.629815 Received DATA (on stdin) 02:03:15.629826 > 8 bytes data, server => client 02:03:15.629836 '213 17\r\n' 02:03:15.629881 < 21 bytes data, client => server 02:03:15.629892 'RETR verifiedserver\r\n' 02:03:15.630065 Received DATA (on stdin) 02:03:15.630077 > 29 bytes data, server => client 02:03:15.630088 '150 Binary junk (17 bytes).\r\n' 02:03:15.630474 Received DATA (on stdin) 02:03:15.630486 > 28 bytes data, server => client 02:03:15.630496 '226 File transfer complete\r\n' 02:03:15.672523 < 6 bytes data, client => server 02:03:15.672544 'QUIT\r\n' 02:03:15.672714 Received DATA (on stdin) 02:03:15.672725 > 18 bytes data, server => client 02:03:15.672736 '221 bye bye baby\r\n' 02:03:15.672993 ====> Client disconnect 02:03:15.673229 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.628985 Running IPv4 version 02:03:15.629038 Listening on port 37349 02:03:15.629084 Wrote pid 146945 to log/10/server/ftp_sockdata.pid 02:03:15.629100 Received PING (on stdin) 02:03:15.629178 Received PORT (on stdin) 02:03:15.629490 ====> Client connect 02:03:15.630116 Received DATA (on stdin) 02:03:15.630137 > 17 bytes data, server => client 02:03:15.630148 'WE ROOLZ: 80449\r\n' 02:03:15.630182 Received DISC (on stdin) 02:03:15.630194 ====> Client forcibly disconnected 02:03:15.630255 Received QUIT (on stdin) 02:03:15.630268 quits 02:03:15.630316 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1357 === End of file server.cmd === Start of file valgrind1357 ==147005== ==147005== Process terminating with default action of signal 4 (SIGILL) ==147005== Illegal opcode at address 0x10B08D ==147005== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147005== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1357 test 1359...[FTP download, file with C-D inside, using -O -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1359 ../src/curl -q --trace-ascii log/5/trace1359 --trace-config all --trace-time ftp://127.0.0.1:36485/path/file1359 -O -J -D log/5/heads1359 --output-dir log/5 > log/5/stdout1359 2> log/5/stderr1359 1359: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1359 === Start of file ftp_server.log 02:03:15.712932 ====> Client connect 02:03:15.713089 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.713400 < "USER anonymous" 02:03:15.713448 > "331 We are happy you popped in![CR][LF]" 02:03:15.713643 < "PASS ftp@example.com" 02:03:15.713672 > "230 Welcome you silly person[CR][LF]" 02:03:15.713844 < "PWD" 02:03:15.713881 > "257 "/" is current directory[CR][LF]" 02:03:15.714057 < "EPSV" 02:03:15.714083 ====> Passive DATA channel requested by client 02:03:15.714097 DATA sockfilt for passive data channel starting... 02:03:15.716154 DATA sockfilt for passive data channel started (pid 147258) 02:03:15.716254 DATA sockfilt for passive data channel listens on port 36937 02:03:15.716292 > "229 Entering Passive Mode (|||36937|)[LF]" 02:03:15.716310 Client has been notified that DATA conn will be accepted on port 36937 02:03:15.716555 Client connects to port 36937 02:03:15.716582 ====> Client established passive DATA connection on port 36937 02:03:15.716642 < "TYPE I" 02:03:15.716670 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.716822 < "SIZE verifiedserver" 02:03:15.716860 > "213 17[CR][LF]" 02:03:15.717045 < "RETR verifiedserver" 02:03:15.717085 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.717167 =====> Closing passive DATA connection... 02:03:15.717185 Server disconnects passive DATA connection 02:03:15.717445 Server disconnected passive DATA connection 02:03:15.717474 DATA sockfilt for passive data channel quits (pid 147258) 02:03:15.717689 DATA sockfilt for passive data channel quit (pid 147258) 02:03:15.717710 =====> Closed passive DATA connection 02:03:15.717736 > "226 File transfer complete[CR][LF]" 02:03:15.758735 < "QUIT" 02:03:15.758786 > "221 bye bye baby[CR][LF]" 02:03:15.759643 MAIN sockfilt said DISC 02:03:15.759682 ====> Client disconnected 02:03:15.759831 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:14.912968 ====> Client connect 02:03:14.913241 Received DATA (on stdin) 02:03:14.913257 > 160 bytes data, server => client 02:03:14.913270 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:14.913282 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:14.913293 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:14.913374 < 16 bytes data, client => server 02:03:14.913391 'USER anonymous\r\n' 02:03:14.913594 Received DATA (on stdin) 02:03:14.913608 > 33 bytes data, server => client 02:03:14.913620 '331 We are happy you popped in!\r\n' 02:03:14.913679 < 22 bytes data, client => server 02:03:14.913692 'PASS ftp@example.com\r\n' 02:03:14.913811 Received DATA (on stdin) 02:03:14.913822 > 30 bytes data, server => client 02:03:14.913834 '230 Welcome you silly person\r\n' 02:03:14.913882 < 5 bytes data, client => server 02:03:14.913894 'PWD\r\n' 02:03:14.914026 Received DATA (on stdin) 02:03:14.914039 > 30 bytes data, server => client 02:03:14.914050 '257 "/" is current directory\r\n' 02:03:14.914114 < 6 bytes data, client => server 02:03:14.914125 'EPSV\r\n' 02:03:14.916454 Received DATA (on stdin) 02:03:14.916468 > 38 bytes data, server => client 02:03:14.916481 '229 Entering Passive Mode (|||36937|)\n' 02:03:14.916613 < 8 bytes data, client => server 02:03:14.916629 'TYPE I\r\n' 02:03:14.916809 Received DATA (on stdin) 02:03:14.916821 > 33 bytes data, server => client 02:03:14.916832 '200 I modify TYPE as you wanted\r\n' 02:03:14.916883 < 21 bytes data, client => server 02:03:14.916895 'SIZE verifiedserver\r\n' 02:03:14.917004 Received DATA (on stdin) 02:03:14.917018 > 8 bytes data, server => client 02:03:14.917029 '213 17\r\n' 02:03:14.917088 < 21 bytes data, client => server 02:03:14.917105 'RETR verifiedserver\r\n' 02:03:14.917441 Received DATA (on stdin) 02:03:14.917456 > 29 bytes data, server => client 02:03:14.917467 '150 Binary junk (17 bytes).\r\n' 02:03:14.917876 Received DATA (on stdin) 02:03:14.918003 > 28 bytes data, server => client 02:03:14.918018 '226 File transfer complete\r\n' 02:03:14.958708 < 6 bytes data, client => server 02:03:14.958735 'QUIT\r\n' 02:03:14.958933 Received DATA (on stdin) 02:03:14.958949 > 18 bytes data, server => client 02:03:14.958961 '221 bye bye baby\r\n' 02:03:14.959704 ====> Client disconnect 02:03:14.959833 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.916003 Running IPv4 version 02:03:15.916061 Listening on port 36937 02:03:15.916104 Wrote pid 147258 to log/5/server/ftp_sockdata.pid 02:03:15.916237 Received PING (on stdin) 02:03:15.916314 Received PORT (on stdin) 02:03:15.916649 ====> Client connect 02:03:15.917330 Received DATA (on stdin) 02:03:15.917345 > 17 bytes data, server => client 02:03:15.917357 'WE ROOLZ: 80534\r\n' 02:03:15.917392 Received DISC (on stdin) 02:03:15.917410 ====> Client forcibly disconnected 02:03:15.917621 Received QUIT (on stdin) 02:03:15.917634 quits 02:03:15.917688 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1359 === End of file server.cmd === Start of file valgrind1359 ==147288== ==147288== Process terminating with default action of signal 4 (SIGILL) ==147288== Illegal opcode at address 0x10B08D ==147288== at 0x10B08D: UnknownInCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1361 ../src/curl -q --trace-ascii log/1/trace1361 --trace-config all --trace-time ftp://127.0.0.1:44405/path/file1361 -O -i -D log/1/heads1361 --output-dir log/1 > log/1/stdout1361 2> log/1/stderr1361 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1360 ../src/curl -q --trace-ascii log/12/trace1360 --trace-config all --trace-time ftp://127.0.0.1:40171/path/file1360 -O -J -D - --output-dir log/12 > log/12/stdout1360 2> log/12/stderr1360 linedFun (string_fortified.h:59) ==147288== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1359 test 1361...[FTP download, file with C-D inside, using -O -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1361 ../src/curl -q --trace-ascii log/1/trace1361 --trace-config all --trace-time ftp://127.0.0.1:44405/path/file1361 -O -i -D log/1/heads1361 --output-dir log/1 > log/1/stdout1361 2> log/1/stderr1361 1361: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1361 === Start of file ftp_server.log 02:03:15.799514 ====> Client connect 02:03:15.799649 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.799904 < "USER anonymous" 02:03:15.799935 > "331 We are happy you popped in![CR][LF]" 02:03:15.800092 < "PASS ftp@example.com" 02:03:15.800113 > "230 Welcome you silly person[CR][LF]" 02:03:15.800248 < "PWD" 02:03:15.800275 > "257 "/" is current directory[CR][LF]" 02:03:15.800420 < "EPSV" 02:03:15.800440 ====> Passive DATA channel requested by client 02:03:15.800452 DATA sockfilt for passive data channel starting... 02:03:15.802011 DATA sockfilt for passive data channel started (pid 147333) 02:03:15.802105 DATA sockfilt for passive data channel listens on port 37193 02:03:15.802139 > "229 Entering Passive Mode (|||37193|)[LF]" 02:03:15.802155 Client has been notified that DATA conn will be accepted on port 37193 02:03:15.802368 Client connects to port 37193 02:03:15.802394 ====> Client established passive DATA connection on port 37193 02:03:15.802450 < "TYPE I" 02:03:15.802474 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.802620 < "SIZE verifiedserver" 02:03:15.802662 > "213 17[CR][LF]" 02:03:15.802826 < "RETR verifiedserver" 02:03:15.802863 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.802941 =====> Closing passive DATA connection... 02:03:15.802960 Server disconnects passive DATA connection 02:03:15.803867 Server disconnected passive DATA connection 02:03:15.803896 DATA sockfilt for passive data channel quits (pid 147333) 02:03:15.804086 DATA sockfilt for passive data channel quit (pid 147333) 02:03:15.804111 =====> Closed passive DATA connection 02:03:15.804137 > "226 File transfer complete[CR][LF]" 02:03:15.845496 < "QUIT" 02:03:15.845543 > "221 bye bye baby[CR][LF]" 02:03:15.846381 MAIN sockfilt said DISC 02:03:15.846410 ====> Client disconnected 02:03:15.846473 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.999564 ====> Client connect 02:03:15.999796 Received DATA (on stdin) 02:03:15.999810 > 160 bytes data, server => client 02:03:15.999823 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.999835 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.999846 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.999921 < 16 bytes data, client => server 02:03:15.999934 'USER anonymous\r\n' 02:03:16.000074 Received DATA (on stdin) 02:03:16.000086 > 33 bytes data, server => client 02:03:16.000097 '331 We are happy you popped in!\r\n' 02:03:16.000151 < 22 bytes data, client => server 02:03:16.000162 'PASS ftp@example.com\r\n' 02:03:16.000250 Received DATA (on stdin) 02:03:16.000261 > 30 bytes data, server => client 02:03:16.000272 '230 Welcome you silly person\r\n' 02:03:16.000316 < 5 bytes data, client => server 02:03:16.000327 'PWD\r\n' 02:03:16.000412 Received DATA (on stdin) 02:03:16.000423 > 30 bytes data, server => client 02:03:16.000434 '257 "/" is current directory\r\n' 02:03:16.000487 < 6 bytes data, client => server 02:03:16.000498 'EPSV\r\n' 02:03:16.002297 Received DATA (on stdin) 02:03:16.002310 > 38 bytes data, server => client 02:03:16.002321 '229 Entering Passive Mode (|||37193|)\n' 02:03:16.002430 < 8 bytes data, client => server 02:03:16.002444 'TYPE I\r\n' 02:03:16.002611 Received DATA (on stdin) 02:03:16.002622 > 33 bytes data, server => client 02:03:16.002633 '200 I modify TYPE as you wanted\r\n' 02:03:16.002680 < 21 bytes data, client => server 02:03:16.002691 'SIZE verifiedserver\r\n' 02:03:16.002806 Received DATA (on stdin) 02:03:16.002819 > 8 bytes data, server => client 02:03:16.002830 '213 17\r\n' 02:03:16.002883 < 21 bytes data, client => server 02:03:16.002895 'RETR verifiedserver\r\n' 02:03:16.003099 Received DATA (on stdin) 02:03:16.003112 > 29 bytes data, server => client 02:03:16.003123 '150 Binary junk (17 bytes).\r\n' 02:03:16.004321 Received DATA (on stdin) 02:03:16.004343 > 28 bytes data, server => client 02:03:16.004357 '226 File transfer complete\r\n' 02:03:16.045451 < 6 bytes data, client => server 02:03:16.045480 'QUIT\r\n' 02:03:16.045685 Received DATA (on stdin) 02:03:16.045697 > 18 bytes data, server => client 02:03:16.045708 '221 bye bye baby\r\n' 02:03:16.046473 ====> Client disconnect 02:03:16.046611 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.001991 Running IPv4 version 02:03:15.002043 Listening on port 37193 02:03:15.002081 Wrote pid 147333 to log/1/server/ftp_sockdata.pid 02:03:15.002097 Received PING (on stdin) 02:03:15.002167 Received PORT (on stdin) 02:03:15.002463 ====> Client connect 02:03:15.003886 Received DATA (on stdin) 02:03:15.003898 > 17 bytes data, server => client 02:03:15.003907 'WE ROOLZ: 88524\r\n' 02:03:15.003935 Received DISC (on stdin) 02:03:15.003948 ====> Client forcibly disconnected 02:03:15.004043 Received QUIT (on stdin) 02:03:15.004055 quits 02:03:15.004101 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1361 === End of file server.cmd === Start of file valgrind1361 ==147374== ==147374== Process terminating with default action of signal 4 (SIGILL) ==147374== Illegal opcode at address 0x10B08D ==147374== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147374== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1361 test 1360...[FTP download, file with C-D inside, using -O -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1360 ../src/curl -q --trace-ascii log/12/trace1360 --trace-config all --trace-time ftp://127.0.0.1:40171/path/file1360 -O -J -D - --output-dir log/12 > log/12/stdout1360 2> log/12/stderr1360 1360: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1360 === Start of file ftp_server.log 02:03:15.793598 ====> Client connect 02:03:15.793754 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.794034 < "USER anonymous" 02:03:15.794068 > "331 We are happy you popped in![CR][LF]" 02:03:15.794239 < "PASS ftp@example.com" 02:03:15.794268 > "230 Welcome you silly person[CR][LF]" 02:03:15.794438 < "PWD" 02:03:15.794472 > "257 "/" is current directory[CR][LF]" 02:03:15.794642 < "EPSV" 02:03:15.794667 ====> Passive DATA channel requested by client 02:03:15.794680 DATA sockfilt for passive data channel starting... 02:03:15.800526 DATA sockfilt for passive data channel started (pid 147327) 02:03:15.800634 DATA sockfilt for passive data channel listens on port 39825 02:03:15.800671 > "229 Entering Passive Mode (|||39825|)[LF]" 02:03:15.800688 Client has been notified that DATA conn will be accepted on port 39825 02:03:15.800933 Client connects to port 39825 02:03:15.800962 ====> Client established passive DATA connection on port 39825 02:03:15.801038 < "TYPE I" 02CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1362 ../src/curl -q --trace-ascii log/7/trace1362 --trace-config all --trace-time ftp://127.0.0.1:40455/path/file1362 -O -i -D - --output-dir log/7 > log/7/stdout1362 2> log/7/stderr1362 :03:15.801066 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.801224 < "SIZE verifiedserver" 02:03:15.801262 > "213 17[CR][LF]" 02:03:15.801411 < "RETR verifiedserver" 02:03:15.801442 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.801516 =====> Closing passive DATA connection... 02:03:15.801533 Server disconnects passive DATA connection 02:03:15.801803 Server disconnected passive DATA connection 02:03:15.801834 DATA sockfilt for passive data channel quits (pid 147327) 02:03:15.802016 DATA sockfilt for passive data channel quit (pid 147327) 02:03:15.802038 =====> Closed passive DATA connection 02:03:15.802067 > "226 File transfer complete[CR][LF]" 02:03:15.849301 < "QUIT" 02:03:15.849346 > "221 bye bye baby[CR][LF]" 02:03:15.849921 MAIN sockfilt said DISC 02:03:15.849950 ====> Client disconnected 02:03:15.850003 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:15.993622 ====> Client connect 02:03:15.993904 Received DATA (on stdin) 02:03:15.993918 > 160 bytes data, server => client 02:03:15.993931 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:15.993943 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:15.993954 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:15.994029 < 16 bytes data, client => server 02:03:15.994044 'USER anonymous\r\n' 02:03:15.994211 Received DATA (on stdin) 02:03:15.994224 > 33 bytes data, server => client 02:03:15.994236 '331 We are happy you popped in!\r\n' 02:03:15.994291 < 22 bytes data, client => server 02:03:15.994304 'PASS ftp@example.com\r\n' 02:03:15.994410 Received DATA (on stdin) 02:03:15.994423 > 30 bytes data, server => client 02:03:15.994434 '230 Welcome you silly person\r\n' 02:03:15.994490 < 5 bytes data, client => server 02:03:15.994504 'PWD\r\n' 02:03:15.994612 Received DATA (on stdin) 02:03:15.994625 > 30 bytes data, server => client 02:03:15.994637 '257 "/" is current directory\r\n' 02:03:15.994699 < 6 bytes data, client => server 02:03:15.994712 'EPSV\r\n' 02:03:16.000836 Received DATA (on stdin) 02:03:16.000852 > 38 bytes data, server => client 02:03:16.000865 '229 Entering Passive Mode (|||39825|)\n' 02:03:16.000993 < 8 bytes data, client => server 02:03:16.001009 'TYPE I\r\n' 02:03:16.001205 Received DATA (on stdin) 02:03:16.001218 > 33 bytes data, server => client 02:03:16.001229 '200 I modify TYPE as you wanted\r\n' 02:03:16.001282 < 21 bytes data, client => server 02:03:16.001295 'SIZE verifiedserver\r\n' 02:03:16.001400 Received DATA (on stdin) 02:03:16.001412 > 8 bytes data, server => client 02:03:16.001423 '213 17\r\n' 02:03:16.001472 < 21 bytes data, client => server 02:03:16.001484 'RETR verifiedserver\r\n' 02:03:16.001766 Received DATA (on stdin) 02:03:16.001778 > 29 bytes data, server => client 02:03:16.001790 '150 Binary junk (17 bytes).\r\n' 02:03:16.002308 Received DATA (on stdin) 02:03:16.002325 > 28 bytes data, server => client 02:03:16.002336 '226 File transfer complete\r\n' 02:03:16.049295 < 6 bytes data, client => server 02:03:16.049315 'QUIT\r\n' 02:03:16.049486 Received DATA (on stdin) 02:03:16.049497 > 18 bytes data, server => client 02:03:16.049507 '221 bye bye baby\r\n' 02:03:16.050009 ====> Client disconnect 02:03:16.050108 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.000377 Running IPv4 version 02:03:15.000434 Listening on port 39825 02:03:15.000471 Wrote pid 147327 to log/12/server/ftp_sockdata.pid 02:03:15.000608 Received PING (on stdin) 02:03:15.000687 Received PORT (on stdin) 02:03:15.001027 ====> Client connect 02:03:15.001672 Received DATA (on stdin) 02:03:15.001685 > 17 bytes data, server => client 02:03:15.001697 'WE ROOLZ: 80450\r\n' 02:03:15.001727 Received DISC (on stdin) 02:03:15.001740 ====> Client forcibly disconnected 02:03:15.001981 Received QUIT (on stdin) 02:03:15.001993 quits 02:03:15.002042 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1360 === End of file server.cmd === Start of file valgrind1360 ==147375== ==147375== Process terminating with default action of signal 4 (SIGILL) ==147375== Illegal opcode at address 0x10B08D ==147375== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147375== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1360 test 1362...[FTP download, file with C-D inside, using -O -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1362 ../src/curl -q --trace-ascii log/7/trace1362 --trace-config all --trace-time ftp://127.0.0.1:40455/path/file1362 -O -i -D - --output-dir log/7 > log/7/stdout1362 2> log/7/stderr1362 1362: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1362 === Start of file ftp_server.log 02:03:15.797992 ====> Client connect 02:03:15.798140 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.798490 < "USER anonymous" 02:03:15.798523 > "331 We are happy you popped in![CR][LF]" 02:03:15.798687 < "PASS ftp@example.com" 02:03:15.798714 > "230 Welcome you silly person[CR][LF]" 02:03:15.798869 < "PWD" 02:03:15.798900 > "257 "/" is current directory[CR][LF]" 02:03:15.799062 < "EPSV" 02:03:15.799090 ====> Passive DATA channel requested by client 02:03:15.799104 DATA sockfilt for passive data channel starting... 02:03:15.802388 DATA sockfilt for passive data channel started (pid 147332) 02:03:15.802491 DATA sockfilt for passive data channel listens on port 40193 02:03:15.802530 > "229 Entering Passive Mode (|||40193|)[LF]" 02:03:15.802547 Client has been notified that DATA conn will be accepted on port 40193 02:03:15.802734 Client connects to port 40193 02:03:15.802766 ====> Client established passive DATA connection on port 40193 02:03:15.802835 < "TYPE I" 02:03:15.802862 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.803024 < "SIZE verifiedserver" 02:03:15.803060 > "213 18[CR][LF]" 02:03:15.803220 < "RETR verifiedserver" 02:03:15.803255 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:15.803328 =====> Closing passive DATA connection... 02:03:15.803343 Server disconnects passive DATA connection 02:03:15.803476 Server disconnected passive DATA connection 02:03:15.803499 DATA sockfilt for passive data channel quits (pid 147332) 02:03:15.803641 DATA sockfilt for passive data channel quit (pid 147332) 02:03:15.803659 =====> Closed passive DATA connection 02:03:15.803678 > "226 File transfer complete[CR][LF]" 02:03:15.849442 < "QUIT" 02:03:15.849486 > "221 bye bye baby[CR][LF]" 02:03:15.850160 MAIN sockfilt said DISC 02:03:15.850202 ====> Client disconnected 02:03:15.850256 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:14.998037 ====> Client connect 02:03:14.998289 Received DATA (on stdin) 02:03:14.998304 > 160 bytes data, server => client 02:03:14.998317 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:14.998330 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:14.998341 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:14.998423 < 16 bytes data, client => server 02:03:14.998437 'USER anonymous\r\n' 02:03:14.998664 Received DATA (on stdin) 02:03:14.998677 > 33 bytes data, server => client 02:03:14.998689 '331 We are happy you popped in!\r\n' 02:03:14.998742 < 22 bytes data, client => server 02:03:14.998755 'PASS ftp@example.com\r\n' 02:03:14.998853 Received DATA (on stdin) 02:03:14.998865 > 30 bytes data, server => client 02:03:14.998877 '230 Welcome you silly person\r\n' 02:03:14.998927 < 5 bytes data, client => server 02:03:14.998938 'PWD\r\n' 02:03:14.999039 Received DATA (on stdin) 02:03:14.999050 > 30 bytes data, server => client 02:03:14.9CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1363 ../src/curl -q --trace-ascii log/11/trace1363 --trace-config all --trace-time ftp://127.0.0.1:45687/path/file1363 -O -i --output-dir log/11 > log/11/stdout1363 2> log/11/stderr1363 99061 '257 "/" is current directory\r\n' 02:03:14.999119 < 6 bytes data, client => server 02:03:14.999131 'EPSV\r\n' 02:03:15.002648 Received DATA (on stdin) 02:03:15.002663 > 38 bytes data, server => client 02:03:15.002676 '229 Entering Passive Mode (|||40193|)\n' 02:03:15.002820 < 8 bytes data, client => server 02:03:15.002841 'TYPE I\r\n' 02:03:15.003003 Received DATA (on stdin) 02:03:15.003016 > 33 bytes data, server => client 02:03:15.003027 '200 I modify TYPE as you wanted\r\n' 02:03:15.003081 < 21 bytes data, client => server 02:03:15.003092 'SIZE verifiedserver\r\n' 02:03:15.003201 Received DATA (on stdin) 02:03:15.003215 > 8 bytes data, server => client 02:03:15.003226 '213 18\r\n' 02:03:15.003276 < 21 bytes data, client => server 02:03:15.003290 'RETR verifiedserver\r\n' 02:03:15.003483 Received DATA (on stdin) 02:03:15.003497 > 29 bytes data, server => client 02:03:15.003508 '150 Binary junk (18 bytes).\r\n' 02:03:15.003814 Received DATA (on stdin) 02:03:15.003824 > 28 bytes data, server => client 02:03:15.003833 '226 File transfer complete\r\n' 02:03:15.049438 < 6 bytes data, client => server 02:03:15.049459 'QUIT\r\n' 02:03:15.049627 Received DATA (on stdin) 02:03:15.049638 > 18 bytes data, server => client 02:03:15.049648 '221 bye bye baby\r\n' 02:03:15.050244 ====> Client disconnect 02:03:15.050398 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.002366 Running IPv4 version 02:03:15.002422 Listening on port 40193 02:03:15.002457 Wrote pid 147332 to log/7/server/ftp_sockdata.pid 02:03:15.002474 Received PING (on stdin) 02:03:15.002548 Received PORT (on stdin) 02:03:15.002805 ====> Client connect 02:03:15.003499 Received DATA (on stdin) 02:03:15.003512 > 18 bytes data, server => client 02:03:15.003524 'WE ROOLZ: 134972\r\n' 02:03:15.003550 Received DISC (on stdin) 02:03:15.003564 ====> Client forcibly disconnected 02:03:15.003641 Received QUIT (on stdin) 02:03:15.003650 quits 02:03:15.003685 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1362 === End of file server.cmd === Start of file valgrind1362 ==147382== ==147382== Process terminating with default action of signal 4 (SIGILL) ==147382== Illegal opcode at address 0x10B08D ==147382== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147382== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1362 test 1363...[FTP download, file with C-D inside, using -O -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1363 ../src/curl -q --trace-ascii log/11/trace1363 --trace-config all --trace-time ftp://127.0.0.1:45687/path/file1363 -O -i --output-dir log/11 > log/11/stdout1363 2> log/11/stderr1363 1363: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1363 === Start of file ftp_server.log 02:03:15.809133 ====> Client connect 02:03:15.809280 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:15.809568 < "USER anonymous" 02:03:15.809602 > "331 We are happy you popped in![CR][LF]" 02:03:15.809778 < "PASS ftp@example.com" 02:03:15.809806 > "230 Welcome you silly person[CR][LF]" 02:03:15.809970 < "PWD" 02:03:15.809999 > "257 "/" is current directory[CR][LF]" 02:03:15.810135 < "EPSV" 02:03:15.810154 ====> Passive DATA channel requested by client 02:03:15.810165 DATA sockfilt for passive data channel starting... 02:03:15.811297 DATA sockfilt for passive data channel started (pid 147349) 02:03:15.811378 DATA sockfilt for passive data channel listens on port 40027 02:03:15.811405 > "229 Entering Passive Mode (|||40027|)[LF]" 02:03:15.811420 Client has been notified that DATA conn will be accepted on port 40027 02:03:15.811608 Client connects to port 40027 02:03:15.811632 ====> Client established passive DATA connection on port 40027 02:03:15.811680 < "TYPE I" 02:03:15.811770 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:15.811943 < "SIZE verifiedserver" 02:03:15.811976 > "213 17[CR][LF]" 02:03:15.812198 < "RETR verifiedserver" 02:03:15.812234 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:15.812312 =====> Closing passive DATA connection... 02:03:15.812326 Server disconnects passive DATA connection 02:03:15.812397 Server disconnected passive DATA connection 02:03:15.812416 DATA sockfilt for passive data channel quits (pid 147349) 02:03:15.812591 DATA sockfilt for passive data channel quit (pid 147349) 02:03:15.812612 =====> Closed passive DATA connection 02:03:15.812635 > "226 File transfer complete[CR][LF]" 02:03:15.858460 < "QUIT" 02:03:15.858510 > "221 bye bye baby[CR][LF]" 02:03:15.859304 MAIN sockfilt said DISC 02:03:15.859335 ====> Client disconnected 02:03:15.859391 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:16.009168 ====> Client connect 02:03:16.009431 Received DATA (on stdin) 02:03:16.009446 > 160 bytes data, server => client 02:03:16.009460 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:16.009473 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:16.009485 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:16.009560 < 16 bytes data, client => server 02:03:16.009575 'USER anonymous\r\n' 02:03:16.009745 Received DATA (on stdin) 02:03:16.009759 > 33 bytes data, server => client 02:03:16.009771 '331 We are happy you popped in!\r\n' 02:03:16.009827 < 22 bytes data, client => server 02:03:16.009842 'PASS ftp@example.com\r\n' 02:03:16.009946 Received DATA (on stdin) 02:03:16.009959 > 30 bytes data, server => client 02:03:16.009970 '230 Welcome you silly person\r\n' 02:03:16.010025 < 5 bytes data, client => server 02:03:16.010037 'PWD\r\n' 02:03:16.010135 Received DATA (on stdin) 02:03:16.010146 > 30 bytes data, server => client 02:03:16.010156 '257 "/" is current directory\r\n' 02:03:16.010207 < 6 bytes data, client => server 02:03:16.010216 'EPSV\r\n' 02:03:16.011559 Received DATA (on stdin) 02:03:16.011570 > 38 bytes data, server => client 02:03:16.011580 '229 Entering Passive Mode (|||40027|)\n' 02:03:16.011680 < 8 bytes data, client => server 02:03:16.011692 'TYPE I\r\n' 02:03:16.011912 Received DATA (on stdin) 02:03:16.011939 > 33 bytes data, server => client 02:03:16.011950 '200 I modify TYPE as you wanted\r\n' 02:03:16.012002 < 21 bytes data, client => server 02:03:16.012014 'SIZE verifiedserver\r\n' 02:03:16.012116 Received DATA (on stdin) 02:03:16.012178 > 8 bytes data, server => client 02:03:16.012191 '213 17\r\n' 02:03:16.012250 < 21 bytes data, client => server 02:03:16.012262 'RETR verifiedserver\r\n' 02:03:16.012453 Received DATA (on stdin) 02:03:16.012467 > 29 bytes data, server => client 02:03:16.012478 '150 Binary junk (17 bytes).\r\n' 02:03:16.012774 Received DATA (on stdin) 02:03:16.012787 > 28 bytes data, server => client 02:03:16.012798 '226 File transfer complete\r\n' 02:03:16.055488 < 6 bytes data, client => server 02:03:16.055512 'QUIT\r\n' 02:03:16.058656 Received DATA (on stdin) 02:03:16.058673 > 18 bytes data, server => client 02:03:16.058685 '221 bye bye baby\r\n' 02:03:16.059391 ====> Client disconnect 02:03:16.059531 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:15.011302 Running IPv4 version 02:03:15.011344 Listening on port 40027 02:03:15.011373 Wrote pid 147349 to log/11/server/ftp_sockdata.pid 02:03:15.011387 Received PING (on stdin) 02:03:15.011450 Received PORT (on stdin) 02:03:15.011707 ====> Client connect 02:03:15.012384 Received DATA (on stdin) 02:03:15.012401 > 17 bytes data, server => client 02:03:15.012412 'WE ROOLZ: 80480\r\n' 02:03:15.012468 Received DISC (on stdin) 02:03:15.012482 ====> Client forcibly disCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1364 ../src/curl -q --trace-ascii log/2/trace1364 --trace-config all --trace-time http://127.0.0.1:38781/1364 -o log/2/outfile1364 -D log/2/heads1364 > log/2/stdout1364 2> log/2/stderr1364 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1368 ../src/curl -q --trace-ascii log/6/trace1368 --trace-config all --trace-time http://127.0.0.1:39457/1368 -J -o log/6/outfile1368 -D log/6/heads1368 > log/6/stdout1368 2> log/6/stderr1368 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1367 ../src/curl -q --trace-ascii log/9/trace1367 --trace-config all --trace-time http://127.0.0.1:38509/1367 -o log/9/outfile1367 -D - > log/9/stdout1367 2> log/9/stderr1367 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1365 ../src/curl -q --trace-ascii log/3/trace1365 --trace-config all --trace-time http://127.0.0.1:34527/1365 -o log/3/outfile1365 -D - > log/3/stdout1365 2> log/3/stderr1365 connected 02:03:15.012559 Received QUIT (on stdin) 02:03:15.012569 quits 02:03:15.012615 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1363 === End of file server.cmd === Start of file valgrind1363 ==147406== ==147406== Process terminating with default action of signal 4 (SIGILL) ==147406== Illegal opcode at address 0x10B08D ==147406== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147406== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1363 test 1364...[HTTP GET -o fname without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1364 ../src/curl -q --trace-ascii log/2/trace1364 --trace-config all --trace-time http://127.0.0.1:38781/1364 -o log/2/outfile1364 -D log/2/heads1364 > log/2/stdout1364 2> log/2/stderr1364 1364: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1364 === Start of file http_server.log 02:03:16.191087 ====> Client connect 02:03:16.191123 accept_connection 3 returned 4 02:03:16.191141 accept_connection 3 returned 0 02:03:16.191156 Read 93 bytes 02:03:16.191168 Process 93 bytes request 02:03:16.191184 Got request: GET /verifiedserver HTTP/1.1 02:03:16.191194 Are-we-friendly question received 02:03:16.191219 Wrote request (93 bytes) input to log/2/server.input 02:03:16.191238 Identifying ourselves as friends 02:03:16.191308 Response sent (56 bytes) and written to log/2/server.response 02:03:16.191320 special request received, no persistency 02:03:16.191330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1364 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1364 ==147582== ==147582== Process terminating with default action of signal 4 (SIGILL) ==147582== Illegal opcode at address 0x10B08D ==147582== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147582== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1364 test 1368...[HTTP GET -o fname -J without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1368 ../src/curl -q --trace-ascii log/6/trace1368 --trace-config all --trace-time http://127.0.0.1:39457/1368 -J -o log/6/outfile1368 -D log/6/heads1368 > log/6/stdout1368 2> log/6/stderr1368 1368: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1368 === Start of file http_server.log 02:03:16.337644 ====> Client connect 02:03:16.337675 accept_connection 3 returned 4 02:03:16.337693 accept_connection 3 returned 0 02:03:16.337708 Read 93 bytes 02:03:16.337720 Process 93 bytes request 02:03:16.337734 Got request: GET /verifiedserver HTTP/1.1 02:03:16.337744 Are-we-friendly question received 02:03:16.337767 Wrote request (93 bytes) input to log/6/server.input 02:03:16.337787 Identifying ourselves as friends 02:03:16.337858 Response sent (56 bytes) and written to log/6/server.response 02:03:16.337870 special request received, no persistency 02:03:16.337881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1368 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1368 ==147755== ==147755== Process terminating with default action of signal 4 (SIGILL) ==147755== Illegal opcode at address 0x10B08D ==147755== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147755== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1368 test 1367...[HTTP GET -o fname and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1367 ../src/curl -q --trace-ascii log/9/trace1367 --trace-config all --trace-time http://127.0.0.1:38509/1367 -o log/9/outfile1367 -D - > log/9/stdout1367 2> log/9/stderr1367 1367: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1367 === Start of file http_server.log 02:03:16.329831 ====> Client connect 02:03:16.329867 accept_connection 3 returned 4 02:03:16.329886 accept_connection 3 returned 0 02:03:16.329901 Read 93 bytes 02:03:16.329912 Process 93 bytes request 02:03:16.329927 Got request: GET /verifiedserver HTTP/1.1 02:03:16.329937 Are-we-friendly question received 02:03:16.329961 Wrote request (93 bytes) input to log/9/server.input 02:03:16.329980 Identifying ourselves as friends 02:03:16.330053 Response sent (56 bytes) and written to log/9/server.response 02:03:16.330065 special request received, no persistency 02:03:16.330075 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1367 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1367 ==147736== ==147736== Process terminating with default action of signal 4 (SIGILL) ==147736== Illegal opcode at address 0x10B08D ==147736== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147736== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1367 test 1365...[HTTP GET -o fname without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1365 ../src/curl -q --trace-ascii log/3/trace1365 --trace-config all --trace-time http://127.0.0.1:34527/1365 -o log/3/outfile1365 -D - > log/3/stdout1365 2> log/3/stderr1365 1365: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1365 === Start of file http_server.log 02:03:16.322670 ====> Client connect 02:03:16.322705 accept_connection 3 returnCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1370 ../src/curl -q --trace-ascii log/8/trace1370 --trace-config all --trace-time http://127.0.0.1:43803/1370 -J -o log/8/outfile1370 -D log/8/heads1370 > log/8/stdout1370 2> log/8/stderr1370 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1366 ../src/curl -q --trace-ascii log/4/trace1366 --trace-config all --trace-time http://127.0.0.1:36813/1366 -o log/4/outfile1366 -D log/4/heads1366 > log/4/stdout1366 2> log/4/stderr1366 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1369 ../src/curl -q --trace-ascii log/10/trace1369 --trace-config all --trace-time http://127.0.0.1:42929/1369 -J -o log/10/outfile1369 -D - > log/10/stdout1369 2> log/10/stderr1369 ed 4 02:03:16.322722 accept_connection 3 returned 0 02:03:16.322737 Read 93 bytes 02:03:16.322747 Process 93 bytes request 02:03:16.322763 Got request: GET /verifiedserver HTTP/1.1 02:03:16.322773 Are-we-friendly question received 02:03:16.322796 Wrote request (93 bytes) input to log/3/server.input 02:03:16.322814 Identifying ourselves as friends 02:03:16.322886 Response sent (56 bytes) and written to log/3/server.response 02:03:16.322898 special request received, no persistency 02:03:16.322908 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1365 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1365 ==147712== ==147712== Process terminating with default action of signal 4 (SIGILL) ==147712== Illegal opcode at address 0x10B08D ==147712== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147712== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1365 test 1366...[HTTP GET -o fname and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1366 ../src/curl -q --trace-ascii log/4/trace1366 --trace-config all --trace-time http://127.0.0.1:36813/1366 -o log/4/outfile1366 -D log/4/heads1366 > log/4/stdout1366 2> log/4/stderr1366 1366: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1366 === Start of file http_server.log 02:03:16.331125 ====> Client connect 02:03:16.331155 accept_connection 3 returned 4 02:03:16.331172 accept_connection 3 returned 0 02:03:16.331187 Read 93 bytes 02:03:16.331198 Process 93 bytes request 02:03:16.331210 Got request: GET /verifiedserver HTTP/1.1 02:03:16.331221 Are-we-friendly question received 02:03:16.331245 Wrote request (93 bytes) input to log/4/server.input 02:03:16.331269 Identifying ourselves as friends 02:03:16.331339 Response sent (56 bytes) and written to log/4/server.response 02:03:16.331351 special request received, no persistency 02:03:16.331361 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1366 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1366 ==147729== ==147729== Process terminating with default action of signal 4 (SIGILL) ==147729== Illegal opcode at address 0x10B08D ==147729== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147729== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1366 test 1370...[HTTP GET -o fname -J and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1370 ../src/curl -q --trace-ascii log/8/trace1370 --trace-config all --trace-time http://127.0.0.1:43803/1370 -J -o log/8/outfile1370 -D log/8/heads1370 > log/8/stdout1370 2> log/8/stderr1370 1370: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1370 === Start of file http_server.log 02:03:16.353136 ====> Client connect 02:03:16.353166 accept_connection 3 returned 4 02:03:16.353183 accept_connection 3 returned 0 02:03:16.353196 Read 93 bytes 02:03:16.353206 Process 93 bytes request 02:03:16.353219 Got request: GET /verifiedserver HTTP/1.1 02:03:16.353229 Are-we-friendly question received 02:03:16.353250 Wrote request (93 bytes) input to log/8/server.input 02:03:16.353268 Identifying ourselves as friends 02:03:16.353332 Response sent (56 bytes) and written to log/8/server.response 02:03:16.353343 special request received, no persistency 02:03:16.353352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1370 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1370 ==147815== ==147815== Process terminating with default action of signal 4 (SIGILL) ==147815== Illegal opcode at address 0x10B08D ==147815== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147815== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1370 test 1369...[HTTP GET -o fname -J without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1369 ../src/curl -q --trace-ascii log/10/trace1369 --trace-config all --trace-time http://127.0.0.1:42929/1369 -J -o log/10/outfile1369 -D - > log/10/stdout1369 2> log/10/stderr1369 1369: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1369 === Start of file http_server.log 02:03:16.352709 ====> Client connect 02:03:16.352742 accept_connection 3 returned 4 02:03:16.352759 accept_connection 3 returned 0 02:03:16.352774 Read 93 bytes 02:03:16.352784 Process 93 bytes request 02:03:16.352799 Got request: GET /verifiedserver HTTP/1.1 02:03:16.352809 Are-we-friendly question received 02:03:16.352833 Wrote request (93 bytes) input to log/10/server.input 02:03:16.352851 Identifying ourselves as friends 02:03:16.352921 Response sent (56 bytes) and written to log/10/server.response 02:03:16.352933 special request received, no persistency 02:03:16.352943 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1369 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start ofCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1371 ../src/curl -q --trace-ascii log/5/trace1371 --trace-config all --trace-time http://127.0.0.1:34719/1371 -J -o log/5/outfile1371 -D - > log/5/stdout1371 2> log/5/stderr1371 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1372 ../src/curl -q --trace-ascii log/1/trace1372 --trace-config all --trace-time http://127.0.0.1:34215/1372 -i -o log/1/outfile1372 -D log/1/heads1372 > log/1/stdout1372 2> log/1/stderr1372 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1375 ../src/curl -q --trace-ascii log/11/trace1375 --trace-config all --trace-time http://127.0.0.1:44137/1375 -i -o log/11/outfile1375 -D - > log/11/stdout1375 2> log/11/stderr1375 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1373 ../src/curl -q --trace-ascii log/12/trace1373 --trace-config all --trace-time http://127.0.0.1:40653/1373 -i -o log/12/outfile1373 -D - > log/12/stdout1373 2> log/12/stderr1373 file valgrind1369 ==147809== ==147809== Process terminating with default action of signal 4 (SIGILL) ==147809== Illegal opcode at address 0x10B08D ==147809== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==147809== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1369 test 1371...[HTTP GET -o fname -J and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1371 ../src/curl -q --trace-ascii log/5/trace1371 --trace-config all --trace-time http://127.0.0.1:34719/1371 -J -o log/5/outfile1371 -D - > log/5/stdout1371 2> log/5/stderr1371 1371: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1371 === Start of file http_server.log 02:03:16.617613 ====> Client connect 02:03:16.617649 accept_connection 3 returned 4 02:03:16.617666 accept_connection 3 returned 0 02:03:16.617680 Read 93 bytes 02:03:16.617691 Process 93 bytes request 02:03:16.617707 Got request: GET /verifiedserver HTTP/1.1 02:03:16.617716 Are-we-friendly question received 02:03:16.617740 Wrote request (93 bytes) input to log/5/server.input 02:03:16.617759 Identifying ourselves as friends 02:03:16.617828 Response sent (57 bytes) and written to log/5/server.response 02:03:16.617839 special request received, no persistency 02:03:16.617849 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1371 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind1371 ==148038== ==148038== Process terminating with default action of signal 4 (SIGILL) ==148038== Illegal opcode at address 0x10B08D ==148038== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148038== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1371 test 1372...[HTTP GET -o fname -i without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1372 ../src/curl -q --trace-ascii log/1/trace1372 --trace-config all --trace-time http://127.0.0.1:34215/1372 -i -o log/1/outfile1372 -D log/1/heads1372 > log/1/stdout1372 2> log/1/stderr1372 1372: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1372 === Start of file http_server.log 02:03:16.694190 ====> Client connect 02:03:16.694218 accept_connection 3 returned 4 02:03:16.694234 accept_connection 3 returned 0 02:03:16.694247 Read 93 bytes 02:03:16.694258 Process 93 bytes request 02:03:16.694270 Got request: GET /verifiedserver HTTP/1.1 02:03:16.694279 Are-we-friendly question received 02:03:16.694299 Wrote request (93 bytes) input to log/1/server.input 02:03:16.694316 Identifying ourselves as friends 02:03:16.694375 Response sent (56 bytes) and written to log/1/server.response 02:03:16.694385 special request received, no persistency 02:03:16.694394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1372 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1372 ==148116== ==148116== Process terminating with default action of signal 4 (SIGILL) ==148116== Illegal opcode at address 0x10B08D ==148116== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148116== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1372 test 1375...[HTTP GET -o fname -i and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1375 ../src/curl -q --trace-ascii log/11/trace1375 --trace-config all --trace-time http://127.0.0.1:44137/1375 -i -o log/11/outfile1375 -D - > log/11/stdout1375 2> log/11/stderr1375 1375: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1375 === Start of file http_server.log 02:03:16.742066 ====> Client connect 02:03:16.742096 accept_connection 3 returned 4 02:03:16.742112 accept_connection 3 returned 0 02:03:16.742126 Read 93 bytes 02:03:16.742137 Process 93 bytes request 02:03:16.742150 Got request: GET /verifiedserver HTTP/1.1 02:03:16.742161 Are-we-friendly question received 02:03:16.742190 Wrote request (93 bytes) input to log/11/server.input 02:03:16.742207 Identifying ourselves as friends 02:03:16.742272 Response sent (56 bytes) and written to log/11/server.response 02:03:16.742283 special request received, no persistency 02:03:16.742293 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1375 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1375 ==148249== ==148249== Process terminating with default action of signal 4 (SIGILL) ==148249== Illegal opcode at address 0x10B08D ==148249== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148249== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1375 test 1373...[HTTP GET -o fname -i without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1373 ../src/curl -q --trace-ascii log/12/trace1373 --trace-config all --trace-time http://127.0.0.1:40653/1373 -i -o log/12/outfile1373 -D - > log/12/stdout1373 2> log/12/stderr1373 1373: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1373 === Start of file http_server.log 02:03:16.692669 ====> Client connect 02:03:16.692703 accept_connection 3 returned 4 02:03:16.692719 accept_connection 3 returned 0 02:03:16.692733 Read 93 bytes 02:03:16.692744 Process 93 bytes request 02:03:16.692758 Got request: GET /verifiedserver HTTP/1.1 02:03:16.692768 Are-we-friendlCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1374 ../src/curl -q --trace-ascii log/7/trace1374 --trace-config all --trace-time http://127.0.0.1:43753/1374 -i -o log/7/outfile1374 -D log/7/heads1374 > log/7/stdout1374 2> log/7/stderr1374 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1376 ../src/curl -q --trace-ascii log/2/trace1376 --trace-config all --trace-time http://127.0.0.1:38781/1376 -i -o log/2/outfile1376 > log/2/stdout1376 2> log/2/stderr1376 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1377 ../src/curl -q --trace-ascii log/6/trace1377 --trace-config all --trace-time http://127.0.0.1:39457/1377 -i -o log/6/outfile1377 > log/6/stdout1377 2> log/6/stderr1377 y question received 02:03:16.692792 Wrote request (93 bytes) input to log/12/server.input 02:03:16.692810 Identifying ourselves as friends 02:03:16.692878 Response sent (56 bytes) and written to log/12/server.response 02:03:16.692889 special request received, no persistency 02:03:16.692898 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1373 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1373 ==148117== ==148117== Process terminating with default action of signal 4 (SIGILL) ==148117== Illegal opcode at address 0x10B08D ==148117== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148117== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1373 test 1374...[HTTP GET -o fname -i and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1374 ../src/curl -q --trace-ascii log/7/trace1374 --trace-config all --trace-time http://127.0.0.1:43753/1374 -i -o log/7/outfile1374 -D log/7/heads1374 > log/7/stdout1374 2> log/7/stderr1374 1374: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1374 === Start of file http_server.log 02:03:16.732783 ====> Client connect 02:03:16.732823 accept_connection 3 returned 4 02:03:16.732842 accept_connection 3 returned 0 02:03:16.732858 Read 93 bytes 02:03:16.732869 Process 93 bytes request 02:03:16.732883 Got request: GET /verifiedserver HTTP/1.1 02:03:16.732893 Are-we-friendly question received 02:03:16.732920 Wrote request (93 bytes) input to log/7/server.input 02:03:16.732938 Identifying ourselves as friends 02:03:16.733018 Response sent (56 bytes) and written to log/7/server.response 02:03:16.733032 special request received, no persistency 02:03:16.733043 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1374 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1374 ==148233== ==148233== Process terminating with default action of signal 4 (SIGILL) ==148233== Illegal opcode at address 0x10B08D ==148233== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148233== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1374 test 1376...[HTTP GET -o fname -i without Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1376 ../src/curl -q --trace-ascii log/2/trace1376 --trace-config all --trace-time http://127.0.0.1:38781/1376 -i -o log/2/outfile1376 > log/2/stdout1376 2> log/2/stderr1376 1376: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1376 === Start of file http_server.log 02:03:16.870733 ====> Client connect 02:03:16.870769 accept_connection 3 returned 4 02:03:16.870786 accept_connection 3 returned 0 02:03:16.870802 Read 93 bytes 02:03:16.870815 Process 93 bytes request 02:03:16.870829 Got request: GET /verifiedserver HTTP/1.1 02:03:16.870840 Are-we-friendly question received 02:03:16.870867 Wrote request (93 bytes) input to log/2/server.input 02:03:16.870885 Identifying ourselves as friends 02:03:16.870955 Response sent (56 bytes) and written to log/2/server.response 02:03:16.870968 special request received, no persistency 02:03:16.870977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1376 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1376 ==148358== ==148358== Process terminating with default action of signal 4 (SIGILL) ==148358== Illegal opcode at address 0x10B08D ==148358== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148358== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1376 test 1377...[HTTP GET -o fname -i and Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1377 ../src/curl -q --trace-ascii log/6/trace1377 --trace-config all --trace-time http://127.0.0.1:39457/1377 -i -o log/6/outfile1377 > log/6/stdout1377 2> log/6/stderr1377 1377: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1377 === Start of file http_server.log 02:03:17.032488 ====> Client connect 02:03:17.032517 accept_connection 3 returned 4 02:03:17.032532 accept_connection 3 returned 0 02:03:17.032546 Read 93 bytes 02:03:17.032556 Process 93 bytes request 02:03:17.032571 Got request: GET /verifiedserver HTTP/1.1 02:03:17.032580 Are-we-friendly question received 02:03:17.032601 Wrote request (93 bytes) input to log/6/server.input 02:03:17.032617 Identifying ourselves as friends 02:03:17.032679 Response sent (56 bytes) and written to log/6/server.response 02:03:17.032689 special request received, no persistency 02:03:17.032698 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1377 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1377 ==148504== ==148504== Process terminating with default action of signal 4 (SIGILL) ==148504== Illegal opcode at address 0x10B08D ==148504== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148504== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1381 ../src/curl -q --trace-ascii log/10/trace1381 --trace-config all --trace-time ftp://127.0.0.1:42661/path/file1381 -o log/10/download1381 -J -D log/10/heads1381 > log/10/stdout1381 2> log/10/stderr1381 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1378 ../src/curl -q --trace-ascii log/9/trace1378 --trace-config all --trace-time ftp://127.0.0.1:35301/path/file1378 -o log/9/download1378 > log/9/stdout1378 2> log/9/stderr1378 by 0x10B08D: main (tool_main.c:232) === End of file valgrind1377 test 1381...[FTP DL, file without C-D inside, using -o fname -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1381 ../src/curl -q --trace-ascii log/10/trace1381 --trace-config all --trace-time ftp://127.0.0.1:42661/path/file1381 -o log/10/download1381 -J -D log/10/heads1381 > log/10/stdout1381 2> log/10/stderr1381 1381: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1381 === Start of file ftp_server.log 02:03:16.838381 ====> Client connect 02:03:16.838517 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:16.838784 < "USER anonymous" 02:03:16.838818 > "331 We are happy you popped in![CR][LF]" 02:03:16.838985 < "PASS ftp@example.com" 02:03:16.839013 > "230 Welcome you silly person[CR][LF]" 02:03:16.839160 < "PWD" 02:03:16.839189 > "257 "/" is current directory[CR][LF]" 02:03:16.839334 < "EPSV" 02:03:16.839356 ====> Passive DATA channel requested by client 02:03:16.839368 DATA sockfilt for passive data channel starting... 02:03:16.840850 DATA sockfilt for passive data channel started (pid 148500) 02:03:16.840938 DATA sockfilt for passive data channel listens on port 40533 02:03:16.840970 > "229 Entering Passive Mode (|||40533|)[LF]" 02:03:16.840987 Client has been notified that DATA conn will be accepted on port 40533 02:03:16.841205 Client connects to port 40533 02:03:16.841231 ====> Client established passive DATA connection on port 40533 02:03:16.841283 < "TYPE I" 02:03:16.841305 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:16.841469 < "SIZE verifiedserver" 02:03:16.841501 > "213 17[CR][LF]" 02:03:16.841638 < "RETR verifiedserver" 02:03:16.841666 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:16.841743 =====> Closing passive DATA connection... 02:03:16.841757 Server disconnects passive DATA connection 02:03:16.841964 Server disconnected passive DATA connection 02:03:16.841988 DATA sockfilt for passive data channel quits (pid 148500) 02:03:16.842157 DATA sockfilt for passive data channel quit (pid 148500) 02:03:16.842177 =====> Closed passive DATA connection 02:03:16.842202 > "226 File transfer complete[CR][LF]" 02:03:16.885299 < "QUIT" 02:03:16.885347 > "221 bye bye baby[CR][LF]" 02:03:16.886105 MAIN sockfilt said DISC 02:03:16.886144 ====> Client disconnected 02:03:16.886208 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.038426 ====> Client connect 02:03:17.038670 Received DATA (on stdin) 02:03:17.038686 > 160 bytes data, server => client 02:03:17.038699 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.038710 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.038720 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.038789 < 16 bytes data, client => server 02:03:17.038801 'USER anonymous\r\n' 02:03:17.038958 Received DATA (on stdin) 02:03:17.038970 > 33 bytes data, server => client 02:03:17.038981 '331 We are happy you popped in!\r\n' 02:03:17.039035 < 22 bytes data, client => server 02:03:17.039047 'PASS ftp@example.com\r\n' 02:03:17.039153 Received DATA (on stdin) 02:03:17.039164 > 30 bytes data, server => client 02:03:17.039175 '230 Welcome you silly person\r\n' 02:03:17.039222 < 5 bytes data, client => server 02:03:17.039233 'PWD\r\n' 02:03:17.039327 Received DATA (on stdin) 02:03:17.039338 > 30 bytes data, server => client 02:03:17.039348 '257 "/" is current directory\r\n' 02:03:17.039399 < 6 bytes data, client => server 02:03:17.039410 'EPSV\r\n' 02:03:17.041132 Received DATA (on stdin) 02:03:17.041144 > 38 bytes data, server => client 02:03:17.041160 '229 Entering Passive Mode (|||40533|)\n' 02:03:17.041268 < 8 bytes data, client => server 02:03:17.041283 'TYPE I\r\n' 02:03:17.041442 Received DATA (on stdin) 02:03:17.041454 > 33 bytes data, server => client 02:03:17.041465 '200 I modify TYPE as you wanted\r\n' 02:03:17.041512 < 21 bytes data, client => server 02:03:17.041523 'SIZE verifiedserver\r\n' 02:03:17.041638 Received DATA (on stdin) 02:03:17.041649 > 8 bytes data, server => client 02:03:17.041658 '213 17\r\n' 02:03:17.041704 < 21 bytes data, client => server 02:03:17.041715 'RETR verifiedserver\r\n' 02:03:17.041983 Received DATA (on stdin) 02:03:17.041996 > 29 bytes data, server => client 02:03:17.042006 '150 Binary junk (17 bytes).\r\n' 02:03:17.042340 Received DATA (on stdin) 02:03:17.042352 > 28 bytes data, server => client 02:03:17.042363 '226 File transfer complete\r\n' 02:03:17.085282 < 6 bytes data, client => server 02:03:17.085307 'QUIT\r\n' 02:03:17.085489 Received DATA (on stdin) 02:03:17.085502 > 18 bytes data, server => client 02:03:17.085513 '221 bye bye baby\r\n' 02:03:17.086188 ====> Client disconnect 02:03:17.086350 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:16.040732 Running IPv4 version 02:03:16.040782 Listening on port 40533 02:03:16.040820 Wrote pid 148500 to log/10/server/ftp_sockdata.pid 02:03:16.040937 Received PING (on stdin) 02:03:16.041003 Received PORT (on stdin) 02:03:16.041301 ====> Client connect 02:03:16.041896 Received DATA (on stdin) 02:03:16.041909 > 17 bytes data, server => client 02:03:16.041919 'WE ROOLZ: 80449\r\n' 02:03:16.041948 Received DISC (on stdin) 02:03:16.041960 ====> Client forcibly disconnected 02:03:16.042131 Received QUIT (on stdin) 02:03:16.042142 quits 02:03:16.042189 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1381 === End of file server.cmd === Start of file valgrind1381 ==148568== ==148568== Process terminating with default action of signal 4 (SIGILL) ==148568== Illegal opcode at address 0x10B08D ==148568== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148568== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1381 test 1378...[FTP DL, file without Content-Disposition inside, using -o fname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1378 ../src/curl -q --trace-ascii log/9/trace1378 --trace-config all --trace-time ftp://127.0.0.1:35301/path/file1378 -o log/9/download1378 > log/9/stdout1378 2> log/9/stderr1378 1378: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1378 === Start of file ftp_server.log 02:03:16.828384 ====> Client connect 02:03:16.828539 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:16.828843 < "USER anonymous" 02:03:16.828875 > "331 We are happy you popped in![CR][LF]" 02:03:16.829048 < "PASS ftp@example.com" 02:03:16.829074 > "230 Welcome you silly person[CR][LF]" 02:03:16.829227 < "PWD" 02:03:16.829257 > "257 "/" is current directory[CR][LF]" 02:03:16.829469 < "EPSV" 02:03:16.829491 ====> Passive DATA channel requested by client 02:03:16.829504 DATA sockfilt for passive data channel starting... 02:03:16.831032 DATA sockfilt for passive data channel started (pid 148482) 02:03:16.831128 DATA sockfilt for passive data channel listens on port 38439 02:03:16.831164 > "229 Entering Passive Mode (|||38439|)[LF]" 02:03:16.831183 Client has been notified that DATA conn will be accepted on port 38439 02:03:16.831473 Client connects to port 38439 02:03:16.831514 ====> Client established passive DATA connection on port 38439 02:03:16.831575 < "TYPE I" 02:03:16.831601 > "200 I modify TYPE as you wCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1379 ../src/curl -q --trace-ascii log/3/trace1379 --trace-config all --trace-time ftp://127.0.0.1:45983/path/file1379 -o log/3/download1379 -D log/3/heads1379 > log/3/stdout1379 2> log/3/stderr1379 anted[CR][LF]" 02:03:16.832545 < "SIZE verifiedserver" 02:03:16.832582 > "213 17[CR][LF]" 02:03:16.832776 < "RETR verifiedserver" 02:03:16.832819 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:16.832897 =====> Closing passive DATA connection... 02:03:16.832913 Server disconnects passive DATA connection 02:03:16.833236 Server disconnected passive DATA connection 02:03:16.833262 DATA sockfilt for passive data channel quits (pid 148482) 02:03:16.833437 DATA sockfilt for passive data channel quit (pid 148482) 02:03:16.833459 =====> Closed passive DATA connection 02:03:16.833484 > "226 File transfer complete[CR][LF]" 02:03:16.878705 < "QUIT" 02:03:16.878748 > "221 bye bye baby[CR][LF]" 02:03:16.878905 MAIN sockfilt said DISC 02:03:16.878937 ====> Client disconnected 02:03:16.878999 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.027900 ====> Client connect 02:03:17.028701 Received DATA (on stdin) 02:03:17.028724 > 160 bytes data, server => client 02:03:17.028737 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.028749 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.028760 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.028845 < 16 bytes data, client => server 02:03:17.028858 'USER anonymous\r\n' 02:03:17.029016 Received DATA (on stdin) 02:03:17.029029 > 33 bytes data, server => client 02:03:17.029039 '331 We are happy you popped in!\r\n' 02:03:17.029094 < 22 bytes data, client => server 02:03:17.029108 'PASS ftp@example.com\r\n' 02:03:17.029212 Received DATA (on stdin) 02:03:17.029225 > 30 bytes data, server => client 02:03:17.029236 '230 Welcome you silly person\r\n' 02:03:17.029285 < 5 bytes data, client => server 02:03:17.029296 'PWD\r\n' 02:03:17.029444 Received DATA (on stdin) 02:03:17.029458 > 30 bytes data, server => client 02:03:17.029469 '257 "/" is current directory\r\n' 02:03:17.029527 < 6 bytes data, client => server 02:03:17.029539 'EPSV\r\n' 02:03:17.031329 Received DATA (on stdin) 02:03:17.031343 > 38 bytes data, server => client 02:03:17.031355 '229 Entering Passive Mode (|||38439|)\n' 02:03:17.031484 < 8 bytes data, client => server 02:03:17.031502 'TYPE I\r\n' 02:03:17.031739 Received DATA (on stdin) 02:03:17.031752 > 33 bytes data, server => client 02:03:17.031763 '200 I modify TYPE as you wanted\r\n' 02:03:17.032409 < 21 bytes data, client => server 02:03:17.032578 'SIZE verifiedserver\r\n' 02:03:17.032722 Received DATA (on stdin) 02:03:17.032735 > 8 bytes data, server => client 02:03:17.032770 '213 17\r\n' 02:03:17.032828 < 21 bytes data, client => server 02:03:17.032842 'RETR verifiedserver\r\n' 02:03:17.033397 Received DATA (on stdin) 02:03:17.033414 > 29 bytes data, server => client 02:03:17.033425 '150 Binary junk (17 bytes).\r\n' 02:03:17.033624 Received DATA (on stdin) 02:03:17.033637 > 28 bytes data, server => client 02:03:17.033649 '226 File transfer complete\r\n' 02:03:17.078676 < 6 bytes data, client => server 02:03:17.078700 'QUIT\r\n' 02:03:17.078888 Received DATA (on stdin) 02:03:17.078899 > 18 bytes data, server => client 02:03:17.078908 '221 bye bye baby\r\n' 02:03:17.078975 ====> Client disconnect 02:03:17.079138 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:16.030907 Running IPv4 version 02:03:16.030956 Listening on port 38439 02:03:16.030991 Wrote pid 148482 to log/9/server/ftp_sockdata.pid 02:03:16.031114 Received PING (on stdin) 02:03:16.031189 Received PORT (on stdin) 02:03:16.031521 ====> Client connect 02:03:16.033251 Received DATA (on stdin) 02:03:16.033267 > 17 bytes data, server => client 02:03:16.033279 'WE ROOLZ: 80452\r\n' 02:03:16.033310 Received DISC (on stdin) 02:03:16.033324 ====> Client forcibly disconnected 02:03:16.033411 Received QUIT (on stdin) 02:03:16.033423 quits 02:03:16.033463 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1378 === End of file server.cmd === Start of file valgrind1378 ==148551== ==148551== Process terminating with default action of signal 4 (SIGILL) ==148551== Illegal opcode at address 0x10B08D ==148551== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148551== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1378 test 1379...[FTP DL, file without C-D inside, using -o fname -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1379 ../src/curl -q --trace-ascii log/3/trace1379 --trace-config all --trace-time ftp://127.0.0.1:45983/path/file1379 -o log/3/download1379 -D log/3/heads1379 > log/3/stdout1379 2> log/3/stderr1379 1379: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1379 === Start of file ftp_server.log 02:03:16.841112 ====> Client connect 02:03:16.841232 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:16.841466 < "USER anonymous" 02:03:16.841498 > "331 We are happy you popped in![CR][LF]" 02:03:16.841651 < "PASS ftp@example.com" 02:03:16.841681 > "230 Welcome you silly person[CR][LF]" 02:03:16.841856 < "PWD" 02:03:16.841890 > "257 "/" is current directory[CR][LF]" 02:03:16.842062 < "EPSV" 02:03:16.842083 ====> Passive DATA channel requested by client 02:03:16.842093 DATA sockfilt for passive data channel starting... 02:03:16.843426 DATA sockfilt for passive data channel started (pid 148501) 02:03:16.843514 DATA sockfilt for passive data channel listens on port 39927 02:03:16.843545 > "229 Entering Passive Mode (|||39927|)[LF]" 02:03:16.843561 Client has been notified that DATA conn will be accepted on port 39927 02:03:16.843774 Client connects to port 39927 02:03:16.843802 ====> Client established passive DATA connection on port 39927 02:03:16.843861 < "TYPE I" 02:03:16.843885 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:16.844035 < "SIZE verifiedserver" 02:03:16.844069 > "213 17[CR][LF]" 02:03:16.844236 < "RETR verifiedserver" 02:03:16.844270 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:16.844337 =====> Closing passive DATA connection... 02:03:16.844352 Server disconnects passive DATA connection 02:03:16.844423 Server disconnected passive DATA connection 02:03:16.844442 DATA sockfilt for passive data channel quits (pid 148501) 02:03:16.844610 DATA sockfilt for passive data channel quit (pid 148501) 02:03:16.844629 =====> Closed passive DATA connection 02:03:16.844653 > "226 File transfer complete[CR][LF]" 02:03:16.886542 < "QUIT" 02:03:16.886588 > "221 bye bye baby[CR][LF]" 02:03:16.887284 MAIN sockfilt said DISC 02:03:16.887314 ====> Client disconnected 02:03:16.887371 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.041166 ====> Client connect 02:03:17.041377 Received DATA (on stdin) 02:03:17.041390 > 160 bytes data, server => client 02:03:17.041402 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.041413 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.041424 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.041486 < 16 bytes data, client => server 02:03:17.041497 'USER anonymous\r\n' 02:03:17.041637 Received DATA (on stdin) 02:03:17.041648 > 33 bytes data, server => client 02:03:17.041659 '331 We are happy you popped in!\r\n' 02:03:17.041706 < 22 bytes data, client => server 02:03:17.041717 'PASS ftp@example.com\r\n' 02:03:17.041827 Received DATA (on stdin) 02:03:17.041840 > 30 bytes data, server => client 02:03:17.041852 '230 Welcome you silly person\r\n' 02:03:17.041909 < 5 bytes data, client => server 02:03:17.041923 'PWD\r\n' 02:03:17.042030 Received DATA (on stdin) 02:03:17.042042 > 30 bytes data, server => client 02:03:17.042053 '257 "/" is current directoryCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1382 ../src/curl -q --trace-ascii log/4/trace1382 --trace-config all --trace-time ftp://127.0.0.1:34583/path/file1382 -o log/4/download1382 -J -D - > log/4/stdout1382 2> log/4/stderr1382 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1380 ../src/curl -q --trace-ascii log/8/trace1380 --trace-config all --trace-time ftp://127.0.0.1:39101/path/file1380 -o log/8/download1380 -D - > log/8/stdout1380 2> log/8/stderr1380 \r\n' 02:03:17.042113 < 6 bytes data, client => server 02:03:17.042126 'EPSV\r\n' 02:03:17.043703 Received DATA (on stdin) 02:03:17.043716 > 38 bytes data, server => client 02:03:17.043728 '229 Entering Passive Mode (|||39927|)\n' 02:03:17.043836 < 8 bytes data, client => server 02:03:17.043851 'TYPE I\r\n' 02:03:17.044023 Received DATA (on stdin) 02:03:17.044035 > 33 bytes data, server => client 02:03:17.044047 '200 I modify TYPE as you wanted\r\n' 02:03:17.044096 < 21 bytes data, client => server 02:03:17.044108 'SIZE verifiedserver\r\n' 02:03:17.044200 Received DATA (on stdin) 02:03:17.044219 > 8 bytes data, server => client 02:03:17.044230 '213 17\r\n' 02:03:17.044289 < 21 bytes data, client => server 02:03:17.044302 'RETR verifiedserver\r\n' 02:03:17.044486 Received DATA (on stdin) 02:03:17.044500 > 29 bytes data, server => client 02:03:17.044511 '150 Binary junk (17 bytes).\r\n' 02:03:17.044792 Received DATA (on stdin) 02:03:17.044804 > 28 bytes data, server => client 02:03:17.044815 '226 File transfer complete\r\n' 02:03:17.086545 < 6 bytes data, client => server 02:03:17.086567 'QUIT\r\n' 02:03:17.086732 Received DATA (on stdin) 02:03:17.086744 > 18 bytes data, server => client 02:03:17.086755 '221 bye bye baby\r\n' 02:03:17.087376 ====> Client disconnect 02:03:17.087509 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:16.043303 Running IPv4 version 02:03:16.043352 Listening on port 39927 02:03:16.043389 Wrote pid 148501 to log/3/server/ftp_sockdata.pid 02:03:16.043512 Received PING (on stdin) 02:03:16.043581 Received PORT (on stdin) 02:03:16.043870 ====> Client connect 02:03:16.044420 Received DATA (on stdin) 02:03:16.044435 > 17 bytes data, server => client 02:03:16.044446 'WE ROOLZ: 80465\r\n' 02:03:16.044493 Received DISC (on stdin) 02:03:16.044507 ====> Client forcibly disconnected 02:03:16.044585 Received QUIT (on stdin) 02:03:16.044595 quits 02:03:16.044638 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1379 === End of file server.cmd === Start of file valgrind1379 ==148566== ==148566== Process terminating with default action of signal 4 (SIGILL) ==148566== Illegal opcode at address 0x10B08D ==148566== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148566== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1379 test 1382...[FTP DL, file without C-D inside, using -o fname -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1382 ../src/curl -q --trace-ascii log/4/trace1382 --trace-config all --trace-time ftp://127.0.0.1:34583/path/file1382 -o log/4/download1382 -J -D - > log/4/stdout1382 2> log/4/stderr1382 1382: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1382 === Start of file ftp_server.log 02:03:16.844589 ====> Client connect 02:03:16.844722 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:16.844941 < "USER anonymous" 02:03:16.844971 > "331 We are happy you popped in![CR][LF]" 02:03:16.845292 < "PASS ftp@example.com" 02:03:16.845315 > "230 Welcome you silly person[CR][LF]" 02:03:16.845450 < "PWD" 02:03:16.845476 > "257 "/" is current directory[CR][LF]" 02:03:16.845618 < "EPSV" 02:03:16.845639 ====> Passive DATA channel requested by client 02:03:16.845651 DATA sockfilt for passive data channel starting... 02:03:16.846875 DATA sockfilt for passive data channel started (pid 148503) 02:03:16.846966 DATA sockfilt for passive data channel listens on port 37905 02:03:16.846999 > "229 Entering Passive Mode (|||37905|)[LF]" 02:03:16.847016 Client has been notified that DATA conn will be accepted on port 37905 02:03:16.847223 Client connects to port 37905 02:03:16.847249 ====> Client established passive DATA connection on port 37905 02:03:16.847300 < "TYPE I" 02:03:16.847322 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:16.847459 < "SIZE verifiedserver" 02:03:16.847487 > "213 17[CR][LF]" 02:03:16.847618 < "RETR verifiedserver" 02:03:16.847646 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:16.847707 =====> Closing passive DATA connection... 02:03:16.847721 Server disconnects passive DATA connection 02:03:16.847915 Server disconnected passive DATA connection 02:03:16.847938 DATA sockfilt for passive data channel quits (pid 148503) 02:03:16.848093 DATA sockfilt for passive data channel quit (pid 148503) 02:03:16.848111 =====> Closed passive DATA connection 02:03:16.848133 > "226 File transfer complete[CR][LF]" 02:03:16.891924 < "QUIT" 02:03:16.892055 > "221 bye bye baby[CR][LF]" 02:03:16.893133 MAIN sockfilt said DISC 02:03:16.893168 ====> Client disconnected 02:03:16.893221 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.044643 ====> Client connect 02:03:17.044840 Received DATA (on stdin) 02:03:17.044856 > 160 bytes data, server => client 02:03:17.044869 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.044880 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.044891 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.044956 < 16 bytes data, client => server 02:03:17.044968 'USER anonymous\r\n' 02:03:17.045110 Received DATA (on stdin) 02:03:17.045122 > 33 bytes data, server => client 02:03:17.045133 '331 We are happy you popped in!\r\n' 02:03:17.045347 < 22 bytes data, client => server 02:03:17.045360 'PASS ftp@example.com\r\n' 02:03:17.045452 Received DATA (on stdin) 02:03:17.045463 > 30 bytes data, server => client 02:03:17.045474 '230 Welcome you silly person\r\n' 02:03:17.045518 < 5 bytes data, client => server 02:03:17.045529 'PWD\r\n' 02:03:17.045613 Received DATA (on stdin) 02:03:17.045624 > 30 bytes data, server => client 02:03:17.045634 '257 "/" is current directory\r\n' 02:03:17.045684 < 6 bytes data, client => server 02:03:17.045695 'EPSV\r\n' 02:03:17.047158 Received DATA (on stdin) 02:03:17.047175 > 38 bytes data, server => client 02:03:17.047186 '229 Entering Passive Mode (|||37905|)\n' 02:03:17.047291 < 8 bytes data, client => server 02:03:17.047305 'TYPE I\r\n' 02:03:17.047458 Received DATA (on stdin) 02:03:17.047470 > 33 bytes data, server => client 02:03:17.047479 '200 I modify TYPE as you wanted\r\n' 02:03:17.047525 < 21 bytes data, client => server 02:03:17.047537 'SIZE verifiedserver\r\n' 02:03:17.047623 Received DATA (on stdin) 02:03:17.047633 > 8 bytes data, server => client 02:03:17.047642 '213 17\r\n' 02:03:17.047685 < 21 bytes data, client => server 02:03:17.047696 'RETR verifiedserver\r\n' 02:03:17.047940 Received DATA (on stdin) 02:03:17.047952 > 29 bytes data, server => client 02:03:17.047962 '150 Binary junk (17 bytes).\r\n' 02:03:17.048270 Received DATA (on stdin) 02:03:17.048282 > 28 bytes data, server => client 02:03:17.048292 '226 File transfer complete\r\n' 02:03:17.091912 < 6 bytes data, client => server 02:03:17.091936 'QUIT\r\n' 02:03:17.092201 Received DATA (on stdin) 02:03:17.092215 > 18 bytes data, server => client 02:03:17.092226 '221 bye bye baby\r\n' 02:03:17.092883 ====> Client disconnect 02:03:17.093360 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:16.046853 Running IPv4 version 02:03:16.046898 Listening on port 37905 02:03:16.046947 Wrote pid 148503 to log/4/server/ftp_sockdata.pid 02:03:16.046962 Received PING (on stdin) 02:03:16.047031 Received PORT (on stdin) 02:03:16.047322 ====> Client connect 02:03:16.047858 Received DATA (on stdin) 02:03:16.047870 > 17 bytes data, server => client 02:03:16.047880 'WE ROOLZ: 80536\r\n' 02:03:16.047907 Received DISC (on stdin) 02:03:16.047919 ====> Client forcibly disconnected 02:03:16.048081 Received QUCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1385 ../src/curl -q --trace-ascii log/11/trace1385 --trace-config all --trace-time ftp://127.0.0.1:45687/path/file1385 -o log/11/download1385 -i > log/11/stdout1385 2> log/11/stderr1385 IT (on stdin) 02:03:16.048091 quits 02:03:16.048128 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1382 === End of file server.cmd === Start of file valgrind1382 ==148746== ==148746== Process terminating with default action of signal 4 (SIGILL) ==148746== Illegal opcode at address 0x10B08D ==148746== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148746== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1382 test 1380...[FTP DL, file without C-D inside, using -o fname -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1380 ../src/curl -q --trace-ascii log/8/trace1380 --trace-config all --trace-time ftp://127.0.0.1:39101/path/file1380 -o log/8/download1380 -D - > log/8/stdout1380 2> log/8/stderr1380 1380: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1380 === Start of file ftp_server.log 02:03:16.836528 ====> Client connect 02:03:16.836663 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:16.836935 < "USER anonymous" 02:03:16.836972 > "331 We are happy you popped in![CR][LF]" 02:03:16.837186 < "PASS ftp@example.com" 02:03:16.837218 > "230 Welcome you silly person[CR][LF]" 02:03:16.837399 < "PWD" 02:03:16.837432 > "257 "/" is current directory[CR][LF]" 02:03:16.837598 < "EPSV" 02:03:16.837622 ====> Passive DATA channel requested by client 02:03:16.837635 DATA sockfilt for passive data channel starting... 02:03:16.839061 DATA sockfilt for passive data channel started (pid 148499) 02:03:16.839156 DATA sockfilt for passive data channel listens on port 35927 02:03:16.839194 > "229 Entering Passive Mode (|||35927|)[LF]" 02:03:16.839211 Client has been notified that DATA conn will be accepted on port 35927 02:03:16.839435 Client connects to port 35927 02:03:16.839462 ====> Client established passive DATA connection on port 35927 02:03:16.839519 < "TYPE I" 02:03:16.839544 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:16.839695 < "SIZE verifiedserver" 02:03:16.839730 > "213 17[CR][LF]" 02:03:16.839878 < "RETR verifiedserver" 02:03:16.839908 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:16.839975 =====> Closing passive DATA connection... 02:03:16.839990 Server disconnects passive DATA connection 02:03:16.840216 Server disconnected passive DATA connection 02:03:16.840242 DATA sockfilt for passive data channel quits (pid 148499) 02:03:16.840422 DATA sockfilt for passive data channel quit (pid 148499) 02:03:16.840442 =====> Closed passive DATA connection 02:03:16.840466 > "226 File transfer complete[CR][LF]" 02:03:16.881919 < "QUIT" 02:03:16.881966 > "221 bye bye baby[CR][LF]" 02:03:16.882664 MAIN sockfilt said DISC 02:03:16.882696 ====> Client disconnected 02:03:16.882752 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.036580 ====> Client connect 02:03:17.036814 Received DATA (on stdin) 02:03:17.036831 > 160 bytes data, server => client 02:03:17.036843 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.036854 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.036865 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.036938 < 16 bytes data, client => server 02:03:17.036953 'USER anonymous\r\n' 02:03:17.037114 Received DATA (on stdin) 02:03:17.037130 > 33 bytes data, server => client 02:03:17.037142 '331 We are happy you popped in!\r\n' 02:03:17.037242 < 22 bytes data, client => server 02:03:17.037262 'PASS ftp@example.com\r\n' 02:03:17.037354 Received DATA (on stdin) 02:03:17.037368 > 30 bytes data, server => client 02:03:17.037380 '230 Welcome you silly person\r\n' 02:03:17.037439 < 5 bytes data, client => server 02:03:17.037458 'PWD\r\n' 02:03:17.037572 Received DATA (on stdin) 02:03:17.037584 > 30 bytes data, server => client 02:03:17.037595 '257 "/" is current directory\r\n' 02:03:17.037658 < 6 bytes data, client => server 02:03:17.037671 'EPSV\r\n' 02:03:17.039355 Received DATA (on stdin) 02:03:17.039368 > 38 bytes data, server => client 02:03:17.039380 '229 Entering Passive Mode (|||35927|)\n' 02:03:17.039522 < 8 bytes data, client => server 02:03:17.039535 'TYPE I\r\n' 02:03:17.039683 Received DATA (on stdin) 02:03:17.039695 > 33 bytes data, server => client 02:03:17.039706 '200 I modify TYPE as you wanted\r\n' 02:03:17.039757 < 21 bytes data, client => server 02:03:17.039769 'SIZE verifiedserver\r\n' 02:03:17.039869 Received DATA (on stdin) 02:03:17.039880 > 8 bytes data, server => client 02:03:17.039891 '213 17\r\n' 02:03:17.039939 < 21 bytes data, client => server 02:03:17.039951 'RETR verifiedserver\r\n' 02:03:17.040130 Received DATA (on stdin) 02:03:17.040145 > 29 bytes data, server => client 02:03:17.040156 '150 Binary junk (17 bytes).\r\n' 02:03:17.040606 Received DATA (on stdin) 02:03:17.040619 > 28 bytes data, server => client 02:03:17.040630 '226 File transfer complete\r\n' 02:03:17.081916 < 6 bytes data, client => server 02:03:17.081939 'QUIT\r\n' 02:03:17.082109 Received DATA (on stdin) 02:03:17.082121 > 18 bytes data, server => client 02:03:17.082132 '221 bye bye baby\r\n' 02:03:17.082753 ====> Client disconnect 02:03:17.082889 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:16.038929 Running IPv4 version 02:03:16.038977 Listening on port 35927 02:03:16.039013 Wrote pid 148499 to log/8/server/ftp_sockdata.pid 02:03:16.039144 Received PING (on stdin) 02:03:16.039219 Received PORT (on stdin) 02:03:16.039496 ====> Client connect 02:03:16.040185 Received DATA (on stdin) 02:03:16.040201 > 17 bytes data, server => client 02:03:16.040212 'WE ROOLZ: 80441\r\n' 02:03:16.040238 Received DISC (on stdin) 02:03:16.040251 ====> Client forcibly disconnected 02:03:16.040389 Received QUIT (on stdin) 02:03:16.040400 quits 02:03:16.040445 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1380 === End of file server.cmd === Start of file valgrind1380 ==148554== ==148554== Process terminating with default action of signal 4 (SIGILL) ==148554== Illegal opcode at address 0x10B08D ==148554== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148554== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1380 test 1385...[FTP DL, file without C-D inside, using -o fname -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1385 ../src/curl -q --trace-ascii log/11/trace1385 --trace-config all --trace-time ftp://127.0.0.1:45687/path/file1385 -o log/11/download1385 -i > log/11/stdout1385 2> log/11/stderr1385 1385: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1385 === Start of file ftp_server.log 02:03:17.157655 ====> Client connect 02:03:17.157793 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.158059 < "USER anonymous" 02:03:17.158093 > "331 We are happy you popped in![CR][LF]" 02:03:17.158256 < "PASS ftp@example.com" 02:03:17.158280 > "230 Welcome you silly person[CR][LF]" 02:03:17.158437 < "PWD" 02:03:17.158466 > "257 "/" is current directory[CR][LF]" 02:03:17.158624 < "EPSV" 02:03:17.158653 ====> Passive DATA channel requested by client 02:03:17.158667 DATA sockfilt for passive data channel starting... 02:03:17.160045 DATA sockfilt for passive data channel started (pid 148872) 02:03:17.1601CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1383 ../src/curl -q --trace-ascii log/5/trace1383 --trace-config all --trace-time ftp://127.0.0.1:36485/path/file1383 -o log/5/download1383 -i -D log/5/heads1383 > log/5/stdout1383 2> log/5/stderr1383 39 DATA sockfilt for passive data channel listens on port 42113 02:03:17.160177 > "229 Entering Passive Mode (|||42113|)[LF]" 02:03:17.160196 Client has been notified that DATA conn will be accepted on port 42113 02:03:17.160423 Client connects to port 42113 02:03:17.160452 ====> Client established passive DATA connection on port 42113 02:03:17.160512 < "TYPE I" 02:03:17.160538 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.160689 < "SIZE verifiedserver" 02:03:17.160721 > "213 17[CR][LF]" 02:03:17.160905 < "RETR verifiedserver" 02:03:17.160943 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.161019 =====> Closing passive DATA connection... 02:03:17.161036 Server disconnects passive DATA connection 02:03:17.161110 Server disconnected passive DATA connection 02:03:17.161133 DATA sockfilt for passive data channel quits (pid 148872) 02:03:17.161315 DATA sockfilt for passive data channel quit (pid 148872) 02:03:17.161336 =====> Closed passive DATA connection 02:03:17.161359 > "226 File transfer complete[CR][LF]" 02:03:17.201910 < "QUIT" 02:03:17.201953 > "221 bye bye baby[CR][LF]" 02:03:17.202611 MAIN sockfilt said DISC 02:03:17.202637 ====> Client disconnected 02:03:17.202689 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.357699 ====> Client connect 02:03:17.357945 Received DATA (on stdin) 02:03:17.357961 > 160 bytes data, server => client 02:03:17.357973 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.357985 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.357996 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.358066 < 16 bytes data, client => server 02:03:17.358079 'USER anonymous\r\n' 02:03:17.358233 Received DATA (on stdin) 02:03:17.358246 > 33 bytes data, server => client 02:03:17.358258 '331 We are happy you popped in!\r\n' 02:03:17.358310 < 22 bytes data, client => server 02:03:17.358322 'PASS ftp@example.com\r\n' 02:03:17.358418 Received DATA (on stdin) 02:03:17.358430 > 30 bytes data, server => client 02:03:17.358441 '230 Welcome you silly person\r\n' 02:03:17.358497 < 5 bytes data, client => server 02:03:17.358509 'PWD\r\n' 02:03:17.358604 Received DATA (on stdin) 02:03:17.358615 > 30 bytes data, server => client 02:03:17.358626 '257 "/" is current directory\r\n' 02:03:17.358684 < 6 bytes data, client => server 02:03:17.358696 'EPSV\r\n' 02:03:17.360335 Received DATA (on stdin) 02:03:17.360355 > 38 bytes data, server => client 02:03:17.360368 '229 Entering Passive Mode (|||42113|)\n' 02:03:17.360482 < 8 bytes data, client => server 02:03:17.360497 'TYPE I\r\n' 02:03:17.360676 Received DATA (on stdin) 02:03:17.360688 > 33 bytes data, server => client 02:03:17.360699 '200 I modify TYPE as you wanted\r\n' 02:03:17.360748 < 21 bytes data, client => server 02:03:17.360764 'SIZE verifiedserver\r\n' 02:03:17.360860 Received DATA (on stdin) 02:03:17.360880 > 8 bytes data, server => client 02:03:17.360892 '213 17\r\n' 02:03:17.360952 < 21 bytes data, client => server 02:03:17.360967 'RETR verifiedserver\r\n' 02:03:17.361178 Received DATA (on stdin) 02:03:17.361191 > 29 bytes data, server => client 02:03:17.361203 '150 Binary junk (17 bytes).\r\n' 02:03:17.361498 Received DATA (on stdin) 02:03:17.361512 > 28 bytes data, server => client 02:03:17.361523 '226 File transfer complete\r\n' 02:03:17.401907 < 6 bytes data, client => server 02:03:17.401931 'QUIT\r\n' 02:03:17.402093 Received DATA (on stdin) 02:03:17.402105 > 18 bytes data, server => client 02:03:17.402115 '221 bye bye baby\r\n' 02:03:17.402703 ====> Client disconnect 02:03:17.402826 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.360028 Running IPv4 version 02:03:17.360078 Listening on port 42113 02:03:17.360116 Wrote pid 148872 to log/11/server/ftp_sockdata.pid 02:03:17.360133 Received PING (on stdin) 02:03:17.360202 Received PORT (on stdin) 02:03:17.360516 ====> Client connect 02:03:17.361092 Received DATA (on stdin) 02:03:17.361105 > 17 bytes data, server => client 02:03:17.361117 'WE ROOLZ: 80480\r\n' 02:03:17.361183 Received DISC (on stdin) 02:03:17.361199 ====> Client forcibly disconnected 02:03:17.361278 Received QUIT (on stdin) 02:03:17.361289 quits 02:03:17.361338 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1385 === End of file server.cmd === Start of file valgrind1385 ==148900== ==148900== Process terminating with default action of signal 4 (SIGILL) ==148900== Illegal opcode at address 0x10B08D ==148900== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148900== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1385 test 1383...[FTP DL, file without C-D inside, using -o fname -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1383 ../src/curl -q --trace-ascii log/5/trace1383 --trace-config all --trace-time ftp://127.0.0.1:36485/path/file1383 -o log/5/download1383 -i -D log/5/heads1383 > log/5/stdout1383 2> log/5/stderr1383 1383: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1383 === Start of file ftp_server.log 02:03:17.139616 ====> Client connect 02:03:17.139773 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.140056 < "USER anonymous" 02:03:17.140095 > "331 We are happy you popped in![CR][LF]" 02:03:17.140275 < "PASS ftp@example.com" 02:03:17.140302 > "230 Welcome you silly person[CR][LF]" 02:03:17.140452 < "PWD" 02:03:17.140483 > "257 "/" is current directory[CR][LF]" 02:03:17.140644 < "EPSV" 02:03:17.140671 ====> Passive DATA channel requested by client 02:03:17.140685 DATA sockfilt for passive data channel starting... 02:03:17.143988 DATA sockfilt for passive data channel started (pid 148834) 02:03:17.144088 DATA sockfilt for passive data channel listens on port 34009 02:03:17.144123 > "229 Entering Passive Mode (|||34009|)[LF]" 02:03:17.144142 Client has been notified that DATA conn will be accepted on port 34009 02:03:17.144367 Client connects to port 34009 02:03:17.144393 ====> Client established passive DATA connection on port 34009 02:03:17.144449 < "TYPE I" 02:03:17.144474 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.144620 < "SIZE verifiedserver" 02:03:17.144650 > "213 17[CR][LF]" 02:03:17.144789 < "RETR verifiedserver" 02:03:17.144819 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.144889 =====> Closing passive DATA connection... 02:03:17.144904 Server disconnects passive DATA connection 02:03:17.145130 Server disconnected passive DATA connection 02:03:17.145156 DATA sockfilt for passive data channel quits (pid 148834) 02:03:17.145332 DATA sockfilt for passive data channel quit (pid 148834) 02:03:17.145353 =====> Closed passive DATA connection 02:03:17.145376 > "226 File transfer complete[CR][LF]" 02:03:17.188700 < "QUIT" 02:03:17.188752 > "221 bye bye baby[CR][LF]" 02:03:17.189341 MAIN sockfilt said DISC 02:03:17.189368 ====> Client disconnected 02:03:17.189449 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:16.339651 ====> Client connect 02:03:16.339924 Received DATA (on stdin) 02:03:16.339941 > 160 bytes data, server => client 02:03:16.339955 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:16.339966 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:16.339978 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:16.340056 < 16 bytes data, client => server 02:03:16.340070 'USER anonymous\r\n' 02:03:16.340237 Received DATA (on stdin) 02:03:16.340252 > 33 bytes data, server => client 02:03:16.340263 '331 We are happy you popped in!\r\n' 02:03:16.340317 < 22 bytes data,CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1386 ../src/curl -q --trace-ascii log/12/trace1386 --trace-config all --trace-time ftp://127.0.0.1:40171/path/file1386 -o log/12/download1386 > log/12/stdout1386 2> log/12/stderr1386 client => server 02:03:16.340330 'PASS ftp@example.com\r\n' 02:03:16.340440 Received DATA (on stdin) 02:03:16.340452 > 30 bytes data, server => client 02:03:16.340463 '230 Welcome you silly person\r\n' 02:03:16.340512 < 5 bytes data, client => server 02:03:16.340524 'PWD\r\n' 02:03:16.340621 Received DATA (on stdin) 02:03:16.340633 > 30 bytes data, server => client 02:03:16.340644 '257 "/" is current directory\r\n' 02:03:16.340700 < 6 bytes data, client => server 02:03:16.340713 'EPSV\r\n' 02:03:16.344283 Received DATA (on stdin) 02:03:16.344296 > 38 bytes data, server => client 02:03:16.344308 '229 Entering Passive Mode (|||34009|)\n' 02:03:16.344429 < 8 bytes data, client => server 02:03:16.344444 'TYPE I\r\n' 02:03:16.344610 Received DATA (on stdin) 02:03:16.344622 > 33 bytes data, server => client 02:03:16.344632 '200 I modify TYPE as you wanted\r\n' 02:03:16.344680 < 21 bytes data, client => server 02:03:16.344692 'SIZE verifiedserver\r\n' 02:03:16.344788 Received DATA (on stdin) 02:03:16.344799 > 8 bytes data, server => client 02:03:16.344809 '213 17\r\n' 02:03:16.344854 < 21 bytes data, client => server 02:03:16.344865 'RETR verifiedserver\r\n' 02:03:16.345130 Received DATA (on stdin) 02:03:16.345150 > 29 bytes data, server => client 02:03:16.345161 '150 Binary junk (17 bytes).\r\n' 02:03:16.345515 Received DATA (on stdin) 02:03:16.345527 > 28 bytes data, server => client 02:03:16.345538 '226 File transfer complete\r\n' 02:03:16.388674 < 6 bytes data, client => server 02:03:16.388718 'QUIT\r\n' 02:03:16.388895 Received DATA (on stdin) 02:03:16.388909 > 18 bytes data, server => client 02:03:16.388920 '221 bye bye baby\r\n' 02:03:16.389429 ====> Client disconnect 02:03:16.389587 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.343964 Running IPv4 version 02:03:17.344016 Listening on port 34009 02:03:17.344055 Wrote pid 148834 to log/5/server/ftp_sockdata.pid 02:03:17.344070 Received PING (on stdin) 02:03:17.344149 Received PORT (on stdin) 02:03:17.344461 ====> Client connect 02:03:17.345042 Received DATA (on stdin) 02:03:17.345055 > 17 bytes data, server => client 02:03:17.345066 'WE ROOLZ: 80534\r\n' 02:03:17.345094 Received DISC (on stdin) 02:03:17.345106 ====> Client forcibly disconnected 02:03:17.345300 Received QUIT (on stdin) 02:03:17.345312 quits 02:03:17.345359 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1383 === End of file server.cmd === Start of file valgrind1383 ==148880== ==148880== Process terminating with default action of signal 4 (SIGILL) ==148880== Illegal opcode at address 0x10B08D ==148880== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148880== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1383 test 1386...[FTP DL, file with Content-Disposition inside, using -o fname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1386 ../src/curl -q --trace-ascii log/12/trace1386 --trace-config all --trace-time ftp://127.0.0.1:40171/path/file1386 -o log/12/download1386 > log/12/stdout1386 2> log/12/stderr1386 1386: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1386 === Start of file ftp_server.log 02:03:17.158106 ====> Client connect 02:03:17.158240 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.158515 < "USER anonymous" 02:03:17.158550 > "331 We are happy you popped in![CR][LF]" 02:03:17.158715 < "PASS ftp@example.com" 02:03:17.158740 > "230 Welcome you silly person[CR][LF]" 02:03:17.158884 < "PWD" 02:03:17.158912 > "257 "/" is current directory[CR][LF]" 02:03:17.159065 < "EPSV" 02:03:17.159089 ====> Passive DATA channel requested by client 02:03:17.159102 DATA sockfilt for passive data channel starting... 02:03:17.160522 DATA sockfilt for passive data channel started (pid 148873) 02:03:17.160629 DATA sockfilt for passive data channel listens on port 43001 02:03:17.160668 > "229 Entering Passive Mode (|||43001|)[LF]" 02:03:17.160684 Client has been notified that DATA conn will be accepted on port 43001 02:03:17.160902 Client connects to port 43001 02:03:17.160929 ====> Client established passive DATA connection on port 43001 02:03:17.160988 < "TYPE I" 02:03:17.161012 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.161158 < "SIZE verifiedserver" 02:03:17.161196 > "213 17[CR][LF]" 02:03:17.161331 < "RETR verifiedserver" 02:03:17.161357 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.161415 =====> Closing passive DATA connection... 02:03:17.161427 Server disconnects passive DATA connection 02:03:17.161532 Server disconnected passive DATA connection 02:03:17.161553 DATA sockfilt for passive data channel quits (pid 148873) 02:03:17.161727 DATA sockfilt for passive data channel quit (pid 148873) 02:03:17.161750 =====> Closed passive DATA connection 02:03:17.161774 > "226 File transfer complete[CR][LF]" 02:03:17.202001 < "QUIT" 02:03:17.202045 > "221 bye bye baby[CR][LF]" 02:03:17.202697 MAIN sockfilt said DISC 02:03:17.202727 ====> Client disconnected 02:03:17.202778 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.358157 ====> Client connect 02:03:17.358393 Received DATA (on stdin) 02:03:17.358409 > 160 bytes data, server => client 02:03:17.358422 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.358433 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.358444 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.358522 < 16 bytes data, client => server 02:03:17.358535 'USER anonymous\r\n' 02:03:17.358691 Received DATA (on stdin) 02:03:17.358705 > 33 bytes data, server => client 02:03:17.358716 '331 We are happy you popped in!\r\n' 02:03:17.358770 < 22 bytes data, client => server 02:03:17.358782 'PASS ftp@example.com\r\n' 02:03:17.358878 Received DATA (on stdin) 02:03:17.358889 > 30 bytes data, server => client 02:03:17.358901 '230 Welcome you silly person\r\n' 02:03:17.358947 < 5 bytes data, client => server 02:03:17.358958 'PWD\r\n' 02:03:17.359049 Received DATA (on stdin) 02:03:17.359061 > 30 bytes data, server => client 02:03:17.359072 '257 "/" is current directory\r\n' 02:03:17.359124 < 6 bytes data, client => server 02:03:17.359136 'EPSV\r\n' 02:03:17.360828 Received DATA (on stdin) 02:03:17.360842 > 38 bytes data, server => client 02:03:17.360853 '229 Entering Passive Mode (|||43001|)\n' 02:03:17.360965 < 8 bytes data, client => server 02:03:17.360979 'TYPE I\r\n' 02:03:17.361150 Received DATA (on stdin) 02:03:17.361162 > 33 bytes data, server => client 02:03:17.361172 '200 I modify TYPE as you wanted\r\n' 02:03:17.361222 < 21 bytes data, client => server 02:03:17.361233 'SIZE verifiedserver\r\n' 02:03:17.361336 Received DATA (on stdin) 02:03:17.361347 > 8 bytes data, server => client 02:03:17.361357 '213 17\r\n' 02:03:17.361402 < 21 bytes data, client => server 02:03:17.361412 'RETR verifiedserver\r\n' 02:03:17.361563 Received DATA (on stdin) 02:03:17.361572 > 29 bytes data, server => client 02:03:17.361581 '150 Binary junk (17 bytes).\r\n' 02:03:17.361913 Received DATA (on stdin) 02:03:17.361926 > 28 bytes data, server => client 02:03:17.361937 '226 File transfer complete\r\n' 02:03:17.401995 < 6 bytes data, client => server 02:03:17.402017 'QUIT\r\n' 02:03:17.402185 Received DATA (on stdin) 02:03:17.402196 > 18 bytes data, server => client 02:03:17.402207 '221 bye bye baby\r\n' 02:03:17.402789 ====> Client disconnect 02:03:17.402915 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.360414 Running IPv4 version 02:03:17.360468 Listening on port 43001 02:03:17.360500 WrotCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1384 ../src/curl -q --trace-ascii log/1/trace1384 --trace-config all --trace-time ftp://127.0.0.1:44405/path/file1384 -o log/1/download1384 -i -D - > log/1/stdout1384 2> log/1/stderr1384 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1387 ../src/curl -q --trace-ascii log/7/trace1387 --trace-config all --trace-time ftp://127.0.0.1:40455/path/file1387 -o log/7/download1387 -D log/7/heads1387 > log/7/stdout1387 2> log/7/stderr1387 e pid 148873 to log/12/server/ftp_sockdata.pid 02:03:17.360544 Received PING (on stdin) 02:03:17.360687 Received PORT (on stdin) 02:03:17.360997 ====> Client connect 02:03:17.361549 Received DATA (on stdin) 02:03:17.361562 > 17 bytes data, server => client 02:03:17.361574 'WE ROOLZ: 80450\r\n' 02:03:17.361607 Received DISC (on stdin) 02:03:17.361620 ====> Client forcibly disconnected 02:03:17.361694 Received QUIT (on stdin) 02:03:17.361705 quits 02:03:17.361740 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1386 === End of file server.cmd === Start of file valgrind1386 ==148898== ==148898== Process terminating with default action of signal 4 (SIGILL) ==148898== Illegal opcode at address 0x10B08D ==148898== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148898== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1386 test 1384...[FTP DL, file without C-D inside, using -o fname -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1384 ../src/curl -q --trace-ascii log/1/trace1384 --trace-config all --trace-time ftp://127.0.0.1:44405/path/file1384 -o log/1/download1384 -i -D - > log/1/stdout1384 2> log/1/stderr1384 1384: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1384 === Start of file ftp_server.log 02:03:17.152099 ====> Client connect 02:03:17.152232 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.152486 < "USER anonymous" 02:03:17.152517 > "331 We are happy you popped in![CR][LF]" 02:03:17.152683 < "PASS ftp@example.com" 02:03:17.152706 > "230 Welcome you silly person[CR][LF]" 02:03:17.152848 < "PWD" 02:03:17.152879 > "257 "/" is current directory[CR][LF]" 02:03:17.153029 < "EPSV" 02:03:17.153051 ====> Passive DATA channel requested by client 02:03:17.153063 DATA sockfilt for passive data channel starting... 02:03:17.155006 DATA sockfilt for passive data channel started (pid 148864) 02:03:17.155226 DATA sockfilt for passive data channel listens on port 34575 02:03:17.155260 > "229 Entering Passive Mode (|||34575|)[LF]" 02:03:17.155275 Client has been notified that DATA conn will be accepted on port 34575 02:03:17.155497 Client connects to port 34575 02:03:17.155523 ====> Client established passive DATA connection on port 34575 02:03:17.155578 < "TYPE I" 02:03:17.155602 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.155749 < "SIZE verifiedserver" 02:03:17.155781 > "213 17[CR][LF]" 02:03:17.155920 < "RETR verifiedserver" 02:03:17.155950 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.156024 =====> Closing passive DATA connection... 02:03:17.156038 Server disconnects passive DATA connection 02:03:17.156250 Server disconnected passive DATA connection 02:03:17.156276 DATA sockfilt for passive data channel quits (pid 148864) 02:03:17.156451 DATA sockfilt for passive data channel quit (pid 148864) 02:03:17.156471 =====> Closed passive DATA connection 02:03:17.156494 > "226 File transfer complete[CR][LF]" 02:03:17.198589 < "QUIT" 02:03:17.198630 > "221 bye bye baby[CR][LF]" 02:03:17.199184 MAIN sockfilt said DISC 02:03:17.199219 ====> Client disconnected 02:03:17.199272 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.352135 ====> Client connect 02:03:17.352381 Received DATA (on stdin) 02:03:17.352395 > 160 bytes data, server => client 02:03:17.352408 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.352419 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.352430 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.352499 < 16 bytes data, client => server 02:03:17.352512 'USER anonymous\r\n' 02:03:17.352658 Received DATA (on stdin) 02:03:17.352670 > 33 bytes data, server => client 02:03:17.352681 '331 We are happy you popped in!\r\n' 02:03:17.352733 < 22 bytes data, client => server 02:03:17.352746 'PASS ftp@example.com\r\n' 02:03:17.352844 Received DATA (on stdin) 02:03:17.352855 > 30 bytes data, server => client 02:03:17.352866 '230 Welcome you silly person\r\n' 02:03:17.352913 < 5 bytes data, client => server 02:03:17.352924 'PWD\r\n' 02:03:17.353017 Received DATA (on stdin) 02:03:17.353028 > 30 bytes data, server => client 02:03:17.353039 '257 "/" is current directory\r\n' 02:03:17.353093 < 6 bytes data, client => server 02:03:17.353104 'EPSV\r\n' 02:03:17.355419 Received DATA (on stdin) 02:03:17.355432 > 38 bytes data, server => client 02:03:17.355443 '229 Entering Passive Mode (|||34575|)\n' 02:03:17.355559 < 8 bytes data, client => server 02:03:17.355575 'TYPE I\r\n' 02:03:17.355740 Received DATA (on stdin) 02:03:17.355753 > 33 bytes data, server => client 02:03:17.355764 '200 I modify TYPE as you wanted\r\n' 02:03:17.355812 < 21 bytes data, client => server 02:03:17.355823 'SIZE verifiedserver\r\n' 02:03:17.355919 Received DATA (on stdin) 02:03:17.355930 > 8 bytes data, server => client 02:03:17.355940 '213 17\r\n' 02:03:17.355986 < 21 bytes data, client => server 02:03:17.355997 'RETR verifiedserver\r\n' 02:03:17.356176 Received DATA (on stdin) 02:03:17.356188 > 29 bytes data, server => client 02:03:17.356198 '150 Binary junk (17 bytes).\r\n' 02:03:17.356632 Received DATA (on stdin) 02:03:17.356644 > 28 bytes data, server => client 02:03:17.356655 '226 File transfer complete\r\n' 02:03:17.398586 < 6 bytes data, client => server 02:03:17.398608 'QUIT\r\n' 02:03:17.398771 Received DATA (on stdin) 02:03:17.398782 > 18 bytes data, server => client 02:03:17.398792 '221 bye bye baby\r\n' 02:03:17.399275 ====> Client disconnect 02:03:17.399409 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.354888 Running IPv4 version 02:03:17.354936 Listening on port 34575 02:03:17.354971 Wrote pid 148864 to log/1/server/ftp_sockdata.pid 02:03:17.355094 Received PING (on stdin) 02:03:17.355286 Received PORT (on stdin) 02:03:17.355592 ====> Client connect 02:03:17.356225 Received DATA (on stdin) 02:03:17.356237 > 17 bytes data, server => client 02:03:17.356248 'WE ROOLZ: 88524\r\n' 02:03:17.356275 Received DISC (on stdin) 02:03:17.356287 ====> Client forcibly disconnected 02:03:17.356420 Received QUIT (on stdin) 02:03:17.356432 quits 02:03:17.356479 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1384 === End of file server.cmd === Start of file valgrind1384 ==148893== ==148893== Process terminating with default action of signal 4 (SIGILL) ==148893== Illegal opcode at address 0x10B08D ==148893== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148893== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1384 test 1387...[FTP DL, file with C-D inside, using -o fname -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1387 ../src/curl -q --trace-ascii log/7/trace1387 --trace-config all --trace-time ftp://127.0.0.1:40455/path/file1387 -o log/7/download1387 -D log/7/heads1387 > log/7/stdout1387 2> log/7/stderr1387 1387: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1387 === Start of file ftp_server.log 02:03:17.166626 ====> Client connect 02:03:17.166745 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.166949 < "USER anonymous" 02:03:17.166974 > "331 We are happy you popped in![CR][LF]" 02:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1389 ../src/curl -q --trace-ascii log/6/trace1389 --trace-config all --trace-time ftp://127.0.0.1:40433/path/file1389 -o log/6/download1389 -J -D log/6/heads1389 > log/6/stdout1389 2> log/6/stderr1389 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1388 ../src/curl -q --trace-ascii log/2/trace1388 --trace-config all --trace-time ftp://127.0.0.1:36595/path/file1388 -o log/2/download1388 -D - > log/2/stdout1388 2> log/2/stderr1388 03:17.167134 < "PASS ftp@example.com" 02:03:17.167157 > "230 Welcome you silly person[CR][LF]" 02:03:17.167279 < "PWD" 02:03:17.167304 > "257 "/" is current directory[CR][LF]" 02:03:17.167423 < "EPSV" 02:03:17.167443 ====> Passive DATA channel requested by client 02:03:17.167453 DATA sockfilt for passive data channel starting... 02:03:17.168590 DATA sockfilt for passive data channel started (pid 148878) 02:03:17.168678 DATA sockfilt for passive data channel listens on port 38835 02:03:17.168706 > "229 Entering Passive Mode (|||38835|)[LF]" 02:03:17.168719 Client has been notified that DATA conn will be accepted on port 38835 02:03:17.168895 Client connects to port 38835 02:03:17.168918 ====> Client established passive DATA connection on port 38835 02:03:17.168967 < "TYPE I" 02:03:17.168985 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.169103 < "SIZE verifiedserver" 02:03:17.169128 > "213 18[CR][LF]" 02:03:17.169238 < "RETR verifiedserver" 02:03:17.169263 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:17.169317 =====> Closing passive DATA connection... 02:03:17.169329 Server disconnects passive DATA connection 02:03:17.169499 Server disconnected passive DATA connection 02:03:17.169520 DATA sockfilt for passive data channel quits (pid 148878) 02:03:17.169660 DATA sockfilt for passive data channel quit (pid 148878) 02:03:17.169677 =====> Closed passive DATA connection 02:03:17.169695 > "226 File transfer complete[CR][LF]" 02:03:17.211962 < "QUIT" 02:03:17.212010 > "221 bye bye baby[CR][LF]" 02:03:17.212230 MAIN sockfilt said DISC 02:03:17.212261 ====> Client disconnected 02:03:17.212321 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:16.366686 ====> Client connect 02:03:16.366888 Received DATA (on stdin) 02:03:16.366899 > 160 bytes data, server => client 02:03:16.366910 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:16.366919 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:16.366927 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:16.366982 < 16 bytes data, client => server 02:03:16.366992 'USER anonymous\r\n' 02:03:16.367112 Received DATA (on stdin) 02:03:16.367125 > 33 bytes data, server => client 02:03:16.367138 '331 We are happy you popped in!\r\n' 02:03:16.367206 < 22 bytes data, client => server 02:03:16.367222 'PASS ftp@example.com\r\n' 02:03:16.367292 Received DATA (on stdin) 02:03:16.367302 > 30 bytes data, server => client 02:03:16.367310 '230 Welcome you silly person\r\n' 02:03:16.367352 < 5 bytes data, client => server 02:03:16.367361 'PWD\r\n' 02:03:16.367437 Received DATA (on stdin) 02:03:16.367447 > 30 bytes data, server => client 02:03:16.367455 '257 "/" is current directory\r\n' 02:03:16.367498 < 6 bytes data, client => server 02:03:16.367507 'EPSV\r\n' 02:03:16.368858 Received DATA (on stdin) 02:03:16.368870 > 38 bytes data, server => client 02:03:16.368878 '229 Entering Passive Mode (|||38835|)\n' 02:03:16.368969 < 8 bytes data, client => server 02:03:16.368981 'TYPE I\r\n' 02:03:16.369119 Received DATA (on stdin) 02:03:16.369128 > 33 bytes data, server => client 02:03:16.369137 '200 I modify TYPE as you wanted\r\n' 02:03:16.369178 < 21 bytes data, client => server 02:03:16.369187 'SIZE verifiedserver\r\n' 02:03:16.369262 Received DATA (on stdin) 02:03:16.369271 > 8 bytes data, server => client 02:03:16.369279 '213 18\r\n' 02:03:16.369315 < 21 bytes data, client => server 02:03:16.369324 'RETR verifiedserver\r\n' 02:03:16.369535 Received DATA (on stdin) 02:03:16.369545 > 29 bytes data, server => client 02:03:16.369554 '150 Binary junk (18 bytes).\r\n' 02:03:16.369830 Received DATA (on stdin) 02:03:16.369840 > 28 bytes data, server => client 02:03:16.369849 '226 File transfer complete\r\n' 02:03:16.411950 < 6 bytes data, client => server 02:03:16.411975 'QUIT\r\n' 02:03:16.412156 Received DATA (on stdin) 02:03:16.412169 > 18 bytes data, server => client 02:03:16.412180 '221 bye bye baby\r\n' 02:03:16.412318 ====> Client disconnect 02:03:16.412461 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.368593 Running IPv4 version 02:03:17.368638 Listening on port 38835 02:03:17.368667 Wrote pid 148878 to log/7/server/ftp_sockdata.pid 02:03:17.368681 Received PING (on stdin) 02:03:17.368745 Received PORT (on stdin) 02:03:17.368995 ====> Client connect 02:03:17.369464 Received DATA (on stdin) 02:03:17.369474 > 18 bytes data, server => client 02:03:17.369483 'WE ROOLZ: 134972\r\n' 02:03:17.369506 Received DISC (on stdin) 02:03:17.369516 ====> Client forcibly disconnected 02:03:17.369660 Received QUIT (on stdin) 02:03:17.369670 quits 02:03:17.369704 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1387 === End of file server.cmd === Start of file valgrind1387 ==148960== ==148960== Process terminating with default action of signal 4 (SIGILL) ==148960== Illegal opcode at address 0x10B08D ==148960== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==148960== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1387 test 1388...[FTP DL, file with C-D inside, using -o fname -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1388 ../src/curl -q --trace-ascii log/2/trace1388 --trace-config all --trace-time ftp://127.0.0.1:36595/path/file1388 -o log/2/download1388 -D - > log/2/stdout1388 2> log/2/stderr1388 1388: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1388 === Start of file ftp_server.log 02:03:17.375212 ====> Client connect 02:03:17.375364 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.375627 < "USER anonymous" 02:03:17.375658 > "331 We are happy you popped in![CR][LF]" 02:03:17.375809 < "PASS ftp@example.com" 02:03:17.375830 > "230 Welcome you silly person[CR][LF]" 02:03:17.375963 < "PWD" 02:03:17.375989 > "257 "/" is current directory[CR][LF]" 02:03:17.376132 < "EPSV" 02:03:17.376154 ====> Passive DATA channel requested by client 02:03:17.376166 DATA sockfilt for passive data channel starting... 02:03:17.377407 DATA sockfilt for passive data channel started (pid 149140) 02:03:17.377498 DATA sockfilt for passive data channel listens on port 42605 02:03:17.377530 > "229 Entering Passive Mode (|||42605|)[LF]" 02:03:17.377546 Client has been notified that DATA conn will be accepted on port 42605 02:03:17.377751 Client connects to port 42605 02:03:17.377777 ====> Client established passive DATA connection on port 42605 02:03:17.377831 < "TYPE I" 02:03:17.377854 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.377995 < "SIZE verifiedserver" 02:03:17.378025 > "213 17[CR][LF]" 02:03:17.378162 < "RETR verifiedserver" 02:03:17.378188 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.378252 =====> Closing passive DATA connection... 02:03:17.378266 Server disconnects passive DATA connection 02:03:17.378384 Server disconnected passive DATA connection 02:03:17.378411 DATA sockfilt for passive data channel quits (pid 149140) 02:03:17.378576 DATA sockfilt for passive data channel quit (pid 149140) 02:03:17.378595 =====> Closed passive DATA connection 02:03:17.378616 > "226 File transfer complete[CR][LF]" 02:03:17.423218 < "QUIT" 02:03:17.423264 > "221 bye bye baby[CR][LF]" 02:03:17.424142 MAIN sockfilt said DISC 02:03:17.424187 ====> Client disconnected 02:03:17.424251 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.575234 ====> Client connect 02:03:17.575499 Received DATA (on stdin) 02:03:17.575524 > 160 bytes data, server => client 02:03:17.575537 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.575551 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.575560 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.575637 < 16 bytes data, client => server 02:03:17.575656 'USER anonymous\r\n' 02:03:17.575799 Received DATA (on stdin) 02:03:17.575811 > 33 bytes data, server => client 02:03:17.575821 '331 We are happy you popped in!\r\n' 02:03:17.575871 < 22 bytes data, client => server 02:03:17.575882 'PASS ftp@example.com\r\n' 02:03:17.575967 Received DATA (on stdin) 02:03:17.575977 > 30 bytes data, server => client 02:03:17.575987 '230 Welcome you silly person\r\n' 02:03:17.576031 < 5 bytes data, client => server 02:03:17.576041 'PWD\r\n' 02:03:17.576125 Received DATA (on stdin) 02:03:17.576134 > 30 bytes data, server => client 02:03:17.576144 '257 "/" is current directory\r\n' 02:03:17.576200 < 6 bytes data, client => server 02:03:17.576210 'EPSV\r\n' 02:03:17.577688 Received DATA (on stdin) 02:03:17.577700 > 38 bytes data, server => client 02:03:17.577711 '229 Entering Passive Mode (|||42605|)\n' 02:03:17.577818 < 8 bytes data, client => server 02:03:17.577833 'TYPE I\r\n' 02:03:17.577991 Received DATA (on stdin) 02:03:17.578002 > 33 bytes data, server => client 02:03:17.578012 '200 I modify TYPE as you wanted\r\n' 02:03:17.578059 < 21 bytes data, client => server 02:03:17.578070 'SIZE verifiedserver\r\n' 02:03:17.578161 Received DATA (on stdin) 02:03:17.578172 > 8 bytes data, server => client 02:03:17.578181 '213 17\r\n' 02:03:17.578229 < 21 bytes data, client => server 02:03:17.578240 'RETR verifiedserver\r\n' 02:03:17.578496 Received DATA (on stdin) 02:03:17.578508 > 29 bytes data, server => client 02:03:17.578518 '150 Binary junk (17 bytes).\r\n' 02:03:17.578753 Received DATA (on stdin) 02:03:17.578765 > 28 bytes data, server => client 02:03:17.578775 '226 File transfer complete\r\n' 02:03:17.623209 < 6 bytes data, client => server 02:03:17.623233 'QUIT\r\n' 02:03:17.623407 Received DATA (on stdin) 02:03:17.623422 > 18 bytes data, server => client 02:03:17.623434 '221 bye bye baby\r\n' 02:03:17.624223 ====> Client disconnect 02:03:17.624391 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.577395 Running IPv4 version 02:03:17.577442 Listening on port 42605 02:03:17.577477 Wrote pid 149140 to log/2/server/ftp_sockdata.pid 02:03:17.577492 Received PING (on stdin) 02:03:17.577563 Received PORT (on stdin) 02:03:17.577850 ====> Client connect 02:03:17.578403 Received DATA (on stdin) 02:03:17.578415 > 17 bytes data, server => client 02:03:17.578425 'WE ROOLZ: 80457\r\n' 02:03:17.578451 Received DISC (on stdin) 02:03:17.578463 ====> Client forcibly disconnected 02:03:17.578555 Received QUIT (on stdin) 02:03:17.578567 quits 02:03:17.578612 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1388 === End of file server.cmd === Start of file valgrind1388 ==149159== ==149159== Process terminating with default action of signal 4 (SIGILL) ==149159== Illegal opcode at address 0x10B08D ==149159== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149159== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1388 test 1389...[FTP DL, file with C-D inside, using -o fname -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1389 ../src/curl -q --trace-ascii log/6/trace1389 --trace-config all --trace-time ftp://127.0.0.1:40433/path/file1389 -o log/6/download1389 -J -D log/6/heads1389 > log/6/stdout1389 2> log/6/stderr1389 1389: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1389 === Start of file ftp_server.log 02:03:17.420624 ====> Client connect 02:03:17.420774 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.421044 < "USER anonymous" 02:03:17.421081 > "331 We are happy you popped in![CR][LF]" 02:03:17.421246 < "PASS ftp@example.com" 02:03:17.421269 > "230 Welcome you silly person[CR][LF]" 02:03:17.421407 < "PWD" 02:03:17.421434 > "257 "/" is current directory[CR][LF]" 02:03:17.421582 < "EPSV" 02:03:17.421604 ====> Passive DATA channel requested by client 02:03:17.421617 DATA sockfilt for passive data channel starting... 02:03:17.423100 DATA sockfilt for passive data channel started (pid 149157) 02:03:17.423202 DATA sockfilt for passive data channel listens on port 35513 02:03:17.423238 > "229 Entering Passive Mode (|||35513|)[LF]" 02:03:17.423257 Client has been notified that DATA conn will be accepted on port 35513 02:03:17.423489 Client connects to port 35513 02:03:17.423516 ====> Client established passive DATA connection on port 35513 02:03:17.423572 < "TYPE I" 02:03:17.423595 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.423742 < "SIZE verifiedserver" 02:03:17.423776 > "213 17[CR][LF]" 02:03:17.423922 < "RETR verifiedserver" 02:03:17.423952 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.424027 =====> Closing passive DATA connection... 02:03:17.424041 Server disconnects passive DATA connection 02:03:17.424257 Server disconnected passive DATA connection 02:03:17.424282 DATA sockfilt for passive data channel quits (pid 149157) 02:03:17.424462 DATA sockfilt for passive data channel quit (pid 149157) 02:03:17.424482 =====> Closed passive DATA connection 02:03:17.424506 > "226 File transfer complete[CR][LF]" 02:03:17.465838 < "QUIT" 02:03:17.465888 > "221 bye bye baby[CR][LF]" 02:03:17.466858 MAIN sockfilt said DISC 02:03:17.466896 ====> Client disconnected 02:03:17.466958 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.620644 ====> Client connect 02:03:17.620922 Received DATA (on stdin) 02:03:17.620938 > 160 bytes data, server => client 02:03:17.620951 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.620962 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.620973 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.621048 < 16 bytes data, client => server 02:03:17.621061 'USER anonymous\r\n' 02:03:17.621223 Received DATA (on stdin) 02:03:17.621235 > 33 bytes data, server => client 02:03:17.621246 '331 We are happy you popped in!\r\n' 02:03:17.621301 < 22 bytes data, client => server 02:03:17.621313 'PASS ftp@example.com\r\n' 02:03:17.621405 Received DATA (on stdin) 02:03:17.621416 > 30 bytes data, server => client 02:03:17.621427 '230 Welcome you silly person\r\n' 02:03:17.621472 < 5 bytes data, client => server 02:03:17.621483 'PWD\r\n' 02:03:17.621570 Received DATA (on stdin) 02:03:17.621581 > 30 bytes data, server => client 02:03:17.621592 '257 "/" is current directory\r\n' 02:03:17.621644 < 6 bytes data, client => server 02:03:17.621655 'EPSV\r\n' 02:03:17.623403 Received DATA (on stdin) 02:03:17.623417 > 38 bytes data, server => client 02:03:17.623428 '229 Entering Passive Mode (|||35513|)\n' 02:03:17.623549 < 8 bytes data, client => server 02:03:17.623566 'TYPE I\r\n' 02:03:17.623732 Received DATA (on stdin) 02:03:17.623744 > 33 bytes data, server => client 02:03:17.623755 '200 I modify TYPE as you wanted\r\n' 02:03:17.623804 < 21 bytes data, client => server 02:03:17.623816 'SIZE verifiedserver\r\n' 02:03:17.623914 Received DATA (on stdin) 02:03:17.623925 > 8 bytes data, server => client 02:03:17.623937 '213 17\r\n' 02:03:17.623983 < 21 bytes data, client => server 02:03:17.623995 'RETR verifiedserver\r\n' 02:03:17.624268 Received DATA (on stdin) 02:03:17.624281 > 29 bytes data, server => client 02:03:17.624291 '150 Binary junk (17 bytes).\r\n' 02:03:17.624645 Received DATA (on stdin) 02:03:17.624658 > 28 bytes data, server => client 02:03:17.624669 '226 File transfer complete\r\n' 02:03:17.665788 < 6 bytes data, client => seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1400 ../src/curl -q --output log/4/curl1400.out --include --trace-ascii log/4/trace1400 --trace-config all --trace-time http://127.0.0.1:36813/we/want/1400 --libcurl log/4/test1400.c > log/4/stdout1400 2> log/4/stderr1400 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1390 ../src/curl -q --trace-ascii log/10/trace1390 --trace-config all --trace-time ftp://127.0.0.1:42661/path/file1390 -o log/10/download1390 -J -D - > log/10/stdout1390 2> log/10/stderr1390 rver 02:03:17.665820 'QUIT\r\n' 02:03:17.666039 Received DATA (on stdin) 02:03:17.666051 > 18 bytes data, server => client 02:03:17.666061 '221 bye bye baby\r\n' 02:03:17.666946 ====> Client disconnect 02:03:17.667100 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.623080 Running IPv4 version 02:03:17.623128 Listening on port 35513 02:03:17.623166 Wrote pid 149157 to log/6/server/ftp_sockdata.pid 02:03:17.623182 Received PING (on stdin) 02:03:17.623263 Received PORT (on stdin) 02:03:17.623584 ====> Client connect 02:03:17.624180 Received DATA (on stdin) 02:03:17.624192 > 17 bytes data, server => client 02:03:17.624203 'WE ROOLZ: 80451\r\n' 02:03:17.624232 Received DISC (on stdin) 02:03:17.624244 ====> Client forcibly disconnected 02:03:17.624429 Received QUIT (on stdin) 02:03:17.624440 quits 02:03:17.624487 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1389 === End of file server.cmd === Start of file valgrind1389 ==149207== ==149207== Process terminating with default action of signal 4 (SIGILL) ==149207== Illegal opcode at address 0x10B08D ==149207== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149207== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1389 setenv SSL_CERT_FILE = test 1400...[--libcurl for simple HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1400 ../src/curl -q --output log/4/curl1400.out --include --trace-ascii log/4/trace1400 --trace-config all --trace-time http://127.0.0.1:36813/we/want/1400 --libcurl log/4/test1400.c > log/4/stdout1400 2> log/4/stderr1400 1400: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1400 === Start of file http_server.log 02:03:17.826873 ====> Client connect 02:03:17.826905 accept_connection 3 returned 4 02:03:17.826922 accept_connection 3 returned 0 02:03:17.826936 Read 93 bytes 02:03:17.826946 Process 93 bytes request 02:03:17.826960 Got request: GET /verifiedserver HTTP/1.1 02:03:17.826970 Are-we-friendly question received 02:03:17.826993 Wrote request (93 bytes) input to log/4/server.input 02:03:17.827011 Identifying ourselves as friends 02:03:17.827084 Response sent (56 bytes) and written to log/4/server.response 02:03:17.827097 special request received, no persistency 02:03:17.827107 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1400 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1400 ==149337== ==149337== Process terminating with default action of signal 4 (SIGILL) ==149337== Illegal opcode at address 0x10B08D ==149337== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149337== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1400 test 1390...[FTP DL, file with C-D inside, using -o fname -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1390 ../src/curl -q --trace-ascii log/10/trace1390 --trace-config all --trace-time ftp://127.0.0.1:42661/path/file1390 -o log/10/download1390 -J -D - > log/10/stdout1390 2> log/10/stderr1390 1390: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1390 === Start of file ftp_server.log 02:03:17.596909 ====> Client connect 02:03:17.597071 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.597372 < "USER anonymous" 02:03:17.597415 > "331 We are happy you popped in![CR][LF]" 02:03:17.597614 < "PASS ftp@example.com" 02:03:17.597648 > "230 Welcome you silly person[CR][LF]" 02:03:17.597818 < "PWD" 02:03:17.597854 > "257 "/" is current directory[CR][LF]" 02:03:17.598023 < "EPSV" 02:03:17.598050 ====> Passive DATA channel requested by client 02:03:17.598065 DATA sockfilt for passive data channel starting... 02:03:17.599825 DATA sockfilt for passive data channel started (pid 149291) 02:03:17.599937 DATA sockfilt for passive data channel listens on port 34499 02:03:17.599977 > "229 Entering Passive Mode (|||34499|)[LF]" 02:03:17.599993 Client has been notified that DATA conn will be accepted on port 34499 02:03:17.600226 Client connects to port 34499 02:03:17.600258 ====> Client established passive DATA connection on port 34499 02:03:17.600319 < "TYPE I" 02:03:17.600347 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.600510 < "SIZE verifiedserver" 02:03:17.600549 > "213 17[CR][LF]" 02:03:17.600704 < "RETR verifiedserver" 02:03:17.600736 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.600810 =====> Closing passive DATA connection... 02:03:17.600827 Server disconnects passive DATA connection 02:03:17.601061 Server disconnected passive DATA connection 02:03:17.601089 DATA sockfilt for passive data channel quits (pid 149291) 02:03:17.601281 DATA sockfilt for passive data channel quit (pid 149291) 02:03:17.601306 =====> Closed passive DATA connection 02:03:17.601332 > "226 File transfer complete[CR][LF]" 02:03:17.642247 < "QUIT" 02:03:17.642283 > "221 bye bye baby[CR][LF]" 02:03:17.642842 MAIN sockfilt said DISC 02:03:17.642871 ====> Client disconnected 02:03:17.642919 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.796943 ====> Client connect 02:03:17.797225 Received DATA (on stdin) 02:03:17.797243 > 160 bytes data, server => client 02:03:17.797256 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.797267 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.797278 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.797360 < 16 bytes data, client => server 02:03:17.797375 'USER anonymous\r\n' 02:03:17.797558 Received DATA (on stdin) 02:03:17.797572 > 33 bytes data, server => client 02:03:17.797584 '331 We are happy you popped in!\r\n' 02:03:17.797643 < 22 bytes data, client => server 02:03:17.797656 'PASS ftp@example.com\r\n' 02:03:17.797789 Received DATA (on stdin) 02:03:17.797801 > 30 bytes data, server => client 02:03:17.797812 '230 Welcome you silly person\r\n' 02:03:17.797863 < 5 bytes data, client => server 02:03:17.797876 'PWD\r\n' 02:03:17.797995 Received DATA (on stdin) 02:03:17.798007 > 30 bytes data, server => client 02:03:17.798018 '257 "/" is current directory\r\n' 02:03:17.798076 < 6 bytes data, client => server 02:03:17.798088 'EPSV\r\n' 02:03:17.800137 Received DATA (on stdin) 02:03:17.800151 > 38 bytes data, server => client 02:03:17.800163 '229 Entering Passive Mode (|||34499|)\n' 02:03:17.800285 < 8 bytes data, client => server 02:03:17.800303 'TYPE I\r\n' 02:03:17.800487 Received DATA (on stdin) 02:03:17.800499 > 33 bytes data, server => client 02:03:17.800510 '200 I modify TYPE as you wanted\r\n' 02:03:17.800561 < 21 bytes data, client => server 02:03:17.800575 'SIZE verifiedserver\r\n' 02:03:17.800689 Received DATA (on stdin) 02:03:17.800702 > 8 bytes data, server => client 02:03:17.800712 '213 17\r\n' 02:03:17.800762 < 21 byCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1392 ../src/curl -q --trace-ascii log/3/trace1392 --trace-config all --trace-time ftp://127.0.0.1:45983/path/file1392 -o log/3/download1392 -i -D - > log/3/stdout1392 2> log/3/stderr1392 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1391 ../src/curl -q --trace-ascii log/9/trace1391 --trace-config all --trace-time ftp://127.0.0.1:35301/path/file1391 -o log/9/download1391 -i -D log/9/heads1391 > log/9/stdout1391 2> log/9/stderr1391 tes data, client => server 02:03:17.800775 'RETR verifiedserver\r\n' 02:03:17.801064 Received DATA (on stdin) 02:03:17.801078 > 29 bytes data, server => client 02:03:17.801090 '150 Binary junk (17 bytes).\r\n' 02:03:17.801471 Received DATA (on stdin) 02:03:17.801484 > 28 bytes data, server => client 02:03:17.801495 '226 File transfer complete\r\n' 02:03:17.842254 < 6 bytes data, client => server 02:03:17.842273 'QUIT\r\n' 02:03:17.842420 Received DATA (on stdin) 02:03:17.842430 > 18 bytes data, server => client 02:03:17.842438 '221 bye bye baby\r\n' 02:03:17.842932 ====> Client disconnect 02:03:17.843054 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.799803 Running IPv4 version 02:03:17.799858 Listening on port 34499 02:03:17.799895 Wrote pid 149291 to log/10/server/ftp_sockdata.pid 02:03:17.799913 Received PING (on stdin) 02:03:17.799993 Received PORT (on stdin) 02:03:17.800321 ====> Client connect 02:03:17.800967 Received DATA (on stdin) 02:03:17.800983 > 17 bytes data, server => client 02:03:17.800994 'WE ROOLZ: 80449\r\n' 02:03:17.801025 Received DISC (on stdin) 02:03:17.801039 ====> Client forcibly disconnected 02:03:17.801236 Received QUIT (on stdin) 02:03:17.801248 quits 02:03:17.801296 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1390 === End of file server.cmd === Start of file valgrind1390 ==149366== ==149366== Process terminating with default action of signal 4 (SIGILL) ==149366== Illegal opcode at address 0x10B08D ==149366== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149366== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1390 test 1392...[FTP DL, file with C-D inside, using -o fname -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1392 ../src/curl -q --trace-ascii log/3/trace1392 --trace-config all --trace-time ftp://127.0.0.1:45983/path/file1392 -o log/3/download1392 -i -D - > log/3/stdout1392 2> log/3/stderr1392 1392: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1392 === Start of file ftp_server.log 02:03:17.618841 ====> Client connect 02:03:17.618990 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.619266 < "USER anonymous" 02:03:17.619303 > "331 We are happy you popped in![CR][LF]" 02:03:17.619468 < "PASS ftp@example.com" 02:03:17.619493 > "230 Welcome you silly person[CR][LF]" 02:03:17.619641 < "PWD" 02:03:17.619672 > "257 "/" is current directory[CR][LF]" 02:03:17.619856 < "EPSV" 02:03:17.619884 ====> Passive DATA channel requested by client 02:03:17.619899 DATA sockfilt for passive data channel starting... 02:03:17.621333 DATA sockfilt for passive data channel started (pid 149331) 02:03:17.621423 DATA sockfilt for passive data channel listens on port 39973 02:03:17.621457 > "229 Entering Passive Mode (|||39973|)[LF]" 02:03:17.621474 Client has been notified that DATA conn will be accepted on port 39973 02:03:17.621703 Client connects to port 39973 02:03:17.621730 ====> Client established passive DATA connection on port 39973 02:03:17.621789 < "TYPE I" 02:03:17.621813 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.621964 < "SIZE verifiedserver" 02:03:17.621999 > "213 17[CR][LF]" 02:03:17.622145 < "RETR verifiedserver" 02:03:17.622177 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.622250 =====> Closing passive DATA connection... 02:03:17.622266 Server disconnects passive DATA connection 02:03:17.622493 Server disconnected passive DATA connection 02:03:17.622520 DATA sockfilt for passive data channel quits (pid 149331) 02:03:17.622695 DATA sockfilt for passive data channel quit (pid 149331) 02:03:17.622716 =====> Closed passive DATA connection 02:03:17.622739 > "226 File transfer complete[CR][LF]" 02:03:17.665747 < "QUIT" 02:03:17.665795 > "221 bye bye baby[CR][LF]" 02:03:17.666062 MAIN sockfilt said DISC 02:03:17.666095 ====> Client disconnected 02:03:17.666154 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.818880 ====> Client connect 02:03:17.819140 Received DATA (on stdin) 02:03:17.819155 > 160 bytes data, server => client 02:03:17.819168 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.819180 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.819191 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.819266 < 16 bytes data, client => server 02:03:17.819280 'USER anonymous\r\n' 02:03:17.819446 Received DATA (on stdin) 02:03:17.819459 > 33 bytes data, server => client 02:03:17.819470 '331 We are happy you popped in!\r\n' 02:03:17.819523 < 22 bytes data, client => server 02:03:17.819535 'PASS ftp@example.com\r\n' 02:03:17.819631 Received DATA (on stdin) 02:03:17.819643 > 30 bytes data, server => client 02:03:17.819654 '230 Welcome you silly person\r\n' 02:03:17.819704 < 5 bytes data, client => server 02:03:17.819715 'PWD\r\n' 02:03:17.819806 Received DATA (on stdin) 02:03:17.819826 > 30 bytes data, server => client 02:03:17.819839 '257 "/" is current directory\r\n' 02:03:17.819906 < 6 bytes data, client => server 02:03:17.819920 'EPSV\r\n' 02:03:17.821617 Received DATA (on stdin) 02:03:17.821630 > 38 bytes data, server => client 02:03:17.821642 '229 Entering Passive Mode (|||39973|)\n' 02:03:17.821760 < 8 bytes data, client => server 02:03:17.821775 'TYPE I\r\n' 02:03:17.821950 Received DATA (on stdin) 02:03:17.821963 > 33 bytes data, server => client 02:03:17.821974 '200 I modify TYPE as you wanted\r\n' 02:03:17.822025 < 21 bytes data, client => server 02:03:17.822037 'SIZE verifiedserver\r\n' 02:03:17.822138 Received DATA (on stdin) 02:03:17.822149 > 8 bytes data, server => client 02:03:17.822160 '213 17\r\n' 02:03:17.822208 < 21 bytes data, client => server 02:03:17.822219 'RETR verifiedserver\r\n' 02:03:17.822404 Received DATA (on stdin) 02:03:17.822417 > 29 bytes data, server => client 02:03:17.822427 '150 Binary junk (17 bytes).\r\n' 02:03:17.822878 Received DATA (on stdin) 02:03:17.822890 > 28 bytes data, server => client 02:03:17.822901 '226 File transfer complete\r\n' 02:03:17.865738 < 6 bytes data, client => server 02:03:17.865761 'QUIT\r\n' 02:03:17.865930 Received DATA (on stdin) 02:03:17.865948 > 18 bytes data, server => client 02:03:17.865959 '221 bye bye baby\r\n' 02:03:17.866150 ====> Client disconnect 02:03:17.866248 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.821220 Running IPv4 version 02:03:17.821267 Listening on port 39973 02:03:17.821305 Wrote pid 149331 to log/3/server/ftp_sockdata.pid 02:03:17.821420 Received PING (on stdin) 02:03:17.821490 Received PORT (on stdin) 02:03:17.821792 ====> Client connect 02:03:17.822473 Received DATA (on stdin) 02:03:17.822487 > 17 bytes data, server => client 02:03:17.822498 'WE ROOLZ: 80465\r\n' 02:03:17.822526 Received DISC (on stdin) 02:03:17.822538 ====> Client forcibly disconnected 02:03:17.822664 Received QUIT (on stdin) 02:03:17.822677 quits 02:03:17.822723 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1392 === End of file server.cmd === Start of file valgrind1392 ==149455== ==149455== Process terminating with default action of signal 4 (SIGILL) ==149455== Illegal opcode at address 0x10B08D ==149455== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149455== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1392 test 1391...[FTP DL, file with C-D inside, using -o fname -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1393 ../src/curl -q --trace-ascii log/8/trace1393 --trace-config all --trace-time ftp://127.0.0.1:39101/path/file1393 -o log/8/download1393 -i > log/8/stdout1393 2> log/8/stderr1393 upp --num-callers=16 --log-file=log/9/valgrind1391 ../src/curl -q --trace-ascii log/9/trace1391 --trace-config all --trace-time ftp://127.0.0.1:35301/path/file1391 -o log/9/download1391 -i -D log/9/heads1391 > log/9/stdout1391 2> log/9/stderr1391 1391: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1391 === Start of file ftp_server.log 02:03:17.602623 ====> Client connect 02:03:17.602754 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.603022 < "USER anonymous" 02:03:17.603056 > "331 We are happy you popped in![CR][LF]" 02:03:17.603229 < "PASS ftp@example.com" 02:03:17.603255 > "230 Welcome you silly person[CR][LF]" 02:03:17.603415 < "PWD" 02:03:17.603447 > "257 "/" is current directory[CR][LF]" 02:03:17.603619 < "EPSV" 02:03:17.603643 ====> Passive DATA channel requested by client 02:03:17.603658 DATA sockfilt for passive data channel starting... 02:03:17.606016 DATA sockfilt for passive data channel started (pid 149295) 02:03:17.606113 DATA sockfilt for passive data channel listens on port 41665 02:03:17.606151 > "229 Entering Passive Mode (|||41665|)[LF]" 02:03:17.606167 Client has been notified that DATA conn will be accepted on port 41665 02:03:17.606390 Client connects to port 41665 02:03:17.606416 ====> Client established passive DATA connection on port 41665 02:03:17.606476 < "TYPE I" 02:03:17.606501 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.606649 < "SIZE verifiedserver" 02:03:17.606682 > "213 17[CR][LF]" 02:03:17.606824 < "RETR verifiedserver" 02:03:17.606856 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.606924 =====> Closing passive DATA connection... 02:03:17.606939 Server disconnects passive DATA connection 02:03:17.607151 Server disconnected passive DATA connection 02:03:17.607178 DATA sockfilt for passive data channel quits (pid 149295) 02:03:17.607507 DATA sockfilt for passive data channel quit (pid 149295) 02:03:17.607532 =====> Closed passive DATA connection 02:03:17.607556 > "226 File transfer complete[CR][LF]" 02:03:17.648631 < "QUIT" 02:03:17.648670 > "221 bye bye baby[CR][LF]" 02:03:17.649236 MAIN sockfilt said DISC 02:03:17.649265 ====> Client disconnected 02:03:17.649313 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.802662 ====> Client connect 02:03:17.802904 Received DATA (on stdin) 02:03:17.802921 > 160 bytes data, server => client 02:03:17.802934 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.802946 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.802957 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.803027 < 16 bytes data, client => server 02:03:17.803042 'USER anonymous\r\n' 02:03:17.803199 Received DATA (on stdin) 02:03:17.803214 > 33 bytes data, server => client 02:03:17.803225 '331 We are happy you popped in!\r\n' 02:03:17.803279 < 22 bytes data, client => server 02:03:17.803292 'PASS ftp@example.com\r\n' 02:03:17.803397 Received DATA (on stdin) 02:03:17.803409 > 30 bytes data, server => client 02:03:17.803420 '230 Welcome you silly person\r\n' 02:03:17.803472 < 5 bytes data, client => server 02:03:17.803484 'PWD\r\n' 02:03:17.803586 Received DATA (on stdin) 02:03:17.803598 > 30 bytes data, server => client 02:03:17.803609 '257 "/" is current directory\r\n' 02:03:17.803674 < 6 bytes data, client => server 02:03:17.803688 'EPSV\r\n' 02:03:17.806312 Received DATA (on stdin) 02:03:17.806325 > 38 bytes data, server => client 02:03:17.806336 '229 Entering Passive Mode (|||41665|)\n' 02:03:17.806453 < 8 bytes data, client => server 02:03:17.806469 'TYPE I\r\n' 02:03:17.806639 Received DATA (on stdin) 02:03:17.806650 > 33 bytes data, server => client 02:03:17.806661 '200 I modify TYPE as you wanted\r\n' 02:03:17.806710 < 21 bytes data, client => server 02:03:17.806722 'SIZE verifiedserver\r\n' 02:03:17.806819 Received DATA (on stdin) 02:03:17.806831 > 8 bytes data, server => client 02:03:17.806841 '213 17\r\n' 02:03:17.806887 < 21 bytes data, client => server 02:03:17.806899 'RETR verifiedserver\r\n' 02:03:17.807165 Received DATA (on stdin) 02:03:17.807177 > 29 bytes data, server => client 02:03:17.807188 '150 Binary junk (17 bytes).\r\n' 02:03:17.807683 Received DATA (on stdin) 02:03:17.807697 > 28 bytes data, server => client 02:03:17.807709 '226 File transfer complete\r\n' 02:03:17.848646 < 6 bytes data, client => server 02:03:17.848666 'QUIT\r\n' 02:03:17.848809 Received DATA (on stdin) 02:03:17.848821 > 18 bytes data, server => client 02:03:17.848829 '221 bye bye baby\r\n' 02:03:17.849329 ====> Client disconnect 02:03:17.849448 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.805836 Running IPv4 version 02:03:17.805890 Listening on port 41665 02:03:17.805944 Wrote pid 149295 to log/9/server/ftp_sockdata.pid 02:03:17.806095 Received PING (on stdin) 02:03:17.806174 Received PORT (on stdin) 02:03:17.806486 ====> Client connect 02:03:17.807077 Received DATA (on stdin) 02:03:17.807089 > 17 bytes data, server => client 02:03:17.807100 'WE ROOLZ: 80452\r\n' 02:03:17.807129 Received DISC (on stdin) 02:03:17.807142 ====> Client forcibly disconnected 02:03:17.807325 Received QUIT (on stdin) 02:03:17.807337 quits 02:03:17.807384 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1391 === End of file server.cmd === Start of file valgrind1391 ==149385== ==149385== Process terminating with default action of signal 4 (SIGILL) ==149385== Illegal opcode at address 0x10B08D ==149385== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149385== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1391 test 1393...[FTP DL, file with C-D inside, using -o fname -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1393 ../src/curl -q --trace-ascii log/8/trace1393 --trace-config all --trace-time ftp://127.0.0.1:39101/path/file1393 -o log/8/download1393 -i > log/8/stdout1393 2> log/8/stderr1393 1393: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1393 === Start of file ftp_server.log 02:03:17.626265 ====> Client connect 02:03:17.626422 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.626696 < "USER anonymous" 02:03:17.626729 > "331 We are happy you popped in![CR][LF]" 02:03:17.626888 < "PASS ftp@example.com" 02:03:17.626912 > "230 Welcome you silly person[CR][LF]" 02:03:17.627071 < "PWD" 02:03:17.627104 > "257 "/" is current directory[CR][LF]" 02:03:17.627279 < "EPSV" 02:03:17.627300 ====> Passive DATA channel requested by client 02:03:17.627311 DATA sockfilt for passive data channel starting... 02:03:17.628410 DATA sockfilt for passive data channel started (pid 149334) 02:03:17.628491 DATA sockfilt for passive data channel listens on port 43257 02:03:17.628518 > "229 Entering Passive Mode (|||43257|)[LF]" 02:03:17.628530 Client has been notified that DATA conn will be accepted on port 43257 02:03:17.628711 Client connects to port 43257 02:03:17.628733 ====> Client established passive DATA connection on port 43257 02:03:17.628779 < "TYPE I" 02:03:17.628798 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.628915 < "SIZE verifiedserver" 02:03:17.628942 > "213 17[CR][LF]" 02:03:17.629052 < "RETR verifiedserver" 02:03:17.629075 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:17.629132 =====> Closing passive DATA connection... 02:03:17.629144 Server disconnects CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1402 ../src/curl -q --output log/5/curl1402.out --include --trace-ascii log/5/trace1402 --trace-config all --trace-time http://127.0.0.1:34719/we/want/1402 --libcurl log/5/test1402.c -d "foo=bar" -d "baz=quux" > log/5/stdout1402 2> log/5/stderr1402 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1401 ../src/curl -q --output log/11/curl1401.out --include --trace-ascii log/11/trace1401 --trace-config all --trace-time http://127.0.0.1:44137/we/want/1401 --libcurl log/11/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/11/stdout1401 2> log/11/stderr1401 passive DATA connection 02:03:17.629315 Server disconnected passive DATA connection 02:03:17.629337 DATA sockfilt for passive data channel quits (pid 149334) 02:03:17.629476 DATA sockfilt for passive data channel quit (pid 149334) 02:03:17.629492 =====> Closed passive DATA connection 02:03:17.629511 > "226 File transfer complete[CR][LF]" 02:03:17.672111 < "QUIT" 02:03:17.672157 > "221 bye bye baby[CR][LF]" 02:03:17.672373 MAIN sockfilt said DISC 02:03:17.672402 ====> Client disconnected 02:03:17.672463 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.826304 ====> Client connect 02:03:17.826571 Received DATA (on stdin) 02:03:17.826586 > 160 bytes data, server => client 02:03:17.826599 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.826611 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.826622 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.826697 < 16 bytes data, client => server 02:03:17.826712 'USER anonymous\r\n' 02:03:17.826870 Received DATA (on stdin) 02:03:17.826883 > 33 bytes data, server => client 02:03:17.826894 '331 We are happy you popped in!\r\n' 02:03:17.826944 < 22 bytes data, client => server 02:03:17.826954 'PASS ftp@example.com\r\n' 02:03:17.827044 Received DATA (on stdin) 02:03:17.827059 > 30 bytes data, server => client 02:03:17.827071 '230 Welcome you silly person\r\n' 02:03:17.827126 < 5 bytes data, client => server 02:03:17.827137 'PWD\r\n' 02:03:17.827229 Received DATA (on stdin) 02:03:17.827248 > 30 bytes data, server => client 02:03:17.827261 '257 "/" is current directory\r\n' 02:03:17.827338 < 6 bytes data, client => server 02:03:17.827353 'EPSV\r\n' 02:03:17.828668 Received DATA (on stdin) 02:03:17.828680 > 38 bytes data, server => client 02:03:17.828692 '229 Entering Passive Mode (|||43257|)\n' 02:03:17.828784 < 8 bytes data, client => server 02:03:17.828797 'TYPE I\r\n' 02:03:17.828933 Received DATA (on stdin) 02:03:17.828942 > 33 bytes data, server => client 02:03:17.828951 '200 I modify TYPE as you wanted\r\n' 02:03:17.828990 < 21 bytes data, client => server 02:03:17.828999 'SIZE verifiedserver\r\n' 02:03:17.829076 Received DATA (on stdin) 02:03:17.829084 > 8 bytes data, server => client 02:03:17.829092 '213 17\r\n' 02:03:17.829129 < 21 bytes data, client => server 02:03:17.829138 'RETR verifiedserver\r\n' 02:03:17.829350 Received DATA (on stdin) 02:03:17.829359 > 29 bytes data, server => client 02:03:17.829368 '150 Binary junk (17 bytes).\r\n' 02:03:17.829645 Received DATA (on stdin) 02:03:17.829656 > 28 bytes data, server => client 02:03:17.829664 '226 File transfer complete\r\n' 02:03:17.872104 < 6 bytes data, client => server 02:03:17.872128 'QUIT\r\n' 02:03:17.872298 Received DATA (on stdin) 02:03:17.872310 > 18 bytes data, server => client 02:03:17.872321 '221 bye bye baby\r\n' 02:03:17.872461 ====> Client disconnect 02:03:17.872603 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.828403 Running IPv4 version 02:03:17.828446 Listening on port 43257 02:03:17.828485 Wrote pid 149334 to log/8/server/ftp_sockdata.pid 02:03:17.828500 Received PING (on stdin) 02:03:17.828565 Received PORT (on stdin) 02:03:17.828811 ====> Client connect 02:03:17.829279 Received DATA (on stdin) 02:03:17.829289 > 17 bytes data, server => client 02:03:17.829297 'WE ROOLZ: 80441\r\n' 02:03:17.829320 Received DISC (on stdin) 02:03:17.829331 ====> Client forcibly disconnected 02:03:17.829477 Received QUIT (on stdin) 02:03:17.829486 quits 02:03:17.829522 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1393 === End of file server.cmd === Start of file valgrind1393 ==149483== ==149483== Process terminating with default action of signal 4 (SIGILL) ==149483== Illegal opcode at address 0x10B08D ==149483== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149483== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1393 setenv SSL_CERT_FILE = test 1402...[--libcurl for simple POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1402 ../src/curl -q --output log/5/curl1402.out --include --trace-ascii log/5/trace1402 --trace-config all --trace-time http://127.0.0.1:34719/we/want/1402 --libcurl log/5/test1402.c -d "foo=bar" -d "baz=quux" > log/5/stdout1402 2> log/5/stderr1402 1402: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1402 === Start of file http_server.log 02:03:18.034669 ====> Client connect 02:03:18.034701 accept_connection 3 returned 4 02:03:18.034717 accept_connection 3 returned 0 02:03:18.034731 Read 93 bytes 02:03:18.034741 Process 93 bytes request 02:03:18.034755 Got request: GET /verifiedserver HTTP/1.1 02:03:18.034764 Are-we-friendly question received 02:03:18.034786 Wrote request (93 bytes) input to log/5/server.input 02:03:18.034802 Identifying ourselves as friends 02:03:18.034864 Response sent (57 bytes) and written to log/5/server.response 02:03:18.034874 special request received, no persistency 02:03:18.034883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1402 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind1402 ==149657== ==149657== Process terminating with default action of signal 4 (SIGILL) ==149657== Illegal opcode at address 0x10B08D ==149657== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149657== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1402 setenv SSL_CERT_FILE = test 1401...[--libcurl for GET with various options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1401 ../src/curl -q --output log/11/curl1401.out --include --trace-ascii log/11/trace1401 --trace-config all --trace-time http://127.0.0.1:44137/we/want/1401 --libcurl log/11/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/11/stdout1401 2> log/11/stderr1401 1401: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1401 === Start of file http_server.log 02:03:18.039626 ====> Client connect 02:03:18.039654 accept_connection 3 returned 4 02:03:18.039672 accept_connection 3 returned 0 02:03:18.039686 Read 93 bytes 02:03:18.039697 Process 93 bytes request 02:03:18.039710 Got request: GET /verifiedserver HTTP/1.1 02:03:18.039720 Are-we-friendly question received 02:03:18.039748 Wrote request (93 bytes) input to log/11/server.input 02:03:18.039765 Identifying ourselves as friends 02:03:18.039834 Response sent (56 bytes) and written to log/11/server.response 02:03:18.039847 special request received, no persistency 02:03:18.039857 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1404 ../src/curl -q --output log/1/curl1404.out --include --trace-ascii log/1/trace1404 --trace-config all --trace-time http://127.0.0.1:34215/we/want/1404 -F name=value -F 'file=@log/1/test1404.txt,log/1/test1404.txt;type=magic/content;encoder=8bit,log/1/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/1/test1404.c > log/1/stdout1404 2> log/1/stderr1404 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1403 ../src/curl -q --output log/12/curl1403.out --include --trace-ascii log/12/trace1403 --trace-config all --trace-time http://127.0.0.1:40653/we/want/1403 --libcurl log/12/test1403.c -G -d "foo=bar" -d "baz=quux" > log/12/stdout1403 2> log/12/stderr1403 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1405 ../src/curl -q --output log/7/curl1405.out --include --trace-ascii log/7/trace1405 --trace-config all --trace-time ftp://127.0.0.1:40455/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/7/test1405.c > log/7/stdout1405 2> log/7/stderr1405 Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1401 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1401 ==149668== ==149668== Process terminating with default action of signal 4 (SIGILL) ==149668== Illegal opcode at address 0x10B08D ==149668== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149668== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1401 setenv SSL_CERT_FILE = test 1404...[--libcurl for HTTP RFC1867-type formposting - -F with 3 files, one with explicit type & encoder] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1404 ../src/curl -q --output log/1/curl1404.out --include --trace-ascii log/1/trace1404 --trace-config all --trace-time http://127.0.0.1:34215/we/want/1404 -F name=value -F 'file=@log/1/test1404.txt,log/1/test1404.txt;type=magic/content;encoder=8bit,log/1/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/1/test1404.c > log/1/stdout1404 2> log/1/stderr1404 1404: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1404 === Start of file http_server.log 02:03:18.039283 ====> Client connect 02:03:18.039310 accept_connection 3 returned 4 02:03:18.039326 accept_connection 3 returned 0 02:03:18.039338 Read 93 bytes 02:03:18.039349 Process 93 bytes request 02:03:18.039360 Got request: GET /verifiedserver HTTP/1.1 02:03:18.039370 Are-we-friendly question received 02:03:18.039389 Wrote request (93 bytes) input to log/1/server.input 02:03:18.039405 Identifying ourselves as friends 02:03:18.039465 Response sent (56 bytes) and written to log/1/server.response 02:03:18.039476 special request received, no persistency 02:03:18.039485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1404 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file test1404.txt dummy data === End of file test1404.txt === Start of file valgrind1404 ==149701== ==149701== Process terminating with default action of signal 4 (SIGILL) ==149701== Illegal opcode at address 0x10B08D ==149701== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149701== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1404 setenv SSL_CERT_FILE = test 1403...[--libcurl for GET with query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1403 ../src/curl -q --output log/12/curl1403.out --include --trace-ascii log/12/trace1403 --trace-config all --trace-time http://127.0.0.1:40653/we/want/1403 --libcurl log/12/test1403.c -G -d "foo=bar" -d "baz=quux" > log/12/stdout1403 2> log/12/stderr1403 1403: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1403 === Start of file http_server.log 02:03:18.038531 ====> Client connect 02:03:18.038567 accept_connection 3 returned 4 02:03:18.038584 accept_connection 3 returned 0 02:03:18.038599 Read 93 bytes 02:03:18.038610 Process 93 bytes request 02:03:18.038624 Got request: GET /verifiedserver HTTP/1.1 02:03:18.038634 Are-we-friendly question received 02:03:18.038661 Wrote request (93 bytes) input to log/12/server.input 02:03:18.038680 Identifying ourselves as friends 02:03:18.038735 Response sent (56 bytes) and written to log/12/server.response 02:03:18.038747 special request received, no persistency 02:03:18.038757 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1403 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1403 ==149658== ==149658== Process terminating with default action of signal 4 (SIGILL) ==149658== Illegal opcode at address 0x10B08D ==149658== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149658== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1403 setenv SSL_CERT_FILE = test 1405...[--libcurl for FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1405 ../src/curl -q --output log/7/curl1405.out --include --trace-ascii log/7/trace1405 --trace-config all --trace-time ftp://127.0.0.1:40455/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/7/test1405.c > log/7/stdout1405 2> log/7/stderr1405 1405: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1405 === Start of file ftp_server.log 02:03:17.864592 ====> Client connect 02:03:17.864715 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:17.864954 < "USER anonymous" 02:03:17.864983 > "331 We are happy you popped in![CR][LF]" 02:03:17.865155 < "PASS ftp@example.com" 02:03:17.865178 > "230 Welcome you silly person[CR][LF]" 02:03:17.865321 < "PWD" 02:03:17.865350 > "257 "/" is current directory[CR][LF]" 02:03:17.865496 < "EPSV" 02:03:17.865518 ====> Passive DATA channel requested by client 02:03:17.865530 DATA sockfilt for passive data channel starting... 02:03:17.867168 DATA sockfilt for passive data channel started (pid 149693) 02:03:17.867262 DATA sockfilt for passive data channel listens on port 44845 02:03:17.867297 > "229 Entering Passive Mode (|||44845|)[LF]" 02:03:17.867314 Client has been notified that DATA conn will be accepted on port 44845 02:03:17.867574 Client connects to port 44845 02:03:17.867605 ====> Client established passive DATA connection on port 44845 02:03:17.869610 < "TYPE I" 02:03:17.869645 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:17.870168 < "SIZE verifiedserver" 02:03:17.870202 > "213 18[CR][LF]" 02:03:17.870351 < "RETR verifiedserver" 02:03:17.870385 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:17.870465 =====> Closing passive DATA connection... 02:03:17.870482 Server disconnects passive DATA connection 02:03:17.870735 Server disconnected passive DATA connection 02:03:17.870762 DATA sockfilt for passive data channel quits (pid 149693) 02:03:17.870959 DATA socCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1407 ../src/curl -q --output log/2/curl1407.out --include --trace-ascii log/2/trace1407 --trace-config all --trace-time pop3://127.0.0.1:38491/1407 -l -u user:secret --libcurl log/2/test1407.c > log/2/stdout1407 2> log/2/stderr1407 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1406 ../src/curl -q --output log/6/curl1406.out --include --trace-ascii log/6/trace1406 --trace-config all --trace-time smtp://127.0.0.1:36521/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/6/test1406.eml --libcurl log/6/test1406.c > log/6/stdout1406 2> log/6/stderr1406 kfilt for passive data channel quit (pid 149693) 02:03:17.870980 =====> Closed passive DATA connection 02:03:17.871005 > "226 File transfer complete[CR][LF]" 02:03:17.914989 < "QUIT" 02:03:17.915087 > "221 bye bye baby[CR][LF]" 02:03:17.916251 MAIN sockfilt said DISC 02:03:17.916287 ====> Client disconnected 02:03:17.916362 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:17.064644 ====> Client connect 02:03:17.064861 Received DATA (on stdin) 02:03:17.064873 > 160 bytes data, server => client 02:03:17.064885 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:17.064896 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:17.064906 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:17.064973 < 16 bytes data, client => server 02:03:17.064985 'USER anonymous\r\n' 02:03:17.065123 Received DATA (on stdin) 02:03:17.065135 > 33 bytes data, server => client 02:03:17.065166 '331 We are happy you popped in!\r\n' 02:03:17.065215 < 22 bytes data, client => server 02:03:17.065226 'PASS ftp@example.com\r\n' 02:03:17.065316 Received DATA (on stdin) 02:03:17.065326 > 30 bytes data, server => client 02:03:17.065337 '230 Welcome you silly person\r\n' 02:03:17.065384 < 5 bytes data, client => server 02:03:17.065395 'PWD\r\n' 02:03:17.065487 Received DATA (on stdin) 02:03:17.065498 > 30 bytes data, server => client 02:03:17.065509 '257 "/" is current directory\r\n' 02:03:17.065563 < 6 bytes data, client => server 02:03:17.065574 'EPSV\r\n' 02:03:17.067458 Received DATA (on stdin) 02:03:17.067471 > 38 bytes data, server => client 02:03:17.067483 '229 Entering Passive Mode (|||44845|)\n' 02:03:17.069625 < 8 bytes data, client => server 02:03:17.069648 'TYPE I\r\n' 02:03:17.070096 Received DATA (on stdin) 02:03:17.070113 > 33 bytes data, server => client 02:03:17.070127 '200 I modify TYPE as you wanted\r\n' 02:03:17.070217 < 21 bytes data, client => server 02:03:17.070231 'SIZE verifiedserver\r\n' 02:03:17.070340 Received DATA (on stdin) 02:03:17.070351 > 8 bytes data, server => client 02:03:17.070361 '213 18\r\n' 02:03:17.070410 < 21 bytes data, client => server 02:03:17.070423 'RETR verifiedserver\r\n' 02:03:17.070623 Received DATA (on stdin) 02:03:17.070634 > 29 bytes data, server => client 02:03:17.070646 '150 Binary junk (18 bytes).\r\n' 02:03:17.071144 Received DATA (on stdin) 02:03:17.071161 > 28 bytes data, server => client 02:03:17.071172 '226 File transfer complete\r\n' 02:03:17.114942 < 6 bytes data, client => server 02:03:17.114974 'QUIT\r\n' 02:03:17.115252 Received DATA (on stdin) 02:03:17.115266 > 18 bytes data, server => client 02:03:17.115278 '221 bye bye baby\r\n' 02:03:17.116112 ====> Client disconnect 02:03:17.116501 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:17.066805 Running IPv4 version 02:03:17.066855 Listening on port 44845 02:03:17.066891 Wrote pid 149693 to log/7/server/ftp_sockdata.pid 02:03:17.067247 Received PING (on stdin) 02:03:17.067326 Received PORT (on stdin) 02:03:17.067658 ====> Client connect 02:03:17.070697 Received DATA (on stdin) 02:03:17.070713 > 18 bytes data, server => client 02:03:17.070724 'WE ROOLZ: 134972\r\n' 02:03:17.070756 Received DISC (on stdin) 02:03:17.070769 ====> Client forcibly disconnected 02:03:17.070908 Received QUIT (on stdin) 02:03:17.070920 quits 02:03:17.070969 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY FAIL 500 this might not be a failure Testnum 1405 === End of file server.cmd === Start of file valgrind1405 ==149868== ==149868== Process terminating with default action of signal 4 (SIGILL) ==149868== Illegal opcode at address 0x10B08D ==149868== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149868== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1405 setenv SSL_CERT_FILE = test 1407...[--libcurl for POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1407 ../src/curl -q --output log/2/curl1407.out --include --trace-ascii log/2/trace1407 --trace-config all --trace-time pop3://127.0.0.1:38491/1407 -l -u user:secret --libcurl log/2/test1407.c > log/2/stdout1407 2> log/2/stderr1407 1407: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1407 === Start of file pop3_server.log 02:03:18.077279 ====> Client connect 02:03:18.077421 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 02:03:18.077703 < "CAPA" 02:03:18.077738 > "-ERR Unrecognized command[CR][LF]" 02:03:18.077894 < "RETR verifiedserver" 02:03:18.077917 return proof we are we 02:03:18.077936 > "+OK Mail transfer starts[CR][LF]" 02:03:18.077952 > "WE ROOLZ: 117777[CR][LF]" 02:03:18.077967 > ".[CR][LF]" 02:03:18.120228 < "QUIT" 02:03:18.120279 > "+OK curl POP3 server signing off[CR][LF]" 02:03:18.121108 MAIN sockfilt said DISC 02:03:18.121139 ====> Client disconnected 02:03:18.121201 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 02:03:18.277296 ====> Client connect 02:03:18.277575 Received DATA (on stdin) 02:03:18.277590 > 178 bytes data, server => client 02:03:18.277603 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:03:18.277615 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:03:18.277626 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 02:03:18.277636 've \r\n' 02:03:18.277707 < 6 bytes data, client => server 02:03:18.277721 'CAPA\r\n' 02:03:18.277877 Received DATA (on stdin) 02:03:18.277889 > 27 bytes data, server => client 02:03:18.277900 '-ERR Unrecognized command\r\n' 02:03:18.277953 < 21 bytes data, client => server 02:03:18.277965 'RETR verifiedserver\r\n' 02:03:18.278105 Received DATA (on stdin) 02:03:18.278116 > 26 bytes data, server => client 02:03:18.278126 '+OK Mail transfer starts\r\n' 02:03:18.278149 Received DATA (on stdin) 02:03:18.278159 > 18 bytes data, server => client 02:03:18.278169 'WE ROOLZ: 117777\r\n' 02:03:18.278181 Received DATA (on stdin) 02:03:18.278191 > 3 bytes data, server => client 02:03:18.278202 '.\r\n' 02:03:18.320184 < 6 bytes data, client => server 02:03:18.320214 'QUIT\r\n' 02:03:18.320420 Received DATA (on stdin) 02:03:18.320433 > 34 bytes data, server => client 02:03:18.320444 '+OK curl POP3 server signing off\r\n' 02:03:18.321196 ====> Client disconnect 02:03:18.321341 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST +OK 1407 100\r\n. Testnum 1407 === End of file server.cmd === Start of file valgrind1407 ==149979== ==149979== Process terminating with default action of signal 4 (SIGILL) ==149979== Illegal opcode at address 0x10B08D ==149979== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149979== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1407 setenv SSL_CERT_FILE = test 1406...[--libcurl for SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1406 ../src/curl -q --output log/6/curl1406.out --include --trace-ascii log/6/trace1406 --trace-config all --trace-time smtp://127.0.0.1:36521/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/6/test1406.eml --libcurl log/6/test1406.c > log/6/stdout1406 2> log/6/stderr1406 1406: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1406 === StartCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1410 ../src/curl -q --output log/3/curl1410.out --include --trace-ascii log/3/trace1410 --trace-config all --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/3/stdout1410 2> log/3/stderr1410 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1409 ../src/curl -q --output log/10/curl1409.out --include --trace-ascii log/10/trace1409 --trace-config all --trace-time http://127.0.0.1:47/1409 -C wrong > log/10/stdout1409 2> log/10/stderr1409 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1408 ../src/curl -q --output log/4/curl1408.out --include --trace-ascii log/4/trace1408 --trace-config all --trace-time -c log/4/jar1408 -g http://[::1]:33003/path/14080001 http://[::1]:33003/path/14080002 > log/4/stdout1408 2> log/4/stderr1408 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1411 ../src/curl -q --output log/9/curl1411.out --include --trace-ascii log/9/trace1411 --trace-config all --trace-time http://127.0.0.1:38509/1411 -T log/9/empty1411 > log/9/stdout1411 2> log/9/stderr1411 of file server.cmd CAPA SIZE Testnum 1406 === End of file server.cmd === Start of file smtp_server.log 02:03:18.078189 ====> Client connect 02:03:18.078306 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:18.078844 < "EHLO verifiedserver" 02:03:18.078881 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:18.079115 < "HELP" 02:03:18.079143 > "214 WE ROOLZ: 120742[CR][LF]" 02:03:18.079158 return proof we are we 02:03:18.079363 < "QUIT" 02:03:18.079387 > "221 curl ESMTP server signing off[CR][LF]" 02:03:18.080201 MAIN sockfilt said DISC 02:03:18.080233 ====> Client disconnected 02:03:18.080289 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:18.278249 ====> Client connect 02:03:18.278453 Received DATA (on stdin) 02:03:18.278755 > 160 bytes data, server => client 02:03:18.278769 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:18.278781 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:18.278792 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:18.278861 < 21 bytes data, client => server 02:03:18.278873 'EHLO verifiedserver\r\n' 02:03:18.279021 Received DATA (on stdin) 02:03:18.279032 > 53 bytes data, server => client 02:03:18.279044 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:18.279163 < 6 bytes data, client => server 02:03:18.279179 'HELP\r\n' 02:03:18.279295 Received DATA (on stdin) 02:03:18.279307 > 22 bytes data, server => client 02:03:18.279318 '214 WE ROOLZ: 120742\r\n' 02:03:18.279403 < 6 bytes data, client => server 02:03:18.279416 'QUIT\r\n' 02:03:18.279525 Received DATA (on stdin) 02:03:18.279541 > 35 bytes data, server => client 02:03:18.279552 '221 curl ESMTP server signing off\r\n' 02:03:18.280196 ====> Client disconnect 02:03:18.280428 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test1406.eml From: different To: another body === End of file test1406.eml === Start of file valgrind1406 ==149955== ==149955== Process terminating with default action of signal 4 (SIGILL) ==149955== Illegal opcode at address 0x10B08D ==149955== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==149955== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1406 * starts no server test 1410...[Pass in negative number to --max-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1410 ../src/curl -q --output log/3/curl1410.out --include --trace-ascii log/3/trace1410 --trace-config all --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/3/stdout1410 2> log/3/stderr1410 curl returned 132, when expecting 2 1410: exit FAILED == Contents of files in the log/3/ dir after test 1410 === Start of file server.cmd Testnum 1410 === End of file server.cmd === Start of file valgrind1410 ==150084== ==150084== Process terminating with default action of signal 4 (SIGILL) ==150084== Illegal opcode at address 0x10B08D ==150084== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150084== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1410 * starts no server test 1409...[Pass in string to -C] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1409 ../src/curl -q --output log/10/curl1409.out --include --trace-ascii log/10/trace1409 --trace-config all --trace-time http://127.0.0.1:47/1409 -C wrong > log/10/stdout1409 2> log/10/stderr1409 curl returned 132, when expecting 2 1409: exit FAILED == Contents of files in the log/10/ dir after test 1409 === Start of file server.cmd Testnum 1409 === End of file server.cmd === Start of file valgrind1409 ==150077== ==150077== Process terminating with default action of signal 4 (SIGILL) ==150077== Illegal opcode at address 0x10B08D ==150077== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150077== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1409 test 1408...[HTTP receive cookies over IPV6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1408 ../src/curl -q --output log/4/curl1408.out --include --trace-ascii log/4/trace1408 --trace-config all --trace-time -c log/4/jar1408 -g http://[::1]:33003/path/14080001 http://[::1]:33003/path/14080002 > log/4/stdout1408 2> log/4/stderr1408 1408: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1408 === Start of file http_ipv6_server.log 02:03:18.450484 ====> Client connect 02:03:18.450516 accept_connection 3 returned 4 02:03:18.450534 accept_connection 3 returned 0 02:03:18.450548 Read 89 bytes 02:03:18.450559 Process 89 bytes request 02:03:18.450580 Got request: GET /verifiedserver HTTP/1.1 02:03:18.450591 Are-we-friendly question received 02:03:18.450614 Wrote request (89 bytes) input to log/4/server.input 02:03:18.450633 Identifying ourselves as friends 02:03:18.450694 Response sent (56 bytes) and written to log/4/server.response 02:03:18.450707 special request received, no persistency 02:03:18.450717 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:33003... * Connected to ::1 (::1) port 33003 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:33003 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 89557 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1408 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 89557 === End of file server.response === Start of file valgrind1408 ==150128== ==150128== Process terminating with default action of signal 4 (SIGILL) ==150128== Illegal opcode at address 0x10B08D ==150128== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150128== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1408 test 1411...[HTTP with zero size file PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1411 ../src/curl -q --output log/9/curl1411.out --include --trace-ascii log/9/trace1411 --trace-config all --trace-time http://127.0.0.1:38509/1411 -T log/9/empty1411 > log/9/stdout1411 2> log/9/stderr1411 1411: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1411 === Start of file http_server.log 02:03:18.473880 ====> Client connect 02:03:18.473919 accept_connection 3 returned 4 02:03:18.473936 accept_connection 3 returned 0 02:03:18.473950 Read 93 bytes 02:03:18.473960 Process 93 bytes request 02:03:18.473974 Got request: GET /verifiedserver HTTP/1.1 02:03:18.473984 Are-we-friendly question received 02:03:18.474008 Wrote request (93 bytes) input to log/9/server.input 02:03:18.474025 Identifying ourselves as friends 02:03:18.474097 Response sent (56 bytes) and written to log/9/server.response 02:03:18.474109 special request received, no persistency 02:03:18.474119 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-AgeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1412 ../src/curl -q --output log/8/curl1412.out --include --trace-ascii log/8/trace1412 --trace-config all --trace-time http://127.0.0.1:43803/1412 -u testuser:testpass --anyauth http://127.0.0.1:43803/14120001 > log/8/stdout1412 2> log/8/stderr1412 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1416 ../src/curl -q --output log/12/curl1416.out --include --trace-ascii log/12/trace1416 --trace-config all --trace-time http://127.0.0.1:40653/1416 > log/12/stdout1416 2> log/12/stderr1416 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1417 ../src/curl -q --output log/7/curl1417.out --include --trace-ascii log/7/trace1417 --trace-config all --trace-time http://127.0.0.1:43753/1417 -D log/7/heads1417 > log/7/stdout1417 2> log/7/stderr1417 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1413 ../src/curl -q --output log/5/curl1413.out --include --trace-ascii log/5/trace1413 --trace-config all --trace-time http://127.0.0.1:34719/this/1413 -L > log/5/stdout1413 2> log/5/stderr1413 nt: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1411 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1411 ==150186== ==150186== Process terminating with default action of signal 4 (SIGILL) ==150186== Illegal opcode at address 0x10B08D ==150186== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150186== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1411 test 1412...[HTTP GET with --anyauth with two URLs (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1412 ../src/curl -q --output log/8/curl1412.out --include --trace-ascii log/8/trace1412 --trace-config all --trace-time http://127.0.0.1:43803/1412 -u testuser:testpass --anyauth http://127.0.0.1:43803/14120001 > log/8/stdout1412 2> log/8/stderr1412 1412: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1412 === Start of file http_server.log 02:03:18.490006 ====> Client connect 02:03:18.490040 accept_connection 3 returned 4 02:03:18.490057 accept_connection 3 returned 0 02:03:18.490073 Read 93 bytes 02:03:18.490084 Process 93 bytes request 02:03:18.490097 Got request: GET /verifiedserver HTTP/1.1 02:03:18.490107 Are-we-friendly question received 02:03:18.490130 Wrote request (93 bytes) input to log/8/server.input 02:03:18.490147 Identifying ourselves as friends 02:03:18.490217 Response sent (56 bytes) and written to log/8/server.response 02:03:18.490229 special request received, no persistency 02:03:18.490239 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd auth_required Testnum 1412 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1412 ==150303== ==150303== Process terminating with default action of signal 4 (SIGILL) ==150303== Illegal opcode at address 0x10B08D ==150303== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150303== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1412 test 1416...[HTTP GET with chunked Transfer-Encoding overflowed chunked size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1416 ../src/curl -q --output log/12/curl1416.out --include --trace-ascii log/12/trace1416 --trace-config all --trace-time http://127.0.0.1:40653/1416 > log/12/stdout1416 2> log/12/stderr1416 1416: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1416 === Start of file http_server.log 02:03:18.708696 ====> Client connect 02:03:18.708731 accept_connection 3 returned 4 02:03:18.708748 accept_connection 3 returned 0 02:03:18.708762 Read 93 bytes 02:03:18.708773 Process 93 bytes request 02:03:18.708785 Got request: GET /verifiedserver HTTP/1.1 02:03:18.708795 Are-we-friendly question received 02:03:18.708821 Wrote request (93 bytes) input to log/12/server.input 02:03:18.708839 Identifying ourselves as friends 02:03:18.708912 Response sent (56 bytes) and written to log/12/server.response 02:03:18.708924 special request received, no persistency 02:03:18.708933 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1416 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1416 ==150441== ==150441== Process terminating with default action of signal 4 (SIGILL) ==150441== Illegal opcode at address 0x10B08D ==150441== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150441== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1416 test 1413...[HTTP redirect with fragment in new URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1413 ../src/curl -q --output log/5/curl1413.out --include --trace-ascii log/5/trace1413 --trace-config all --trace-time http://127.0.0.1:34719/this/1413 -L > log/5/stdout1413 2> log/5/stderr1413 1413: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1413 === Start of file http_server.log 02:03:18.692283 ====> Client connect 02:03:18.692430 accept_connection 3 returned 4 02:03:18.692450 accept_connection 3 returned 0 02:03:18.692463 Read 93 bytes 02:03:18.692474 Process 93 bytes request 02:03:18.692490 Got request: GET /verifiedserver HTTP/1.1 02:03:18.692500 Are-we-friendly question received 02:03:18.692525 Wrote request (93 bytes) input to log/5/server.input 02:03:18.692543 Identifying ourselves as friends 02:03:18.692605 Response sent (57 bytes) and written to log/5/server.response 02:03:18.692617 special request received, no persistency 02:03:18.692626 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1413 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind1413 ==150423== ==150423== Process terminating with default action of signal 4 (SIGILL) ==150423== Illegal opcode at address 0x10B08D ==150423== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150423== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1413 test 1417...[HTTP GET with chunked encoding and chunked trailer without CRs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1417 ../src/curl -q --output log/7/curl1417.out --include --trace-ascii log/7/trace1417 --trace-config all --trace-timeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1415 ../src/curl -q --output log/1/curl1415.out --include --trace-ascii log/1/trace1415 --trace-config all --trace-time http://example.com/we/want/1415 -b none -c log/1/jar1415.txt -x 127.0.0.1:34215 > log/1/stdout1415 2> log/1/stderr1415 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1414 ../src/curl -q --output log/11/curl1414.out --include --trace-ascii log/11/trace1414 --trace-config all --trace-time ftp://127.0.0.1:45687/1414 -P - > log/11/stdout1414 2> log/11/stderr1414 http://127.0.0.1:43753/1417 -D log/7/heads1417 > log/7/stdout1417 2> log/7/stderr1417 1417: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1417 === Start of file http_server.log 02:03:18.747779 ====> Client connect 02:03:18.747820 accept_connection 3 returned 4 02:03:18.747838 accept_connection 3 returned 0 02:03:18.747853 Read 93 bytes 02:03:18.747863 Process 93 bytes request 02:03:18.747878 Got request: GET /verifiedserver HTTP/1.1 02:03:18.747888 Are-we-friendly question received 02:03:18.747913 Wrote request (93 bytes) input to log/7/server.input 02:03:18.747930 Identifying ourselves as friends 02:03:18.748004 Response sent (56 bytes) and written to log/7/server.response 02:03:18.748015 special request received, no persistency 02:03:18.748024 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1417 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1417 ==150585== ==150585== Process terminating with default action of signal 4 (SIGILL) ==150585== Illegal opcode at address 0x10B08D ==150585== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150585== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1417 setenv TZ = GMT test 1415...[Delete expired cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1415 ../src/curl -q --output log/1/curl1415.out --include --trace-ascii log/1/trace1415 --trace-config all --trace-time http://example.com/we/want/1415 -b none -c log/1/jar1415.txt -x 127.0.0.1:34215 > log/1/stdout1415 2> log/1/stderr1415 1415: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1415 === Start of file http_server.log 02:03:18.706125 ====> Client connect 02:03:18.706169 accept_connection 3 returned 4 02:03:18.706186 accept_connection 3 returned 0 02:03:18.706200 Read 93 bytes 02:03:18.706211 Process 93 bytes request 02:03:18.706226 Got request: GET /verifiedserver HTTP/1.1 02:03:18.706236 Are-we-friendly question received 02:03:18.706256 Wrote request (93 bytes) input to log/1/server.input 02:03:18.706273 Identifying ourselves as friends 02:03:18.706335 Response sent (56 bytes) and written to log/1/server.response 02:03:18.706346 special request received, no persistency 02:03:18.706356 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1415 ==150437== ==150437== Process terminating with default action of signal 4 (SIGILL) ==150437== Illegal opcode at address 0x10B08D ==150437== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150437== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1415 test 1414...[FTP PORT without SIZE or EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1414 ../src/curl -q --output log/11/curl1414.out --include --trace-ascii log/11/trace1414 --trace-config all --trace-time ftp://127.0.0.1:45687/1414 -P - > log/11/stdout1414 2> log/11/stderr1414 1414: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1414 === Start of file ftp_server.log 02:03:18.489792 ====> Client connect 02:03:18.489933 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:18.490212 < "USER anonymous" 02:03:18.490246 > "331 We are happy you popped in![CR][LF]" 02:03:18.490419 < "PASS ftp@example.com" 02:03:18.490449 > "230 Welcome you silly person[CR][LF]" 02:03:18.490610 < "PWD" 02:03:18.490641 > "257 "/" is current directory[CR][LF]" 02:03:18.490798 < "EPSV" 02:03:18.490822 ====> Passive DATA channel requested by client 02:03:18.490835 DATA sockfilt for passive data channel starting... 02:03:18.492512 DATA sockfilt for passive data channel started (pid 150401) 02:03:18.492610 DATA sockfilt for passive data channel listens on port 37811 02:03:18.492645 > "229 Entering Passive Mode (|||37811|)[LF]" 02:03:18.492664 Client has been notified that DATA conn will be accepted on port 37811 02:03:18.492887 Client connects to port 37811 02:03:18.492915 ====> Client established passive DATA connection on port 37811 02:03:18.492974 < "TYPE I" 02:03:18.493000 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:18.493148 < "SIZE verifiedserver" 02:03:18.493180 > "213 17[CR][LF]" 02:03:18.493332 < "RETR verifiedserver" 02:03:18.493371 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:18.493447 =====> Closing passive DATA connection... 02:03:18.493462 Server disconnects passive DATA connection 02:03:18.493533 Server disconnected passive DATA connection 02:03:18.493553 DATA sockfilt for passive data channel quits (pid 150401) 02:03:18.493737 DATA sockfilt for passive data channel quit (pid 150401) 02:03:18.493761 =====> Closed passive DATA connection 02:03:18.493787 > "226 File transfer complete[CR][LF]" 02:03:18.535744 < "QUIT" 02:03:18.535789 > "221 bye bye baby[CR][LF]" 02:03:18.536206 MAIN sockfilt said DISC 02:03:18.536235 ====> Client disconnected 02:03:18.536294 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:18.689836 ====> Client connect 02:03:18.690084 Received DATA (on stdin) 02:03:18.690101 > 160 bytes data, server => client 02:03:18.690114 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:18.690125 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:18.690136 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:18.690213 < 16 bytes data, client => server 02:03:18.690227 'USER anonymous\r\n' 02:03:18.690387 Received DATA (on stdin) 02:03:18.690400 > 33 bytes data, server => client 02:03:18.690412 '331 We are happy you popped in!\r\n' 02:03:18.690463 < 22 bytes data, client => server 02:03:18.690475 'PASS ftp@example.com\r\n' 02:03:18.690590 Received DATA (on stdin) 02:03:18.690602 > 30 bytes data, server => client 02:03:18.690614 '230 Welcome you silly person\r\n' 02:03:18.690665 < 5 bytes data, client => server 02:03:18.690677 'PWD\r\n' 02:03:18.690780 Received DATA (on stdin) 02:03:18.690792 > 30 bytes data, server => client 02:03:18.690802 '257 "/" is current directory\r\n' 02:03:18.690859 < 6 bytes data, client => server 02:03:18.690870 'EPSV\r\n' 02:03:18.69280CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1418 ../src/curl -q --output log/2/curl1418.out --include --trace-ascii log/2/trace1418 --trace-config all --trace-time http://127.0.0.1:38781/1418 -u testuser:testpass --anyauth http://127.0.0.1:38781/14180003 > log/2/stdout1418 2> log/2/stderr1418 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1419 ../src/curl -q --output log/6/curl1419.out --include --trace-ascii log/6/trace1419 --trace-config all --trace-time http://127.0.0.1:39457/1419 --anyauth http://127.0.0.1:39457/14190003 > log/6/stdout1419 2> log/6/stderr1419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1421 ../src/curl -q --include --trace-ascii log/10/trace1421 --trace-config all --trace-time --proxy http://127.0.0.1:42929 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/10/stdout1421 2> log/10/stderr1421 7 Received DATA (on stdin) 02:03:18.692821 > 38 bytes data, server => client 02:03:18.692833 '229 Entering Passive Mode (|||37811|)\n' 02:03:18.692947 < 8 bytes data, client => server 02:03:18.692963 'TYPE I\r\n' 02:03:18.693138 Received DATA (on stdin) 02:03:18.693149 > 33 bytes data, server => client 02:03:18.693160 '200 I modify TYPE as you wanted\r\n' 02:03:18.693209 < 21 bytes data, client => server 02:03:18.693222 'SIZE verifiedserver\r\n' 02:03:18.693319 Received DATA (on stdin) 02:03:18.693330 > 8 bytes data, server => client 02:03:18.693340 '213 17\r\n' 02:03:18.693390 < 21 bytes data, client => server 02:03:18.693401 'RETR verifiedserver\r\n' 02:03:18.693587 Received DATA (on stdin) 02:03:18.693601 > 29 bytes data, server => client 02:03:18.693611 '150 Binary junk (17 bytes).\r\n' 02:03:18.693926 Received DATA (on stdin) 02:03:18.693938 > 28 bytes data, server => client 02:03:18.693949 '226 File transfer complete\r\n' 02:03:18.735712 < 6 bytes data, client => server 02:03:18.735740 'QUIT\r\n' 02:03:18.735930 Received DATA (on stdin) 02:03:18.735942 > 18 bytes data, server => client 02:03:18.735953 '221 bye bye baby\r\n' 02:03:18.736296 ====> Client disconnect 02:03:18.736438 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:18.692368 Running IPv4 version 02:03:18.692538 Listening on port 37811 02:03:18.692579 Wrote pid 150401 to log/11/server/ftp_sockdata.pid 02:03:18.692597 Received PING (on stdin) 02:03:18.692673 Received PORT (on stdin) 02:03:18.692981 ====> Client connect 02:03:18.693520 Received DATA (on stdin) 02:03:18.693536 > 17 bytes data, server => client 02:03:18.693548 'WE ROOLZ: 80480\r\n' 02:03:18.693604 Received DISC (on stdin) 02:03:18.693618 ====> Client forcibly disconnected 02:03:18.693695 Received QUIT (on stdin) 02:03:18.693709 quits 02:03:18.693754 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 502 no such command REPLY EPRT 502 no such command Testnum 1414 === End of file server.cmd === Start of file valgrind1414 ==150524== ==150524== Process terminating with default action of signal 4 (SIGILL) ==150524== Illegal opcode at address 0x10B08D ==150524== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150524== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1414 test 1418...[HTTP with --anyauth and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1418 ../src/curl -q --output log/2/curl1418.out --include --trace-ascii log/2/trace1418 --trace-config all --trace-time http://127.0.0.1:38781/1418 -u testuser:testpass --anyauth http://127.0.0.1:38781/14180003 > log/2/stdout1418 2> log/2/stderr1418 1418: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1418 === Start of file http_server.log 02:03:18.967650 ====> Client connect 02:03:18.967684 accept_connection 3 returned 4 02:03:18.967701 accept_connection 3 returned 0 02:03:18.967717 Read 93 bytes 02:03:18.967727 Process 93 bytes request 02:03:18.967743 Got request: GET /verifiedserver HTTP/1.1 02:03:18.967753 Are-we-friendly question received 02:03:18.967777 Wrote request (93 bytes) input to log/2/server.input 02:03:18.967794 Identifying ourselves as friends 02:03:18.967861 Response sent (56 bytes) and written to log/2/server.response 02:03:18.967872 special request received, no persistency 02:03:18.967881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1418 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1418 ==150718== ==150718== Process terminating with default action of signal 4 (SIGILL) ==150718== Illegal opcode at address 0x10B08D ==150718== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150718== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1418 test 1419...[HTTP with --anyauth (but no auth!) and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1419 ../src/curl -q --output log/6/curl1419.out --include --trace-ascii log/6/trace1419 --trace-config all --trace-time http://127.0.0.1:39457/1419 --anyauth http://127.0.0.1:39457/14190003 > log/6/stdout1419 2> log/6/stderr1419 1419: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1419 === Start of file http_server.log 02:03:18.983715 ====> Client connect 02:03:18.983749 accept_connection 3 returned 4 02:03:18.983767 accept_connection 3 returned 0 02:03:18.983782 Read 93 bytes 02:03:18.983793 Process 93 bytes request 02:03:18.983809 Got request: GET /verifiedserver HTTP/1.1 02:03:18.983820 Are-we-friendly question received 02:03:18.983842 Wrote request (93 bytes) input to log/6/server.input 02:03:18.983859 Identifying ourselves as friends 02:03:18.983939 Response sent (56 bytes) and written to log/6/server.response 02:03:18.983951 special request received, no persistency 02:03:18.983961 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1419 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1419 ==150723== ==150723== Process terminating with default action of signal 4 (SIGILL) ==150723== Illegal opcode at address 0x10B08D ==150723== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150723== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1424 ../src/curl -q --trace-ascii log/8/trace1424 --trace-config all --trace-time http://127.0.0.1:43803/1424 -z "dec 12 11:00:00 1999 GMT" -o log/8/outfile1424 > log/8/stdout1424 2> log/8/stderr1424 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1423 ../src/curl -q --trace-ascii log/9/trace1423 --trace-config all --trace-time http://127.0.0.1:38509/1423 -o log/9/outfile1423 file:///startdir/src/build-curl/tests/log/9/outfile1423 > log/9/stdout1423 2> log/9/stderr1423 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1420 ../src/curl -q --output log/3/curl1420.out --include --trace-ascii log/3/trace1420 --trace-config all --trace-time 'imap://127.0.0.1:36589/1420/;MAILINDEX=1' -u user:secret --libcurl log/3/test1420.c > log/3/stdout1420 2> log/3/stderr1420 test 1421...[Re-using HTTP proxy connection for two different host names] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1421 ../src/curl -q --include --trace-ascii log/10/trace1421 --trace-config all --trace-time --proxy http://127.0.0.1:42929 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/10/stdout1421 2> log/10/stderr1421 1421: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:19.606902400 +0000 +++ log/10/check-generated 2024-12-15 02:03:19.606902400 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK[LF] -Unknown-header: blrub[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] -HTTP/1.1 200 OK[LF] -Unknown-header: blrub[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/10/ dir after test 1421 === Start of file check-expected HTTP/1.1 200 OK[LF] Unknown-header: blrub[LF] Content-Length: 6[LF] [LF] -foo-[LF] HTTP/1.1 200 OK[LF] Unknown-header: blrub[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file http_server.log 02:03:19.125505 ====> Client connect 02:03:19.125539 accept_connection 3 returned 4 02:03:19.125557 accept_connection 3 returned 0 02:03:19.125570 Read 93 bytes 02:03:19.125581 Process 93 bytes request 02:03:19.125602 Got request: GET /verifiedserver HTTP/1.1 02:03:19.125612 Are-we-friendly question received 02:03:19.125636 Wrote request (93 bytes) input to log/10/server.input 02:03:19.125655 Identifying ourselves as friends 02:03:19.125725 Response sent (56 bytes) and written to log/10/server.response 02:03:19.125738 special request received, no persistency 02:03:19.125748 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1421 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1421 ==150873== ==150873== Process terminating with default action of signal 4 (SIGILL) ==150873== Illegal opcode at address 0x10B08D ==150873== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150873== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1421 test 1424...[HTTP GET -o fname without Content-Disposition (unmet time condition)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1424 ../src/curl -q --trace-ascii log/8/trace1424 --trace-config all --trace-time http://127.0.0.1:43803/1424 -z "dec 12 11:00:00 1999 GMT" -o log/8/outfile1424 > log/8/stdout1424 2> log/8/stderr1424 1424: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1424 === Start of file http_server.log 02:03:19.173472 ====> Client connect 02:03:19.173507 accept_connection 3 returned 4 02:03:19.173526 accept_connection 3 returned 0 02:03:19.173541 Read 93 bytes 02:03:19.173552 Process 93 bytes request 02:03:19.173567 Got request: GET /verifiedserver HTTP/1.1 02:03:19.173578 Are-we-friendly question received 02:03:19.173601 Wrote request (93 bytes) input to log/8/server.input 02:03:19.173620 Identifying ourselves as friends 02:03:19.173691 Response sent (56 bytes) and written to log/8/server.response 02:03:19.173702 special request received, no persistency 02:03:19.173712 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file outfile1424 original contents === End of file outfile1424 === Start of file server.cmd Testnum 1424 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1424 ==150996== ==150996== Process terminating with default action of signal 4 (SIGILL) ==150996== Illegal opcode at address 0x10B08D ==150996== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150996== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1424 test 1423...[HTTP GET -o fname without Content-Disposition (empty file)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1423 ../src/curl -q --trace-ascii log/9/trace1423 --trace-config all --trace-time http://127.0.0.1:38509/1423 -o log/9/outfile1423 file:///startdir/src/build-curl/tests/log/9/outfile1423 > log/9/stdout1423 2> log/9/stderr1423 1423: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1423 === Start of file http_server.log 02:03:19.150723 ====> Client connect 02:03:19.150756 accept_connection 3 returned 4 02:03:19.150773 accept_connection 3 returned 0 02:03:19.150787 Read 93 bytes 02:03:19.150799 Process 93 bytes request 02:03:19.150814 Got request: GET /verifiedserver HTTP/1.1 02:03:19.150824 Are-we-friendly question received 02:03:19.150847 Wrote request (93 bytes) input to log/9/server.input 02:03:19.150864 Identifying ourselves as friends 02:03:19.150934 Response sent (56 bytes) and written to log/9/server.response 02:03:19.150947 special request received, no persistency 02:03:19.150958 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1423 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1423 ==150916== ==150916== Process terminating with default action of signal 4 (SIGILL) ==150916== Illegal opcode at address 0x10B08D ==150916== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150916== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1423 setenv SSL_CERT_FILE = test 1420...[--libcurl for IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1420 ../src/curl -q --output log/3/curl1420.out --include --trace-ascii log/3/trace1420 --trace-config all --trace-time 'imap://127.0.0.1:36589/1420/;MAILINDEX=1' -u user:secret --libcurl log/3/test1420.c > log/3/stdout1420 2> log/3/stderr1420 1420: protocol FAILED! There was no content at all in the file log/3/server.input. ServeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1422 ../src/curl -q --trace-ascii log/4/trace1422 --trace-config all --trace-time http://127.0.0.1:36813/1422 -J -O file:///startdir/src/build-curl/tests/log/4/name1422 --output-dir log/4 > log/4/stdout1422 2> log/4/stderr1422 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1427 ../src/curl -q --output log/12/curl1427.out --include --trace-ascii log/12/trace1427 --trace-config all --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/12/stdout1427 2> log/12/stderr1427 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1430 ../src/curl -q --output log/1/curl1430.out --include --trace-ascii log/1/trace1430 --trace-config all --trace-time http://127.0.0.1:34215/1430 > log/1/stdout1430 2> log/1/stderr1430 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1429 ../src/curl -q --include --trace-ascii log/7/trace1429 --trace-config all --trace-time http://127.0.0.1:43753/1429 --write-out '%{response_code}' > log/7/stdout1429 2> log/7/stderr1429 r glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1420 === Start of file imap_server.log 02:03:18.924982 ====> Client connect 02:03:18.925118 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:03:18.925386 < "A001 CAPABILITY" 02:03:18.925495 > "A001 BAD Command[CR][LF]" 02:03:18.925649 < "A002 LIST "verifiedserver" *" 02:03:18.925672 LIST_imap got "verifiedserver" * 02:03:18.925694 > "* LIST () "/" "WE ROOLZ: 114723"[CR][LF]" 02:03:18.925709 > "A002 OK LIST Completed[CR][LF]" 02:03:18.925721 return proof we are we 02:03:18.968846 < "A003 LOGOUT" 02:03:18.968894 > "* BYE curl IMAP server signing off[CR][LF]" 02:03:18.968912 > "A003 OK LOGOUT completed[CR][LF]" 02:03:19.014167 MAIN sockfilt said DISC 02:03:19.014231 ====> Client disconnected 02:03:19.014304 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:03:18.123885 ====> Client connect 02:03:18.125266 Received DATA (on stdin) 02:03:18.125282 > 178 bytes data, server => client 02:03:18.125294 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:03:18.125306 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:03:18.125317 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:03:18.125326 'rve\r\n' 02:03:18.125405 < 17 bytes data, client => server 02:03:18.125417 'A001 CAPABILITY\r\n' 02:03:18.125635 Received DATA (on stdin) 02:03:18.125646 > 18 bytes data, server => client 02:03:18.125656 'A001 BAD Command\r\n' 02:03:18.125710 < 30 bytes data, client => server 02:03:18.125721 'A002 LIST "verifiedserver" *\r\n' 02:03:18.125857 Received DATA (on stdin) 02:03:18.125867 > 34 bytes data, server => client 02:03:18.125878 '* LIST () "/" "WE ROOLZ: 114723"\r\n' 02:03:18.125899 Received DATA (on stdin) 02:03:18.125909 > 24 bytes data, server => client 02:03:18.125919 'A002 OK LIST Completed\r\n' 02:03:18.168813 < 13 bytes data, client => server 02:03:18.168838 'A003 LOGOUT\r\n' 02:03:18.169057 Received DATA (on stdin) 02:03:18.169070 > 36 bytes data, server => client 02:03:18.169081 '* BYE curl IMAP server signing off\r\n' 02:03:18.169109 Received DATA (on stdin) 02:03:18.169120 > 26 bytes data, server => client 02:03:18.169130 'A003 OK LOGOUT completed\r\n' 02:03:18.214216 ====> Client disconnect 02:03:18.214447 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1420 === End of file server.cmd === Start of file valgrind1420 ==151081== ==151081== Process terminating with default action of signal 4 (SIGILL) ==151081== Illegal opcode at address 0x10B08D ==151081== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151081== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1420 test 1422...[HTTP GET with -O -J and Content-Disposition (empty file)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1422 ../src/curl -q --trace-ascii log/4/trace1422 --trace-config all --trace-time http://127.0.0.1:36813/1422 -J -O file:///startdir/src/build-curl/tests/log/4/name1422 --output-dir log/4 > log/4/stdout1422 2> log/4/stderr1422 1422: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1422 === Start of file http_server.log 02:03:19.133010 ====> Client connect 02:03:19.133040 accept_connection 3 returned 4 02:03:19.133058 accept_connection 3 returned 0 02:03:19.133073 Read 93 bytes 02:03:19.133092 Process 93 bytes request 02:03:19.133105 Got request: GET /verifiedserver HTTP/1.1 02:03:19.133116 Are-we-friendly question received 02:03:19.133139 Wrote request (93 bytes) input to log/4/server.input 02:03:19.133158 Identifying ourselves as friends 02:03:19.133236 Response sent (56 bytes) and written to log/4/server.response 02:03:19.133250 special request received, no persistency 02:03:19.133260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1422 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1422 ==150892== ==150892== Process terminating with default action of signal 4 (SIGILL) ==150892== Illegal opcode at address 0x10B08D ==150892== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==150892== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1422 * starts no server test 1427...[too large -m timeout value] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1427 ../src/curl -q --output log/12/curl1427.out --include --trace-ascii log/12/trace1427 --trace-config all --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/12/stdout1427 2> log/12/stderr1427 curl returned 132, when expecting 2 1427: exit FAILED == Contents of files in the log/12/ dir after test 1427 === Start of file server.cmd Testnum 1427 === End of file server.cmd === Start of file valgrind1427 ==151148== ==151148== Process terminating with default action of signal 4 (SIGILL) ==151148== Illegal opcode at address 0x10B08D ==151148== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151148== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1427 test 1430...[HTTP GET with negative response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1430 ../src/curl -q --output log/1/curl1430.out --include --trace-ascii log/1/trace1430 --trace-config all --trace-time http://127.0.0.1:34215/1430 > log/1/stdout1430 2> log/1/stderr1430 1430: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1430 === Start of file http_server.log 02:03:19.443626 ====> Client connect 02:03:19.443659 accept_connection 3 returned 4 02:03:19.443677 accept_connection 3 returned 0 02:03:19.443692 Read 93 bytes 02:03:19.443704 Process 93 bytes request 02:03:19.443720 Got request: GET /verifiedserver HTTP/1.1 02:03:19.443730 Are-we-friendly question received 02:03:19.443754 Wrote request (93 bytes) input to log/1/server.input 02:03:19.443773 Identifying ourselves as friends 02:03:19.443847 Response sent (56 bytes) and written to log/1/server.response 02:03:19.443860 special request received, no persistency 02:03:19.443870 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1430 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1430 ==151250== ==151250== Process terminating with default action of signal 4 (SIGILL) ==151250== Illegal opcode at address 0x10B08D ==151250== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151250== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1430 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1431 ../src/curl -q --output log/11/curl1431.out --include --trace-ascii log/11/trace1431 --trace-config all --trace-time http://127.0.0.1:44137/1431 > log/11/stdout1431 2> log/11/stderr1431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1433 ../src/curl -q --output log/6/curl1433.out --include --trace-ascii log/6/trace1433 --trace-config all --trace-time http://127.0.0.1:39457/1433 > log/6/stdout1433 2> log/6/stderr1433 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1428 ../src/curl -q --output log/5/curl1428.out --include --trace-ascii log/5/trace1428 --trace-config all --trace-time http://test.1428:34719/we/want/that/page/1428 -p -x 127.0.0.1:41401 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/5/stdout1428 2> log/5/stderr1428 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1432 ../src/curl -q --output log/2/curl1432.out --include --trace-ascii log/2/trace1432 --trace-config all --trace-time http://127.0.0.1:38781/1432 > log/2/stdout1432 2> log/2/stderr1432 test 1429...[HTTP GET with 999 response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1429 ../src/curl -q --include --trace-ascii log/7/trace1429 --trace-config all --trace-time http://127.0.0.1:43753/1429 --write-out '%{response_code}' > log/7/stdout1429 2> log/7/stderr1429 1429: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:19.813572742 +0000 +++ log/7/check-generated 2024-12-15 02:03:19.813572742 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 999 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] --foo-[LF] -999 == Contents of files in the log/7/ dir after test 1429 === Start of file check-expected HTTP/1.1 999 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] -foo-[LF] 999 === End of file check-expected === Start of file http_server.log 02:03:19.447343 ====> Client connect 02:03:19.447379 accept_connection 3 returned 4 02:03:19.447398 accept_connection 3 returned 0 02:03:19.447412 Read 93 bytes 02:03:19.447423 Process 93 bytes request 02:03:19.447435 Got request: GET /verifiedserver HTTP/1.1 02:03:19.447446 Are-we-friendly question received 02:03:19.447472 Wrote request (93 bytes) input to log/7/server.input 02:03:19.447490 Identifying ourselves as friends 02:03:19.447564 Response sent (56 bytes) and written to log/7/server.response 02:03:19.447577 special request received, no persistency 02:03:19.447587 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1429 ==151277== ==151277== Process terminating with default action of signal 4 (SIGILL) ==151277== Illegal opcode at address 0x10B08D ==151277== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151277== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1429 test 1431...[HTTP GET with single-digit response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1431 ../src/curl -q --output log/11/curl1431.out --include --trace-ascii log/11/trace1431 --trace-config all --trace-time http://127.0.0.1:44137/1431 > log/11/stdout1431 2> log/11/stderr1431 1431: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1431 === Start of file http_server.log 02:03:19.446440 ====> Client connect 02:03:19.446470 accept_connection 3 returned 4 02:03:19.446488 accept_connection 3 returned 0 02:03:19.446502 Read 93 bytes 02:03:19.446514 Process 93 bytes request 02:03:19.446527 Got request: GET /verifiedserver HTTP/1.1 02:03:19.446537 Are-we-friendly question received 02:03:19.446566 Wrote request (93 bytes) input to log/11/server.input 02:03:19.446585 Identifying ourselves as friends 02:03:19.446654 Response sent (56 bytes) and written to log/11/server.response 02:03:19.446666 special request received, no persistency 02:03:19.446676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1431 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1431 ==151257== ==151257== Process terminating with default action of signal 4 (SIGILL) ==151257== Illegal opcode at address 0x10B08D ==151257== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151257== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1431 test 1433...[HTTP GET with 100-digit subversion number in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1433 ../src/curl -q --output log/6/curl1433.out --include --trace-ascii log/6/trace1433 --trace-config all --trace-time http://127.0.0.1:39457/1433 > log/6/stdout1433 2> log/6/stderr1433 1433: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1433 === Start of file http_server.log 02:03:19.656669 ====> Client connect 02:03:19.656692 accept_connection 3 returned 4 02:03:19.656706 accept_connection 3 returned 0 02:03:19.656717 Read 93 bytes 02:03:19.656728 Process 93 bytes request 02:03:19.656742 Got request: GET /verifiedserver HTTP/1.1 02:03:19.656749 Are-we-friendly question received 02:03:19.656767 Wrote request (93 bytes) input to log/6/server.input 02:03:19.656781 Identifying ourselves as friends 02:03:19.656830 Response sent (56 bytes) and written to log/6/server.response 02:03:19.656839 special request received, no persistency 02:03:19.656848 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1433 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1433 ==151504== ==151504== Process terminating with default action of signal 4 (SIGILL) ==151504== Illegal opcode at address 0x10B08D ==151504== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151504== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1433 test 1432...[HTTP GET with 100-digit response code and survive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1432 ../src/curl -q --output log/2/curl1432.out --include --trace-ascii log/2/trace1432 --trace-config all --trace-time http://127.0.0.1:38781/1432 > log/2/stdout1432 2> log/2/stderr1432 1432: protocol FAILED! There was noCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1434 ../src/curl -q --output log/10/curl1434.out --include --trace-ascii log/10/trace1434 --trace-config all --trace-time http://127.0.0.1:42929/1434 -C 100 > log/10/stdout1434 2> log/10/stderr1434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1437 ../src/curl -q --output log/4/curl1437.out --include --trace-ascii log/4/trace1437 --trace-config all --trace-time http://127.0.0.1:36813/1437 -u testuser:testpass --digest > log/4/stdout1437 2> log/4/stderr1437 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1438 ../src/curl -q --include --trace-ascii log/8/trace1438 --trace-config all --trace-time http://127.0.0.1:43803/1438 --write-out '%{scheme}' > log/8/stdout1438 2> log/8/stderr1438 content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1432 === Start of file http_server.log 02:03:19.653171 ====> Client connect 02:03:19.653208 accept_connection 3 returned 4 02:03:19.653225 accept_connection 3 returned 0 02:03:19.653239 Read 93 bytes 02:03:19.653249 Process 93 bytes request 02:03:19.653264 Got request: GET /verifiedserver HTTP/1.1 02:03:19.653273 Are-we-friendly question received 02:03:19.653298 Wrote request (93 bytes) input to log/2/server.input 02:03:19.653316 Identifying ourselves as friends 02:03:19.653383 Response sent (56 bytes) and written to log/2/server.response 02:03:19.653395 special request received, no persistency 02:03:19.653404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1432 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1432 ==151503== ==151503== Process terminating with default action of signal 4 (SIGILL) ==151503== Illegal opcode at address 0x10B08D ==151503== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151503== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1432 test 1428...[HTTP over proxy-tunnel with --proxy-header and --header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1428 ../src/curl -q --output log/5/curl1428.out --include --trace-ascii log/5/trace1428 --trace-config all --trace-time http://test.1428:34719/we/want/that/page/1428 -p -x 127.0.0.1:41401 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/5/stdout1428 2> log/5/stderr1428 1428: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1428 === Start of file http2_server.log 02:03:19.473528 ====> Client connect 02:03:19.473560 accept_connection 3 returned 4 02:03:19.473576 accept_connection 3 returned 0 02:03:19.473590 Read 93 bytes 02:03:19.473601 Process 93 bytes request 02:03:19.473616 Got request: GET /verifiedserver HTTP/1.1 02:03:19.473627 Are-we-friendly question received 02:03:19.473649 Wrote request (93 bytes) input to log/5/proxy.input 02:03:19.473666 Identifying ourselves as friends 02:03:19.473727 Response sent (57 bytes) and written to log/5/proxy.response 02:03:19.473738 special request received, no persistency 02:03:19.473748 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41401... * Connected to 127.0.0.1 (127.0.0.1) port 41401 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41401 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 144522 === End of file http2_verify.out === Start of file http_server.log 02:03:19.449491 ====> Client connect 02:03:19.449633 accept_connection 3 returned 4 02:03:19.449648 accept_connection 3 returned 0 02:03:19.449660 Read 93 bytes 02:03:19.449669 Process 93 bytes request 02:03:19.449679 Got request: GET /verifiedserver HTTP/1.1 02:03:19.449687 Are-we-friendly question received 02:03:19.449706 Wrote request (93 bytes) input to log/5/server.input 02:03:19.449721 Identifying ourselves as friends 02:03:19.449783 Response sent (57 bytes) and written to log/5/server.response 02:03:19.449794 special request received, no persistency 02:03:19.449806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 144522 === End of file proxy.response === Start of file server.cmd Testnum 1428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind1428 ==151344== ==151344== Process terminating with default action of signal 4 (SIGILL) ==151344== Illegal opcode at address 0x10B08D ==151344== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151344== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1428 test 1434...[HTTP GET resume at exactly the existing file size is fine] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1434 ../src/curl -q --output log/10/curl1434.out --include --trace-ascii log/10/trace1434 --trace-config all --trace-time http://127.0.0.1:42929/1434 -C 100 > log/10/stdout1434 2> log/10/stderr1434 1434: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1434 === Start of file curl1434.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1434.out === Start of file http_server.log 02:03:19.860924 ====> Client connect 02:03:19.860959 accept_connection 3 returned 4 02:03:19.860976 accept_connection 3 returned 0 02:03:19.860992 Read 93 bytes 02:03:19.861003 Process 93 bytes request 02:03:19.861019 Got request: GET /verifiedserver HTTP/1.1 02:03:19.861029 Are-we-friendly question received 02:03:19.861054 Wrote request (93 bytes) input to log/10/server.input 02:03:19.861072 Identifying ourselves as friends 02:03:19.861145 Response sent (56 bytes) and written to log/10/server.response 02:03:19.861157 special request received, no persistency 02:03:19.861167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1434 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1434 ==151650== ==151650== Process terminating with default action of signal 4 (SIGILL) ==151650== Illegal opcode at address 0x10B08D ==151650== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151650== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1434 test 1437...[HTTP with duplicated WWW-Authenticate parameters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1437 ../src/curl -q --output log/4/curl1437.out --include --trace-ascii log/4/trace1437 --trace-config all --trace-time http://127.0.0.1:36813/1437 -u testuser:testpass --digest > log/4/stdout1437 2> log/4/stderr1437 1437: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1437 === Start of file http_server.log 02:03:19.876614 ====> Client connect 02:03:19.876645 accept_connection 3 returned 4 02:03:19.876662 accept_connection 3 returned 0 02:03:19.876677 Read 93 bytes 02:03:19.876688 Process 93 bytes request 02:03:19.876703 Got request: GET /verifiedserver HTTP/1.1 02:03:19.876713 Are-we-friendly question received 02:03:19.876735 Wrote request (93 bytes) input to log/4/server.input 02:03:19.876752 Identifying ourselves as friends 02:03:19.876815 Response sent (56 bytes) and written to log/4/server.response 02:03:19.876826 special request received, no persistency 02:03:19.876836 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1437 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1437 ==151662== ==151662== Process terminating with default action of signal 4 (SIGILL) ==151662== Illegal opcode at address 0x10B08D ==151662== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151662== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1437 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1441 ../src/curl -q --include --trace-ascii log/1/trace1441 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/1/non-existent-file.txt --write-out '%' > log/1/stdout1441 2> log/1/stderr1441 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1439 ../src/curl -q --include --trace-ascii log/12/trace1439 --trace-config all --trace-time http://127.0.0.1:40653/1439 --write-out '%{http_version}' > log/12/stdout1439 2> log/12/stderr1439 test 1438...[Check if %{scheme} returns HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1438 ../src/curl -q --include --trace-ascii log/8/trace1438 --trace-config all --trace-time http://127.0.0.1:43803/1438 --write-out '%{scheme}' > log/8/stdout1438 2> log/8/stderr1438 1438: stdout FAILED: --- log/8/check-expected 2024-12-15 02:03:20.256913958 +0000 +++ log/8/check-generated 2024-12-15 02:03:20.256913958 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -http == Contents of files in the log/8/ dir after test 1438 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] http === End of file check-expected === Start of file http_server.log 02:03:19.887081 ====> Client connect 02:03:19.887119 accept_connection 3 returned 4 02:03:19.887135 accept_connection 3 returned 0 02:03:19.887149 Read 93 bytes 02:03:19.887159 Process 93 bytes request 02:03:19.887172 Got request: GET /verifiedserver HTTP/1.1 02:03:19.887181 Are-we-friendly question received 02:03:19.887203 Wrote request (93 bytes) input to log/8/server.input 02:03:19.888909 Identifying ourselves as friends 02:03:19.888992 Response sent (56 bytes) and written to log/8/server.response 02:03:19.889004 special request received, no persistency 02:03:19.889014 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1438 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1438 ==151685== ==151685== Process terminating with default action of signal 4 (SIGILL) ==151685== Illegal opcode at address 0x10B08D ==151685== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151685== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1438 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1440 ../src/curl -q --include --trace-ascii log/7/trace1440 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/7/non-existent-file.txt --write-out '%{' > log/7/stdout1440 2> log/7/stderr1440 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1442 ../src/curl -q --include --trace-ascii log/11/trace1442 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/11/non-existent-file.txt --write-out '\' > log/11/stdout1442 2> log/11/stderr1442 test 1439...[Check if %{http_version} returns 1.1] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1439 ../src/curl -q --include --trace-ascii log/12/trace1439 --trace-config all --trace-time http://127.0.0.1:40653/1439 --write-out '%{http_version}' > log/12/stdout1439 2> log/12/stderr1439 1439: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:20.396916445 +0000 +++ log/12/check-generated 2024-12-15 02:03:20.396916445 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -1.1 == Contents of files in the log/12/ dir after test 1439 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] 1.1 === End of file check-expected === Start of file http_server.log 02:03:20.024419 ====> Client connect 02:03:20.024457 accept_connection 3 returned 4 02:03:20.024476 accept_connection 3 returned 0 02:03:20.024490 Read 93 bytes 02:03:20.024501 Process 93 bytes request 02:03:20.024516 Got request: GET /verifiedserver HTTP/1.1 02:03:20.024525 Are-we-friendly question received 02:03:20.024549 Wrote request (93 bytes) input to log/12/server.input 02:03:20.024567 Identifying ourselves as friends 02:03:20.024641 Response sent (56 bytes) and written to log/12/server.response 02:03:20.024653 special request received, no persistency 02:03:20.024662 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1439 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1439 ==151820== ==151820== Process terminating with default action of signal 4 (SIGILL) ==151820== Illegal opcode at address 0x10B08D ==151820== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151820== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1439 /usr/bin/env: ‘python3’: No such file or directory test 1441...[Check --write-out with trailing %] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1441 ../src/curl -q --include --trace-ascii log/1/trace1441 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/1/non-existent-file.txt --write-out '%' > log/1/stdout1441 2> log/1/stderr1441 1441: stdout FAILED: --- log/1/check-expected 2024-12-15 02:03:20.403583230 +0000 +++ log/1/check-generated 2024-12-15 02:03:20.403583230 +0000 @@ -1 +0,0 @@ -% == Contents of files in the log/1/ dir after test 1441 === Start of file check-expected % === End of file check-expected === Start of file server.cmd Testnum 1441 === End of file server.cmd === Start of file valgrind1441 ==151818== ==151818== Process terminating with default action of signal 4 (SIGILL) ==151818== Illegal opcode at address 0x10B08D ==151818== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151818== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1441 test 1440...[Check --write-out with trailing %{] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1440 ../src/curl -q --include --trace-ascii log/7/trace1440 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/7/non-existent-file.txt --write-out '%{' > log/7/stdout1440 2> log/7/stderr1440 1440: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:20.410250017 +0000 +++ log/7/check-generated 2024-12-15 02:03:20.410250017 +0000 @@ -1 +0,0 @@ -%{ == Contents of files in the log/7/ dir after test 1440 === Start of file check-expected %{ === End of file check-expected === Start of file server.cmd Testnum 1440 === End of file server.cmd === Start of file valgrind1440 ==151819== ==151819== Process terminating with default action of signal 4 (SIGILL) ==151819== Illegal opcode at address 0x10B08D ==151819== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151819== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1440 /usr/bin/env: ‘python3’: No such file or directory /usr/bin/env: ‘python3’: No such file or directory CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1445 ../src/curl -q --output log/2/curl1445.out --include --trace-ascii log/2/trace1445 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test1445.dir/plainfile.txt --remote-time > log/2/stdout1445 2> log/2/stderr1445 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/2/test1445.dir && \ /usr/bin/perl -e 'exit((stat("log/2/curl1445.out"))[9] != 946728000)' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1444 ../src/curl -q --output log/5/curl1444.out --include --trace-ascii log/5/trace1444 --trace-config all --trace-time ftp://127.0.0.1:36485/1444 --remote-time > log/5/stdout1444 2> log/5/stderr1444 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1443 ../src/curl -q --trace-ascii log/6/trace1443 --trace-config all --trace-time http://127.0.0.1:39457/1443 -O --remote-time --output-dir log/6 > log/6/stdout1443 2> log/6/stderr1443 CMD (256): /usr/bin/perl -e 'exit((stat("log/6/1443"))[9] != 960898200)' CMD (256): /usr/bin/perl -e 'exit((stat("log/5/curl1444.out"))[9] != 1234567890)' test 1442...[Check --write-out with trailing \] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1442 ../src/curl -q --include --trace-ascii log/11/trace1442 --trace-config all --trace-time file://localhost//startdir/src/build-curl/tests/log/11/non-existent-file.txt --write-out '\' > log/11/stdout1442 2> log/11/stderr1442 1442: stdout FAILED: --- log/11/check-expected 2024-12-15 02:03:20.416916802 +0000 +++ log/11/check-generated 2024-12-15 02:03:20.416916802 +0000 @@ -1 +0,0 @@ -\ == Contents of files in the log/11/ dir after test 1442 === Start of file check-expected \ === End of file check-expected === Start of file server.cmd Testnum 1442 === End of file server.cmd === Start of file valgrind1442 ==151844== ==151844== Process terminating with default action of signal 4 (SIGILL) ==151844== Illegal opcode at address 0x10B08D ==151844== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==151844== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1442 prechecked /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl prepare /startdir/src/build-curl/tests/log/2/test1445.dir test 1445...[file:// with --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1445 ../src/curl -q --output log/2/curl1445.out --include --trace-ascii log/2/trace1445 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test1445.dir/plainfile.txt --remote-time > log/2/stdout1445 2> log/2/stderr1445 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/2/test1445.dir && \ /usr/bin/perl -e 'exit((stat("log/2/curl1445.out"))[9] != 946728000)' 1445: postcheck FAILED == Contents of files in the log/2/ dir after test 1445 === Start of file server.cmd Testnum 1445 === End of file server.cmd === Start of file valgrind1445 ==152047== ==152047== Process terminating with default action of signal 4 (SIGILL) ==152047== Illegal opcode at address 0x10B08D ==152047== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152047== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1445 test 1444...[FTP with --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1444 ../src/curl -q --output log/5/curl1444.out --include --trace-ascii log/5/trace1444 --trace-config all --trace-time ftp://127.0.0.1:36485/1444 --remote-time > log/5/stdout1444 2> log/5/stderr1444 postcheck /usr/bin/perl -e 'exit((stat("log/5/curl1444.out"))[9] != 1234567890)' 1444: postcheck FAILED == Contents of files in the log/5/ dir after test 1444 === Start of file ftp_server.log 02:03:20.018841 ====> Client connect 02:03:20.018994 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:20.019372 < "USER anonymous" 02:03:20.019404 > "331 We are happy you popped in![CR][LF]" 02:03:20.019562 < "PASS ftp@example.com" 02:03:20.019585 > "230 Welcome you silly person[CR][LF]" 02:03:20.019726 < "PWD" 02:03:20.019754 > "257 "/" is current directory[CR][LF]" 02:03:20.019899 < "EPSV" 02:03:20.019923 ====> Passive DATA channel requested by client 02:03:20.019936 DATA sockfilt for passive data channel starting... 02:03:20.021959 DATA sockfilt for passive data channel started (pid 152049) 02:03:20.022052 DATA sockfilt for passive data channel listens on port 38221 02:03:20.022087 > "229 Entering Passive Mode (|||38221|)[LF]" 02:03:20.022103 Client has been notified that DATA conn will be accepted on port 38221 02:03:20.022322 Client connects to port 38221 02:03:20.022349 ====> Client established passive DATA connection on port 38221 02:03:20.022407 < "TYPE I" 02:03:20.022432 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:20.023019 < "SIZE verifiedserver" 02:03:20.023055 > "213 17[CR][LF]" 02:03:20.023205 < "RETR verifiedserver" 02:03:20.023236 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:20.023305 =====> Closing passive DATA connection... 02:03:20.023319 Server disconnects passive DATA connection 02:03:20.023540 Server disconnected passive DATA connection 02:03:20.023567 DATA sockfilt for passive data channel quits (pid 152049) 02:03:20.023846 DATA sockfilt for passive data channel quit (pid 152049) 02:03:20.023869 =====> Closed passive DATA connection 02:03:20.023894 > "226 File transfer complete[CR][LF]" 02:03:20.065492 < "QUIT" 02:03:20.065540 > "221 bye bye baby[CR][LF]" 02:03:20.065809 MAIN sockfilt said DISC 02:03:20.065837 ====> Client disconnected 02:03:20.065999 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:19.218884 ====> Client connect 02:03:19.219143 Received DATA (on stdin) 02:03:19.219158 > 160 bytes data, server => client 02:03:19.219170 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:19.219182 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:19.219288 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:19.219371 < 16 bytes data, client => server 02:03:19.219384 'USER anonymous\r\n' 02:03:19.219546 Received DATA (on stdin) 02:03:19.219558 > 33 bytes data, server => client 02:03:19.219569 '331 We are happy you popped in!\r\n' 02:03:19.219620 < 22 bytes data, client => server 02:03:19.219632 'PASS ftp@example.com\r\n' 02:03:19.219724 Received DATA (on stdin) 02:03:19.219735 > 30 bytes data, server => client 02:03:19.219745 '230 Welcome you silly person\r\n' 02:03:19.219790 < 5 bytes data, client => server 02:03:19.219801 'PWD\r\n' 02:03:19.219891 Received DATA (on stdin) 02:03:19.219901 > 30 bytes data, server => client 02:03:19.219912 '257 "/" is current directory\r\n' 02:03:19.219964 < 6 bytes data, client => server 02:03:19.219975 'EPSV\r\n' 02:03:19.222244 Received DATA (on stdin) 02:03:19.222257 > 38 bytes data, server => client 02:03:19.222268 '229 Entering Passive Mode (|||38221|)\n' 02:03:19.222410 < 8 bytes data, client => server 02:03:19.222422 'TYPE I\r\n' 02:03:19.222569 Received DATA (on stdin) 02:03:19.222580 > 33 bytes data, server => client 02:03:19.222591 '200 I modify TYPE as you wanted\r\n' 02:03:19.223065 < 21 bytes data, client => server 02:03:19.223083 'SIZE verifiedserver\r\n' 02:03:19.223195 Received DATA (on stdin) 02:03:19.223207 > 8 bytes data, server => client 02:03:19.223218 '213 17\r\n' 02:03:19.223267 < 21 bytes data, client => server 02:03:19.223279 'RETR verifiedserver\r\n' 02:03:19.223552 Received DATA (on stdin) 02:03:19.223565 > 29 bytes data, server => client 02:03:19.223577 '150 Binary junk (17 bytes).\r\n' 02:03:19.224033 Received DATA (on stdin) 02:03:19.224046 > 28 bytes data, server => client 02:03:19.224058 '226 File transfer complete\r\n' 02:03:19.265450 < 6 bytes data, client => server 02:03:19.265483 'QUIT\r\n' 02:03:19.265681 Received DATA (on stdin) 02:03:19.265692 > 18 bytes data, server => client 02:03:19.265703 '221 bye bye baby\r\n' 02:03:19.265893 ====> Client disconnect 02:03:19.266043 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:20.221781 Running IPv4 version 02:03:20.221834 Listening on port 38221 02:03:20.221872 Wrote pid 152049 to log/5/server/ftp_sockdata.pid 02:03:20.222039 Received PING (on stdin) 02:03:20.222117 Received PORT (on stdin) 02:03:20.222383 ====> Client connect 02:03:20.223459 Received DATA (on stdin) 02:03:20.223472 > 17 bytes data, server => client 02:03:20.223483 'WE ROOLZ: 80534\r\n' 02:03:20.223513 Received DISC (on stdin) 02:03:20.223528 ====> Client forcibly disconnected 02:03:20.223775 Received QUIT (on stdin) 02:03:20.223826 quits 02:03:20.223872 ============> sockfilt quits === End of file CMD (0): ../src/curl --max-time 13 --output log/9/http_unix_verify.out --silent --verbose --globoff --unix-socket '/tmp/curl-http-Fx0_yBJO' "http://127.0.0.1:80/verifiedserver" 2>log/9/http_unix_verify.log CMD (0): ../src/curl --max-time 13 --output log/3/http_unix_verify.out --silent --verbose --globoff --unix-socket '/tmp/curl-http-qXz7TM72' "http://127.0.0.1:80/verifiedserver" 2>log/3/http_unix_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1448 ../src/curl -q --include --trace-ascii log/4/trace1448 --trace-config all --trace-time http://åäö.se:36813/1448 --resolve xn--4cab6c.se:36813:127.0.0.1 -L --connect-to 127.0.0.1:36813:127.0.0.1:36813 > log/4/stdout1448 2> log/4/stderr1448 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1447 ../src/curl -q --output log/10/curl1447.out --include --trace-ascii log/10/trace1447 --trace-config all --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/10/stdout1447 2> log/10/stderr1447 ftp_sockdata.log === Start of file server.cmd Testnum 1444 === End of file server.cmd === Start of file valgrind1444 ==152138== ==152138== Process terminating with default action of signal 4 (SIGILL) ==152138== Illegal opcode at address 0x10B08D ==152138== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152138== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1444 test 1443...[HTTP GET with -O and --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1443 ../src/curl -q --trace-ascii log/6/trace1443 --trace-config all --trace-time http://127.0.0.1:39457/1443 -O --remote-time --output-dir log/6 > log/6/stdout1443 2> log/6/stderr1443 postcheck /usr/bin/perl -e 'exit((stat("log/6/1443"))[9] != 960898200)' 1443: postcheck FAILED == Contents of files in the log/6/ dir after test 1443 === Start of file http_server.log 02:03:20.219974 ====> Client connect 02:03:20.220004 accept_connection 3 returned 4 02:03:20.220020 accept_connection 3 returned 0 02:03:20.220033 Read 93 bytes 02:03:20.220044 Process 93 bytes request 02:03:20.220058 Got request: GET /verifiedserver HTTP/1.1 02:03:20.220067 Are-we-friendly question received 02:03:20.220088 Wrote request (93 bytes) input to log/6/server.input 02:03:20.220105 Identifying ourselves as friends 02:03:20.220167 Response sent (56 bytes) and written to log/6/server.response 02:03:20.220178 special request received, no persistency 02:03:20.220188 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1443 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1443 ==152060== ==152060== Process terminating with default action of signal 4 (SIGILL) ==152060== Illegal opcode at address 0x10B08D ==152060== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152060== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1443 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1449 ../src/curl -q --output log/8/curl1449.out --include --trace-ascii log/8/trace1449 --trace-config all --trace-time ftp://127.0.0.1:39101/1449 -r 36893488147419103232- > log/8/stdout1449 2> log/8/stderr1449 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 1448...[Redirect following to UTF-8 IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1448 ../src/curl -q --include --trace-ascii log/4/trace1448 --trace-config all --trace-time http://åäö.se:36813/1448 --resolve xn--4cab6c.se:36813:127.0.0.1 -L --connect-to 127.0.0.1:36813:127.0.0.1:36813 > log/4/stdout1448 2> log/4/stderr1448 1448: stdout FAILED: --- log/4/check-expected 2024-12-15 02:03:20.810257128 +0000 +++ log/4/check-generated 2024-12-15 02:03:20.810257128 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: http://%c3%a5%c3%a4%c3%b6.se:36813/14480001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] == Contents of files in the log/4/ dir after test 1448 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: http://%c3%a5%c3%a4%c3%b6.se:36813/14480001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] === End of file check-expected === Start of file http_server.log 02:03:20.482449 ====> Client connect 02:03:20.482480 accept_connection 3 returned 4 02:03:20.482496 accept_connection 3 returned 0 02:03:20.482510 Read 93 bytes 02:03:20.482522 Process 93 bytes request 02:03:20.482537 Got request: GET /verifiedserver HTTP/1.1 02:03:20.482547 Are-we-friendly question received 02:03:20.482568 Wrote request (93 bytes) input to log/4/server.input 02:03:20.482585 Identifying ourselves as friends 02:03:20.482649 Response sent (56 bytes) and written to log/4/server.response 02:03:20.482660 special request received, no persistency 02:03:20.482669 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1448 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1448 ==152255== ==152255== Process terminating with default action of signal 4 (SIGILL) ==152255== Illegal opcode at address 0x10B08D ==152255== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152255== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1448 * starts no server test 1447...[Provide illegal proxy name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1447 ../src/curl -q --output log/10/curl1447.out --include --trace-ascii log/10/trace1447 --trace-config all --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/10/stdout1447 2> log/10/stderr1447 curl returned 132, when expecting 5 1447: exit FAILED == Contents of files in the log/10/ dir after test 1447 === Start of file server.cmd Testnum 1447 === End of file server.cmd === Start of file valgrind1447 ==152209== ==152209== Process terminating with default action of signal 4 (SIGILL) ==152209== Illegal opcode at address 0x10B08D ==152209== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152209== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1447 test 1449...[FTP download range with integer overflow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1449 ../src/curl -q --output log/8/curl1449.out --include --trace-ascii log/8/trace1449 --trace-config all --trace-time ftp://127.0.0.1:39101/1449 -r 36893488147419103232- > log/8/stdout1449 2> log/8/stderr1449 1449: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1449 === Start of file ftp_server.log 02:03:20.292347 ====> Client connect 02:03:20.292482 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:20.292744 < "USER anonymous" 02:03:20.292775 > "331 We are happy you popped in![CR][LF]" 02:03:20.292933 < "PASS ftp@example.com" 02:03:20.292957 > "230 Welcome you silly person[CR][LF]" 02:03:20.293100 < "PWD" 02:03:20.293127 > "257 "/" is current directory[CR][LF]" 02:03:20.293279 < "EPSV" 02:03:20.293303 ====> Passive DATA channel requested by client 02:03:20.293315 DATA sockfilt for passive data channel starting... 02:03:20.295047 DATA sockfilt for passive data channel started (pid 152248) 02:03:20.295152 DATA sockfilt for passive data channel listens on port 40647 02:03:20.295190 > "229 Entering Passive Mode (|||40647|)[LF]" 02:03:20.295209 Client has been notified that DATA conn will be accepted on port 40647 02:03:20.295691 Client connects to port 40647 02:03:20.295720 ====> Client established passive DATA connection on port 40647 02:03:20.295779 < "TYPE I" 02:03:20.295805 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:20.295968 < "SIZE verifiedserver" 02:03:20.296003 > "213 17[CR][LF]" 02:03:20.296187 < "RETR verifiedserver" 02:03:20.296220 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:20.296291 =====> Closing passive DATA connection... 02:03:20.296306 Server disconnects passive DATA connection 02:03:20.296528 Server disconnected passive DATA connection 02:03:20.296555 DATA sockfilt for passive data channel quits (pid 152248) 02:03:20.296761 DATA sockfilt for passive data channel quit (pid 152248) 02:03:20.296786 =====> Closed passive DATA connection 02:03:20.296809 > "226 File transfer complete[CR][LF]" 02:03:20.338804 < "QUIT" 02:03:20.338858 > "221 bye bye baby[CR][LF]" 02:03:20.339814 MAIN sockfilt said DISC 02:03:20.339860 ====> Client disconnected 02:03:20.339921 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:20.492395 ====> Client connect 02:03:20.492630 Received DATA (on stdin) 02:03:20.492645 > 160 bytes data, server => client 02:03:20.492658 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:20.492670 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:20.492682 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:20.492752 < 16 bytes data, client => server 02:03:20.492766 'USER anonymous\r\n' 02:03:20.492916 Received DATA (on stdin) 02:03:20.492929 > 33 bytes data, server => client 02:03:20.492940 '331 We are happy you popped in!\r\n' 02:03:20.492991 < 22 bytes data, client => server 02:03:20.493004 'PASS ftp@example.com\r\n' 02:03:20.493094 Received DATA (on stdin) 02:03:20.493106 > 30 bytes data, server => client 02:03:20.493117 '230 Welcome you silly person\r\n' 02:03:20.493164 < 5 bytes data, client => server 02:03:20.493176 'PWD\r\n' 02:03:20.493265 Received DATA (on stdin) 02:03:20.493276 > 30 bytes data, server => client 02:03:20.493287 '257 "/" is current directory\r\n' 02:03:20.493343 < 6 bytes data, client => server 02:03:20.493354 'EPSV\r\n' 02:03:20.495354 Received DATA (on stdin) 02:03:20.495368 > 38 bytes data, server => client 02:03:20.495380 '229 Entering Passive Mode (|||40647|)\n' 02:03:20.495504 < 8 byteCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1453 ../src/curl -q --output log/1/curl1453.out --include --trace-ascii log/1/trace1453 --trace-config all --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/1/stdout1453 2> log/1/stderr1453 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1457 ../src/curl -q --include --trace-ascii log/5/trace1457 --trace-config all --trace-time http://127.0.0.1:34719/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/5/stdout1457 2> log/5/stderr1457 s data, client => server 02:03:20.495522 'TYPE I\r\n' 02:03:20.495944 Received DATA (on stdin) 02:03:20.495958 > 33 bytes data, server => client 02:03:20.495969 '200 I modify TYPE as you wanted\r\n' 02:03:20.496027 < 21 bytes data, client => server 02:03:20.496040 'SIZE verifiedserver\r\n' 02:03:20.496141 Received DATA (on stdin) 02:03:20.496175 > 8 bytes data, server => client 02:03:20.496192 '213 17\r\n' 02:03:20.496240 < 21 bytes data, client => server 02:03:20.496252 'RETR verifiedserver\r\n' 02:03:20.496537 Received DATA (on stdin) 02:03:20.496550 > 29 bytes data, server => client 02:03:20.496561 '150 Binary junk (17 bytes).\r\n' 02:03:20.496949 Received DATA (on stdin) 02:03:20.496962 > 28 bytes data, server => client 02:03:20.496973 '226 File transfer complete\r\n' 02:03:20.538750 < 6 bytes data, client => server 02:03:20.538782 'QUIT\r\n' 02:03:20.539004 Received DATA (on stdin) 02:03:20.539018 > 18 bytes data, server => client 02:03:20.539029 '221 bye bye baby\r\n' 02:03:20.539899 ====> Client disconnect 02:03:20.540061 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:20.494629 Running IPv4 version 02:03:20.494679 Listening on port 40647 02:03:20.494717 Wrote pid 152248 to log/8/server/ftp_sockdata.pid 02:03:20.495115 Received PING (on stdin) 02:03:20.495209 Received PORT (on stdin) 02:03:20.495776 ====> Client connect 02:03:20.496445 Received DATA (on stdin) 02:03:20.496458 > 17 bytes data, server => client 02:03:20.496470 'WE ROOLZ: 80441\r\n' 02:03:20.496500 Received DISC (on stdin) 02:03:20.496513 ====> Client forcibly disconnected 02:03:20.496699 Received QUIT (on stdin) 02:03:20.496711 quits 02:03:20.496754 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1449 === End of file server.cmd === Start of file valgrind1449 ==152325== ==152325== Process terminating with default action of signal 4 (SIGILL) ==152325== Illegal opcode at address 0x10B08D ==152325== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152325== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1449 * starts no server test 1453...[Too long tftp filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1453 ../src/curl -q --output log/1/curl1453.out --include --trace-ascii log/1/trace1453 --trace-config all --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/1/stdout1453 2> log/1/stderr1453 curl returned 132, when expecting 71 1453: exit FAILED == Contents of files in the log/1/ dir after test 1453 === Start of file server.cmd Testnum 1453 === End of file server.cmd === Start of file valgrind1453 ==152387== ==152387== Process terminating with default action of signal 4 (SIGILL) ==152387== Illegal opcode at address 0x10B08D ==152387== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152387== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1453 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1455 ../src/curl -q --output log/2/curl1455.out --include --trace-ascii log/2/trace1455 --trace-config all --trace-time http://127.0.0.1:38781/1455 --haproxy-protocol -H "Testno: 1455" > log/2/stdout1455 2> log/2/stderr1455 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1456 ../src/curl -q --output log/6/curl1456.out --include --trace-ascii log/6/trace1456 --trace-config all --trace-time -g "http://[::1]:46845/1456" --haproxy-protocol > log/6/stdout1456 2> log/6/stderr1456 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1435 ../src/curl -q --output log/9/curl1435.out --include --trace-ascii log/9/trace1435 --trace-config all --trace-time --unix-socket /tmp/curl-http-Fx0_yBJO http://server-interpreted.example.com/1435 > log/9/stdout1435 2> log/9/stderr1435 test 1457...[Check if %{stderr} and %{stdout} switch between stdout and stderr.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1457 ../src/curl -q --include --trace-ascii log/5/trace1457 --trace-config all --trace-time http://127.0.0.1:34719/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/5/stdout1457 2> log/5/stderr1457 1457: stdout FAILED: --- log/5/check-expected 2024-12-15 02:03:21.126929422 +0000 +++ log/5/check-generated 2024-12-15 02:03:21.126929422 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -line1line3 == Contents of files in the log/5/ dir after test 1457 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] line1line3 === End of file check-expected === Start of file http_server.log 02:03:20.801496 ====> Client connect 02:03:20.801527 accept_connection 3 returned 4 02:03:20.801543 accept_connection 3 returned 0 02:03:20.801557 Read 93 bytes 02:03:20.801567 Process 93 bytes request 02:03:20.801580 Got request: GET /verifiedserver HTTP/1.1 02:03:20.801590 Are-we-friendly question received 02:03:20.801613 Wrote request (93 bytes) input to log/5/server.input 02:03:20.801630 Identifying ourselves as friends 02:03:20.801694 Response sent (57 bytes) and written to log/5/server.response 02:03:20.801705 special request received, no persistency 02:03:20.801715 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind1457 ==152511== ==152511== Process terminating with default action of signal 4 (SIGILL) ==152511== Illegal opcode at address 0x10B08D ==152511== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152511== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1457 test 1455...[HTTP GET when PROXY Protocol enabled] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1455 ../src/curl -q --output log/2/curl1455.out --include --trace-ascii log/2/trace1455 --trace-config all --trace-time http://127.0.0.1:38781/1455 --haproxy-protocol -H "Testno: 1455" > log/2/stdout1455 2> log/2/stderr1455 1455: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1455 === Start of file http_server.log 02:03:20.786896 ====> Client connect 02:03:20.786922 accept_connection 3 returned 4 02:03:20.786936 accept_connection 3 returned 0 02:03:20.786947 Read 93 bytes 02:03:20.786956 Process 93 bytes request 02:03:20.786968 Got request: GET /verifiedserver HTTP/1.1 02:03:20.786976 Are-we-friendly question received 02:03:20.786994 Wrote request (93 bytes) input to log/2/server.input 02:03:20.787007 Identifying ourselves as friends 02:03:20.787058 Response sent (56 bytes) and written to log/2/server.response 02:03:20.787067 special request received, no persistency 02:03:20.787074 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1455 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1455 ==152487== ==152487== Process terminating with default action of signal 4 (SIGILL) ==152487== Illegal opcode at address 0x10B08D ==152487== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152487== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1455 test 1456...[HTTP-IPv6 GET with PROXY protocol] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1456 ../src/curl -q --output log/6/curl1456.out --include --trace-ascii log/6/trace1456 --trace-config all --trace-time -g "http://[::1]:46845/1456" --haproxy-protocol > log/6/stdout1456 2> log/6/stderr1456 1456: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1456 === Start of file http_ipv6_server.log 02:03:20.800307 ====> Client connect 02:03:20.800332 accept_connection 3 returned 4 02:03:20.800345 accept_connection 3 returned 0 02:03:20.800357 Read 89 bytes 02:03:20.800366 Process 89 bytes request 02:03:20.800378 Got request: GET /verifiedserver HTTP/1.1 02:03:20.800386 Are-we-friendly question received 02:03:20.800409 Wrote request (89 bytes) input to log/6/server.input 02:03:20.800423 Identifying ourselves as friends 02:03:20.800470 Response sent (56 bytes) and written to log/6/server.response 02:03:20.800479 special request received, no persistency 02:03:20.800486 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:46845... * Connected to ::1 (::1) port 46845 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:46845 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 89622 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1456 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 89622 === End of file server.response === Start of file valgrind1456 ==152505== ==152505== Process terminating with default action of signal 4 (SIGILL) ==152505== Illegal opcode at address 0x10B08D ==152505== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152505== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1456 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/server/http_unix_server.pid" --logfile "log/9/http_unix_server.log" --logdir "log/9" --portfile log/9/server/http_unix_server.port --config log/9/server.cmd --unix-socket '/tmp/curl-http-Fx0_yBJO' --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/9/http_unix_verify.out --silent --verbose --globoff --unix-socket '/tmp/curl-http-Fx0_yBJO' "http://127.0.0.1:80/verifiedserver" 2>log/9/http_unix_verify.log RUN: HTTP-unix server is on PID 151603 port /tmp/curl-http-Fx0_yBJO * pid http-unix => 151603 151603 test 1435...[simple HTTP GET over Unix socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1436 ../src/curl -q --include --trace-ascii log/3/trace1436 --trace-config all --trace-time --unix-socket /tmp/curl-http-qXz7TM72 http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/3/stdout1436 2> log/3/stderr1436 -quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1435 ../src/curl -q --output log/9/curl1435.out --include --trace-ascii log/9/trace1435 --trace-config all --trace-time --unix-socket /tmp/curl-http-Fx0_yBJO http://server-interpreted.example.com/1435 > log/9/stdout1435 2> log/9/stderr1435 1435: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1435 === Start of file http_unix_server.log 02:03:19.853189 Running HTTP unix version on /tmp/curl-http-Fx0_yBJO 02:03:19.853266 Wrote pid 151603 to log/9/server/http_unix_server.pid 02:03:19.853298 Wrote port 8999 to log/9/server/http_unix_server.port 02:03:20.852830 ====> Client connect 02:03:20.852850 accept_connection 3 returned 4 02:03:20.852865 accept_connection 3 returned 0 02:03:20.852879 Read 87 bytes 02:03:20.852890 Process 87 bytes request 02:03:20.852931 Got request: GET /verifiedserver HTTP/1.1 02:03:20.852953 Are-we-friendly question received 02:03:20.852985 Wrote request (87 bytes) input to log/9/server.input 02:03:20.853007 Identifying ourselves as friends 02:03:20.853047 Response sent (57 bytes) and written to log/9/server.response 02:03:20.853057 special request received, no persistency 02:03:20.853067 ====> Client disconnect 0 === End of file http_unix_server.log === Start of file http_unix_verify.log * Trying /tmp/curl-http-Fx0_yBJO:0... * Connected to 127.0.0.1 (/tmp/curl-http-Fx0_yBJO) port 0 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_unix_verify.log === Start of file http_unix_verify.out WE ROOLZ: 151603 === End of file http_unix_verify.out === Start of file server.cmd Testnum 1435 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 151603 === End of file server.response === Start of file valgrind1435 ==152661== ==152661== Process terminating with default action of signal 4 (SIGILL) ==152661== Illegal opcode at address 0x10B08D ==152661== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152661== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1435 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1460 ../src/curl -q --trace-ascii log/10/trace1460 --trace-config all --trace-time http://127.0.0.1:42929/1460 -Ji -O --output-dir log/10 > log/10/stdout1460 2> log/10/stderr1460 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1462 ../src/curl -q --include --trace-ascii log/8/trace1462 --trace-config all --trace-time --help sdfafdsfadsfsd > log/8/stdout1462 2> log/8/stderr1462 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_unix_server.pid" --logfile "log/3/http_unix_server.log" --logdir "log/3" --portfile log/3/server/http_unix_server.port --config log/3/server.cmd --unix-socket '/tmp/curl-http-qXz7TM72' --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/3/http_unix_verify.out --silent --verbose --globoff --unix-socket '/tmp/curl-http-qXz7TM72' "http://127.0.0.1:80/verifiedserver" 2>log/3/http_unix_verify.log RUN: HTTP-unix server is on PID 151612 port /tmp/curl-http-qXz7TM72 * pid http-unix => 151612 151612 test 1436...[HTTP requests with multiple connections over Unix socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1436 ../src/curl -q --include --trace-ascii log/3/trace1436 --trace-config all --trace-time --unix-socket /tmp/curl-http-qXz7TM72 http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/3/stdout1436 2> log/3/stderr1436 1436: stdout FAILED: --- log/3/check-expected 2024-12-15 02:03:21.193597276 +0000 +++ log/3/check-generated 2024-12-15 02:03:21.193597276 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:47 GMT[LF] -Content-Length: 6[LF] -[LF] -First[LF] -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:48 GMT[LF] -Content-Length: 7[LF] -[LF] -Second[LF] -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:49 GMT[LF] -Content-Length: 6[LF] -[LF] -Third[LF] == Contents of files in the log/3/ dir after test 1436 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:47 GMT[LF] Content-Length: 6[LF] [LF] First[LF] HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:48 GMT[LF] Content-Length: 7[LF] [LF] Second[LF] HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:49 GMT[LF] Content-Length: 6[LF] [LF] Third[LF] === End of file check-expected === Start of file http_unix_server.log 02:03:19.876113 Running HTTP unix version on /tmp/curl-http-qXz7TM72 02:03:19.876185 Wrote pid 151612 to log/3/server/http_unix_server.pid 02:03:19.876216 Wrote port 8999 to log/3/server/http_unix_server.port 02:03:20.861985 ====> Client connect 02:03:20.862005 accept_connection 3 returned 4 02:03:20.862021 accept_connection 3 returned 0 02:03:20.862036 Read 87 bytes 02:03:20.862047 Process 87 bytes request 02:03:20.862070 Got request: GET /verifiedserver HTTP/1.1 02:03:20.862079 Are-we-friendly question received 02:03:20.862106 Wrote request (87 bytes) input to log/3/server.input 02:03:20.862127 Identifying ourselves as friends 02:03:20.862165 Response sent (57 bytes) and written to log/3/server.response 02:03:20.862176 special request received, no persistency 02:03:20.862185 ====> Client disconnect 0 === End of file http_unix_server.log === Start of file http_unix_verify.log * Trying /tmp/curl-http-qXz7TM72:0... * Connected to 127.0.0.1 (/tmp/curl-http-qXz7TM72) port 0 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_unix_verify.log === Start of file http_unix_verify.out WE ROOLZ: 151612 === End of file http_unix_verify.out === Start of file server.cmd Testnum 1436 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 151612 === End of file server.response === Start of file valgrind1436 ==152680== ==152680== Process terminating with default action of signal 4 (SIGILL) ==152680== Illegal opcode at address 0x10B08D ==152680== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152680== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1436 test 1460...[HTTP GET with -Ji and Content-Disposition with existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1460 ../src/curl -q --trace-ascii log/10/trace1460 --trace-config all --trace-time http://127.0.0.1:42929/1460 -Ji -O --output-dir log/10 > log/10/stdout1460 2> log/10/stderr1460 curl returned 132, when expecting 23 1460: exit FAILED == Contents of files in the log/10/ dir after test 1460 === Start of file http_server.log 02:03:21.047461 ====> Client connect 02:03:21.047491 accept_connection 3 returned 4 02:03:21.047507 accept_connection 3 returned 0 02:03:21.047519 Read 93 bytes 02:03:21.047530 Process 93 bytes request 02:03:21.047542 Got request: GET /verifiedserver HTTP/1.1 02:03:21.047552 Are-we-friendly question received 02:03:21.047574 Wrote request (93 bytes) input to log/10/server.input 02:03:21.047590 Identifying ourselves as friends 02:03:21.047651 Response sent (56 bytes) and written to log/10/server.response 02:03:21.047662 special request received, no persistency 02:03:21.047672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file name1460 initial content === End of file name1460 === Start of file server.cmd Testnum 1460 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1460 ==152813== ==152813== Process terminating with default action of signal 4 (SIGILL) ==152813== Illegal opcode at address 0x10B08D ==152813== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152813== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1460 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1458 ../src/curl -q --output log/4/curl1458.out --include --trace-ascii log/4/trace1458 --trace-config all --trace-time --resolve *:36813:127.0.0.1 http://example.com:36813/1458 > log/4/stdout1458 2> log/4/stderr1458 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1463 ../src/curl -q --include --trace-ascii log/1/trace1463 --trace-config all --trace-time --help file > log/1/stdout1463 2> log/1/stderr1463 * starts no server test 1462...[curl invalid category --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1462 ../src/curl -q --include --trace-ascii log/8/trace1462 --trace-config all --trace-time --help sdfafdsfadsfsd > log/8/stdout1462 2> log/8/stderr1462 1462: stdout FAILED: --- log/8/check-expected 2024-12-15 02:03:21.390267438 +0000 +++ log/8/check-generated 2024-12-15 02:03:21.390267438 +0000 @@ -1,27 +0,0 @@ -Unknown category provided, here is a list of all categories:[CR][LF] -[CR][LF] - auth Authentication methods[CR][LF] - connection Manage connections[CR][LF] - curl The command line tool itself[CR][LF] - deprecated Legacy[CR][LF] - dns Names and resolving[CR][LF] - file FILE protocol[CR][LF] - ftp FTP protocol[CR][LF] - global Global options[CR][LF] - http HTTP and HTTPS protocol[CR][LF] - imap IMAP protocol[CR][LF] - ldap LDAP protocol[CR][LF] - output Filesystem output[CR][LF] - pop3 POP3 protocol[CR][LF] - post HTTP POST specific[CR][LF] - proxy Options for proxies[CR][LF] - scp SCP protocol[CR][LF] - sftp SFTP protocol[CR][LF] - smtp SMTP protocol[CR][LF] - ssh SSH protocol[CR][LF] - telnet TELNET protocol[CR][LF] - tftp TFTP protocol[CR][LF] - timeout Timeouts and delays[CR][LF] - tls TLS/SSL related[CR][LF] - upload Upload, sending data[CR][LF] - verbose Tracing, logging etc[CR][LF] == Contents of files in the log/8/ dir after test 1462 === Start of file check-expected Unknown category provided, here is a list of all categories:[CR][LF] [CR][LF] auth Authentication methods[CR][LF] connection Manage connections[CR][LF] curl The command line tool itself[CR][LF] deprecated Legacy[CR][LF] dns Names and resolving[CR][LF] file FILE protocol[CR][LF] ftp FTP protocol[CR][LF] global Global options[CR][LF] http HTTP and HTTPS protocol[CR][LF] imap IMAP protocol[CR][LF] ldap LDAP protocol[CR][LF] output Filesystem output[CR][LF] pop3 POP3 protocol[CR][LF] post HTTP POST specific[CR][LF] proxy Options for proxies[CR][LF] scp SCP protocol[CR][LF] sftp SFTP protocol[CR][LF] smtp SMTP protocol[CR][LF] ssh SSH protocol[CR][LF] telnet TELNET protocol[CR][LF] tftp TFTP protocol[CR][LF] timeout Timeouts and delays[CR][LF] tls TLS/SSL related[CR][LF] upload Upload, sending data[CR][LF] verbose Tracing, logging etc[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 1462 === End of file server.cmd === Start of file valgrind1462 ==152798== ==152798== Process terminating with default action of signal 4 (SIGILL) ==152798== Illegal opcode at address 0x10B08D ==152798== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152798== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1462 test 1458...[HTTP with wildcard --resolve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1458 ../src/curl -q --output log/4/curl1458.out --include --trace-ascii log/4/trace1458 --trace-config all --trace-time --resolve *:36813:127.0.0.1 http://example.com:36813/1458 > log/4/stdout1458 2> log/4/stderr1458 1458: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1458 === Start of file http_server.log 02:03:21.043876 ====> Client connect 02:03:21.043908 accept_connection 3 returned 4 02:03:21.043929 accept_connection 3 returned 0 02:03:21.043944 Read 93 bytes 02:03:21.043955 Process 93 bytes request 02:03:21.043970 Got request: GET /verifiedserver HTTP/1.1 02:03:21.043980 Are-we-friendly question received 02:03:21.044003 Wrote request (93 bytes) input to log/4/server.input 02:03:21.044021 Identifying ourselves as friends 02:03:21.044093 Response sent (56 bytes) and written to log/4/server.response 02:03:21.044104 special request received, no persistency 02:03:21.044113 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1458 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1458 ==152809== ==152809== Process terminating with default action of signal 4 (SIGILL) ==152809== Illegal opcode at address 0x10B08D ==152809== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152809== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1458 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1464 ../src/curl -q --include --trace-ascii log/5/trace1464 --trace-config all --trace-time --help fIlE > log/5/stdout1464 2> log/5/stderr1464 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1465 ../src/curl -q --output log/2/curl1465.out --include --trace-ascii log/2/trace1465 --trace-config all --trace-time http://127.0.0.1:38781/we/want/1465 --libcurl log/2/test1465.c --data-binary @log/2/1465-upload > log/2/stdout1465 2> log/2/stderr1465 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1466 ../src/curl -q --output log/6/curl1466.out --include --trace-ascii log/6/trace1466 --trace-config all --trace-time http://127.0.0.1:39457/1466 > log/6/stdout1466 2> log/6/stderr1466 * starts no server test 1463...[curl file category --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1463 ../src/curl -q --include --trace-ascii log/1/trace1463 --trace-config all --trace-time --help file > log/1/stdout1463 2> log/1/stderr1463 1463: stdout FAILED: --- log/1/check-expected 2024-12-15 02:03:21.566937245 +0000 +++ log/1/check-generated 2024-12-15 02:03:21.566937245 +0000 @@ -1,5 +0,0 @@ -file: FILE protocol[CR][LF] - --create-file-mode File mode for created files[CR][LF] - -I, --head Show document info only[CR][LF] - -l, --list-only List only mode[CR][LF] - -r, --range Retrieve only the bytes within RANGE[CR][LF] == Contents of files in the log/1/ dir after test 1463 === Start of file check-expected file: FILE protocol[CR][LF] --create-file-mode File mode for created files[CR][LF] -I, --head Show document info only[CR][LF] -l, --list-only List only mode[CR][LF] -r, --range Retrieve only the bytes within RANGE[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 1463 === End of file server.cmd === Start of file valgrind1463 ==152944== ==152944== Process terminating with default action of signal 4 (SIGILL) ==152944== Illegal opcode at address 0x10B08D ==152944== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==152944== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1463 setenv SSL_CERT_FILE = test 1465...[--libcurl for POST with binary content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1465 ../src/curl -q --output log/2/curl1465.out --include --trace-ascii log/2/trace1465 --trace-config all --trace-time http://127.0.0.1:38781/we/want/1465 --libcurl log/2/test1465.c --data-binary @log/2/1465-upload > log/2/stdout1465 2> log/2/stderr1465 1465: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1465 === Start of file 1465-upload abcde\"? fghi jklm === End of file 1465-upload === Start of file http_server.log 02:03:21.357746 ====> Client connect 02:03:21.357774 accept_connection 3 returned 4 02:03:21.357787 accept_connection 3 returned 0 02:03:21.357798 Read 93 bytes 02:03:21.357807 Process 93 bytes request 02:03:21.357818 Got request: GET /verifiedserver HTTP/1.1 02:03:21.357826 Are-we-friendly question received 02:03:21.357846 Wrote request (93 bytes) input to log/2/server.input 02:03:21.357859 Identifying ourselves as friends 02:03:21.357911 Response sent (56 bytes) and written to log/2/server.response 02:03:21.357920 special request received, no persistency 02:03:21.357927 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1465 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1465 ==153077== ==153077== Process terminating with default action of signal 4 (SIGILL) ==153077== Illegal opcode at address 0x10B08D ==153077== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153077== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1465 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1469 ../src/curl -q --output log/10/curl1469.out --include --trace-ascii log/10/trace1469 --trace-config all --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/10/irrelevant-file > log/10/stdout1469 2> log/10/stderr1469 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1472 ../src/curl -q --output log/4/curl1472.out --include --trace-ascii log/4/trace1472 --trace-config all --trace-time tasty.onion. > log/4/stdout1472 2> log/4/stderr1472 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1471 ../src/curl -q --output log/8/curl1471.out --include --trace-ascii log/8/trace1471 --trace-config all --trace-time red.onion > log/8/stdout1471 2> log/8/stderr1471 * starts no server test 1464...[curl file category --help with lower/upper mix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1464 ../src/curl -q --include --trace-ascii log/5/trace1464 --trace-config all --trace-time --help fIlE > log/5/stdout1464 2> log/5/stderr1464 1464: stdout FAILED: --- log/5/check-expected 2024-12-15 02:03:21.573604030 +0000 +++ log/5/check-generated 2024-12-15 02:03:21.573604030 +0000 @@ -1,5 +0,0 @@ -file: FILE protocol[CR][LF] - --create-file-mode File mode for created files[CR][LF] - -I, --head Show document info only[CR][LF] - -l, --list-only List only mode[CR][LF] - -r, --range Retrieve only the bytes within RANGE[CR][LF] == Contents of files in the log/5/ dir after test 1464 === Start of file check-expected file: FILE protocol[CR][LF] --create-file-mode File mode for created files[CR][LF] -I, --head Show document info only[CR][LF] -l, --list-only List only mode[CR][LF] -r, --range Retrieve only the bytes within RANGE[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 1464 === End of file server.cmd === Start of file valgrind1464 ==153003== ==153003== Process terminating with default action of signal 4 (SIGILL) ==153003== Illegal opcode at address 0x10B08D ==153003== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153003== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1464 test 1466...[HTTP GET with 3-digit response and only digits in reason] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1466 ../src/curl -q --output log/6/curl1466.out --include --trace-ascii log/6/trace1466 --trace-config all --trace-time http://127.0.0.1:39457/1466 > log/6/stdout1466 2> log/6/stderr1466 1466: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1466 === Start of file http_server.log 02:03:21.359207 ====> Client connect 02:03:21.359233 accept_connection 3 returned 4 02:03:21.359248 accept_connection 3 returned 0 02:03:21.359262 Read 93 bytes 02:03:21.359272 Process 93 bytes request 02:03:21.359285 Got request: GET /verifiedserver HTTP/1.1 02:03:21.359294 Are-we-friendly question received 02:03:21.359314 Wrote request (93 bytes) input to log/6/server.input 02:03:21.359330 Identifying ourselves as friends 02:03:21.359396 Response sent (56 bytes) and written to log/6/server.response 02:03:21.359406 special request received, no persistency 02:03:21.359415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1466 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1466 ==153056== ==153056== Process terminating with default action of signal 4 (SIGILL) ==153056== Illegal opcode at address 0x10B08D ==153056== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153056== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1466 * starts no server test 1469...[Space in FTP upload URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1469 ../src/curl -q --output log/10/curl1469.out --include --trace-ascii log/10/trace1469 --trace-config all --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/10/irrelevant-file > log/10/stdout1469 2> log/10/stderr1469 curl returned 132, when expecting 3 1469: exit FAILED == Contents of files in the log/10/ dir after test 1469 === Start of file server.cmd Testnum 1469 === End of file server.cmd === Start of file valgrind1469 ==153207== ==153207== Process terminating with default action of signal 4 (SIGILL) ==153207== Illegal opcode at address 0x10B08D ==153207== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153207== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1469 * starts no server test 1472...[Fail to resolve .onion. TLD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1472 ../src/curl -q --output log/4/curl1472.out --include --trace-ascii log/4/trace1472 --trace-config all --trace-time tasty.onion. > log/4/stdout1472 2> log/4/stderr1472 1472: stderr FAILED: --- log/4/check-expected 2024-12-15 02:03:21.826941865 +0000 +++ log/4/check-generated 2024-12-15 02:03:21.826941865 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/4/ dir after test 1472 === Start of file check-expected curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 1472 === End of file server.cmd === Start of file valgrind1472 ==153235== ==153235== Process terminating with default action of signal 4 (SIGILL) ==153235== Illegal opcode at address 0x10B08D ==153235== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153235== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1472 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1477.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/10/stdout1477 2> log/10/stderr1477 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d /startdir/src/curl/tests/../docs/cmdline-opts -I /startdir/src/curl/tests/../include listhelp /startdir/src/curl/tests/../docs/cmdline-opts/*.md > log/8/stdout1478 2> log/8/stderr1478 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1473 ../src/curl -q --output log/1/curl1473.out --include --trace-ascii log/1/trace1473 --trace-config all --trace-time http://127.0.0.1:34215/1473 > log/1/stdout1473 2> log/1/stderr1473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1474 ../src/curl -q --output log/5/curl1474.out --include --trace-ascii log/5/trace1474 --trace-config all --trace-time --proto -all http://127.0.0.1:47/1474 > log/5/stdout1474 2> log/5/stderr1474 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1476 ../src/curl -q --output log/2/curl1476.out --include --trace-ascii log/2/trace1476 --trace-config all --trace-time -x http://127.0.0.1:38781/1476 http://curl.co.UK -c log/2/cookies1476.txt > log/2/stdout1476 2> log/2/stderr1476 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1475 ../src/curl -q --output log/6/curl1475.out --include --trace-ascii log/6/trace1475 --trace-config all --trace-time http://127.0.0.1:39457/1475 -C - -f > log/6/stdout1475 2> log/6/stderr1475 RUN: Process with pid 74127 signalled to die RUN: Process with pid 74127 gracefully died * starts no server test 1471...[Fail to resolve .onion TLD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1471 ../src/curl -q --output log/8/curl1471.out --include --trace-ascii log/8/trace1471 --trace-config all --trace-time red.onion > log/8/stdout1471 2> log/8/stderr1471 1471: stderr FAILED: --- log/8/check-expected 2024-12-15 02:03:21.833608652 +0000 +++ log/8/check-generated 2024-12-15 02:03:21.833608652 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/8/ dir after test 1471 === Start of file check-expected curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 1471 === End of file server.cmd === Start of file valgrind1471 ==153232== ==153232== Process terminating with default action of signal 4 (SIGILL) ==153232== Illegal opcode at address 0x10B08D ==153232== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153232== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1471 * starts no server test 1477...[Verify that error codes in headers and libcurl-errors.3 are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1477.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/10/stdout1477 2> log/10/stderr1477 valgrind SKIPPED s------e--- OK (1328 out of 1584, remaining: 00:25, took 0.022s, duration: 02:13) * starts no server test 1478...[src/tool_listhelp.c is in sync with docs/cmdline-opts] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d /startdir/src/curl/tests/../docs/cmdline-opts -I /startdir/src/curl/tests/../include listhelp /startdir/src/curl/tests/../docs/cmdline-opts/*.md > log/8/stdout1478 2> log/8/stderr1478 valgrind SKIPPED s------e--- OK (1329 out of 1584, remaining: 00:25, took 0.036s, duration: 02:13) test 1473...[first HTTP header starts with white space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1473 ../src/curl -q --output log/1/curl1473.out --include --trace-ascii log/1/trace1473 --trace-config all --trace-time http://127.0.0.1:34215/1473 > log/1/stdout1473 2> log/1/stderr1473 1473: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1473 === Start of file http_server.log 02:03:21.794649 ====> Client connect 02:03:21.794680 accept_connection 3 returned 4 02:03:21.794696 accept_connection 3 returned 0 02:03:21.794710 Read 93 bytes 02:03:21.794720 Process 93 bytes request 02:03:21.794734 Got request: GET /verifiedserver HTTP/1.1 02:03:21.794744 Are-we-friendly question received 02:03:21.794765 Wrote request (93 bytes) input to log/1/server.input 02:03:21.794782 Identifying ourselves as friends 02:03:21.794842 Response sent (56 bytes) and written to log/1/server.response 02:03:21.794853 special request received, no persistency 02:03:21.794862 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1473 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1473 ==153429== ==153429== Process terminating with default action of signal 4 (SIGILL) ==153429== Illegal opcode at address 0x10B08D ==153429== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153429== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1473 * starts no server test 1474...[--proto -all disables all protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1474 ../src/curl -q --output log/5/curl1474.out --include --trace-ascii log/5/trace1474 --trace-config all --trace-time --proto -all http://127.0.0.1:47/1474 > log/5/stdout1474 2> log/5/stderr1474 curl returned 132, when expecting 1 1474: exit FAILED == Contents of files in the log/5/ dir after test 1474 === Start of file server.cmd Testnum 1474 === End of file server.cmd === Start of file valgrind1474 ==153392== ==153392== Process terminating with default action of signal 4 (SIGILL) ==153392== Illegal opcode at address 0x10B08D ==153392== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153392== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1474 test 1476...[PSL violating cookie with mixed case domain and cookie domain property] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1476 ../src/curl -q --output log/2/curl1476.out --include --trace-ascii log/2/trace1476 --trace-config all --trace-time -x http://127.0.0.1:38781/1476 http://curl.co.UK -c log/2/cookies1476.txt > log/2/stdout1476 2> log/2/stderr1476 1476: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1476 === Start of file http_server.log 02:03:21.800663 ====> Client connect 02:03:21.800693 accept_connection 3 returned 4 02:03:21.800710 accept_connection 3 returned 0 02:03:21.800722 Read 93 bytes 02:03:21.800732 Process 93 bytes request 02:03:21.800744 Got request: GET /verifiedserver HTTP/1.1 02:03:21.800754 Are-we-friendly question received 02:03:21.800777 Wrote request (93 bytes) input to log/2/server.input 02:03:21.800794 Identifying ourselves as friends 02:03:21.800860 Response sent (56 bytes) and written to log/2/server.response 02:03:21.800872 special request received, no persistency 02:03:21.800881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1476 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1476 ==153452== ==153452== Process terminating with default action of signal 4 (SIGILL) ==153452== Illegal opcode at address 0x10B08D ==153452== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153452== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1476 test 1475...[-f and 416 with Content-Range: */size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1475 ../src/curl -q --output log/6/curl1475.out --include --trace-ascii log/6/trace1475 --trace-config all --trace-time http://127.0.0.1:39457/1475 -C - -f > log/6/stdout1475 2> log/6/stderr1475 1475: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total cuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1479 ../src/curl -q --output log/4/curl1479.out --include --trace-ascii log/4/trace1479 --trace-config all --trace-time http://127.0.0.1:36813/1479 http://127.0.0.1:36813/14790002 > log/4/stdout1479 2> log/4/stderr1479 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1480 ../src/curl -q --output log/10/curl1480.out --include --trace-ascii log/10/trace1480 --trace-config all --trace-time http://127.0.0.1:42929/1480 > log/10/stdout1480 2> log/10/stderr1480 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/4/stdout1486 2> log/4/stderr1486 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1481 ../src/curl -q --output log/8/curl1481.out --include --trace-ascii log/8/trace1481 --trace-config all --trace-time http://moo/ --libcurl log/8/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:43803 > log/8/stdout1481 2> log/8/stderr1481 rl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1475 === Start of file curl1475.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1475.out === Start of file http_server.log 02:03:21.800565 ====> Client connect 02:03:21.800588 accept_connection 3 returned 4 02:03:21.800601 accept_connection 3 returned 0 02:03:21.800612 Read 93 bytes 02:03:21.800620 Process 93 bytes request 02:03:21.800630 Got request: GET /verifiedserver HTTP/1.1 02:03:21.800638 Are-we-friendly question received 02:03:21.800654 Wrote request (93 bytes) input to log/6/server.input 02:03:21.800668 Identifying ourselves as friends 02:03:21.800715 Response sent (56 bytes) and written to log/6/server.response 02:03:21.800724 special request received, no persistency 02:03:21.800731 ====> Client disconnect 0 02:03:22.264189 exit_signal_handler: 15 02:03:22.264226 signalled to die 02:03:22.264306 ========> IPv4 sws (port 39457 pid: 74127) exits with signal (15) 02:03:22.264320 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39457... * Connected to 127.0.0.1 (127.0.0.1) port 39457 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39457 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74127 === End of file http_verify.out === Start of file server.cmd Testnum 1475 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74127 === End of file server.response === Start of file valgrind1475 ==153458== ==153458== Process terminating with default action of signal 4 (SIGILL) ==153458== Illegal opcode at address 0x10B08D ==153458== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153458== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1475 test 1479...[HTTP/1.1 response followed by an HTTP/0.9 response over the same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1479 ../src/curl -q --output log/4/curl1479.out --include --trace-ascii log/4/trace1479 --trace-config all --trace-time http://127.0.0.1:36813/1479 http://127.0.0.1:36813/14790002 > log/4/stdout1479 2> log/4/stderr1479 1479: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1479 === Start of file http_server.log 02:03:22.058787 ====> Client connect 02:03:22.058817 accept_connection 3 returned 4 02:03:22.058833 accept_connection 3 returned 0 02:03:22.058847 Read 93 bytes 02:03:22.058858 Process 93 bytes request 02:03:22.058872 Got request: GET /verifiedserver HTTP/1.1 02:03:22.058885 Are-we-friendly question received 02:03:22.058907 Wrote request (93 bytes) input to log/4/server.input 02:03:22.058924 Identifying ourselves as friends 02:03:22.058985 Response sent (56 bytes) and written to log/4/server.response 02:03:22.058996 special request received, no persistency 02:03:22.059005 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1479 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1479 ==153645== ==153645== Process terminating with default action of signal 4 (SIGILL) ==153645== Illegal opcode at address 0x10B08D ==153645== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153645== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1479 test 1480...[HTTP Continue response without final response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1480 ../src/curl -q --output log/10/curl1480.out --include --trace-ascii log/10/trace1480 --trace-config all --trace-time http://127.0.0.1:42929/1480 > log/10/stdout1480 2> log/10/stderr1480 1480: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1480 === Start of file http_server.log 02:03:22.066542 ====> Client connect 02:03:22.066568 accept_connection 3 returned 4 02:03:22.066582 accept_connection 3 returned 0 02:03:22.066594 Read 93 bytes 02:03:22.066602 Process 93 bytes request 02:03:22.066613 Got request: GET /verifiedserver HTTP/1.1 02:03:22.066621 Are-we-friendly question received 02:03:22.066641 Wrote request (93 bytes) input to log/10/server.input 02:03:22.066655 Identifying ourselves as friends 02:03:22.066708 Response sent (56 bytes) and written to log/10/server.response 02:03:22.066718 special request received, no persistency 02:03:22.066726 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1480 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1480 ==153664== ==153664== Process terminating with default action of signal 4 (SIGILL) ==153664== Illegal opcode at address 0x10B08D ==153664== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153664== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1480 * starts no server test 1486...[Verify that write-out.md and tool_writeout.c are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/4/stdout1486 2> log/4/stderr1486 valgrind SKIPPED s------e--- OK (1337 out of 1584, remaining: 00:24, took 0.017s, duration: 02:14) setenv SSL_CERT_FILE = test 1481...[--libcurl with TLS version options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1481 ../src/curl -q --output log/8/curl1481.out --include --trace-ascii log/8/trace1481 --trace-config all --trace-time http://moo/ --libcurl log/8/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:43803 > log/8/stdout1481 2> log/8/stderr1481 1481: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1481 === Start of file http_server.log 02:03:22.095962 ====> Client connect 02:03:22.095987 accept_connection 3 returned 4 02:03:22.096000 accept_connection 3 returned 0 02:03:22.096011 Read 93 bytes 02:03:22.096019 Process 93 bytes request 02:03:22.096030 Got request: GET /verifiedserver HTTP/1.1 02:03:22.096038 Are-we-friendly question received 02:03:22.CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1488.pl /startdir/src/curl/tests/.. ../include/curl > log/4/stdout1488 2> log/4/stderr1488 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1483 ../src/curl -q --output log/5/curl1483.out --include --trace-ascii log/5/trace1483 --trace-config all --trace-time http://127.0.0.1:34719/1483 -D log/5/heads1483 > log/5/stdout1483 2> log/5/stderr1483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1482 ../src/curl -q --output log/1/curl1482.out --include --trace-ascii log/1/trace1482 --trace-config all --trace-time http://127.0.0.1:34215/1482 -D log/1/heads1482 > log/1/stdout1482 2> log/1/stderr1482 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1484 ../src/curl -q --output log/2/curl1484.out --include --trace-ascii log/2/trace1484 --trace-config all --trace-time -I http://127.0.0.1:38781/1484 --http1.1 > log/2/stdout1484 2> log/2/stderr1484 096055 Wrote request (93 bytes) input to log/8/server.input 02:03:22.096069 Identifying ourselves as friends 02:03:22.096118 Response sent (56 bytes) and written to log/8/server.response 02:03:22.096126 special request received, no persistency 02:03:22.096134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1481 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1481 ==153755== ==153755== Process terminating with default action of signal 4 (SIGILL) ==153755== Illegal opcode at address 0x10B08D ==153755== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153755== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1481 * starts no server test 1488...[symbols-in-versions and manpages agree on added-in versions] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1488.pl /startdir/src/curl/tests/.. ../include/curl > log/4/stdout1488 2> log/4/stderr1488 valgrind SKIPPED s------e--- OK (1339 out of 1584, remaining: 00:24, took 0.022s, duration: 02:14) test 1483...[HTTP GET with double chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1483 ../src/curl -q --output log/5/curl1483.out --include --trace-ascii log/5/trace1483 --trace-config all --trace-time http://127.0.0.1:34719/1483 -D log/5/heads1483 > log/5/stdout1483 2> log/5/stderr1483 1483: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1483 === Start of file http_server.log 02:03:22.270447 ====> Client connect 02:03:22.270475 accept_connection 3 returned 4 02:03:22.270491 accept_connection 3 returned 0 02:03:22.270504 Read 93 bytes 02:03:22.270514 Process 93 bytes request 02:03:22.270526 Got request: GET /verifiedserver HTTP/1.1 02:03:22.270536 Are-we-friendly question received 02:03:22.270595 Wrote request (93 bytes) input to log/5/server.input 02:03:22.270625 Identifying ourselves as friends 02:03:22.270709 Response sent (57 bytes) and written to log/5/server.response 02:03:22.270722 special request received, no persistency 02:03:22.270731 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1483 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind1483 ==153858== ==153858== Process terminating with default action of signal 4 (SIGILL) ==153858== Illegal opcode at address 0x10B08D ==153858== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153858== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1483 test 1482...[HTTP GET with double chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1482 ../src/curl -q --output log/1/curl1482.out --include --trace-ascii log/1/trace1482 --trace-config all --trace-time http://127.0.0.1:34215/1482 -D log/1/heads1482 > log/1/stdout1482 2> log/1/stderr1482 1482: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1482 === Start of file http_server.log 02:03:22.266733 ====> Client connect 02:03:22.266758 accept_connection 3 returned 4 02:03:22.266775 accept_connection 3 returned 0 02:03:22.266788 Read 93 bytes 02:03:22.266799 Process 93 bytes request 02:03:22.266813 Got request: GET /verifiedserver HTTP/1.1 02:03:22.266823 Are-we-friendly question received 02:03:22.266846 Wrote request (93 bytes) input to log/1/server.input 02:03:22.266864 Identifying ourselves as friends 02:03:22.266922 Response sent (56 bytes) and written to log/1/server.response 02:03:22.266931 special request received, no persistency 02:03:22.266939 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1482 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1482 ==153857== ==153857== Process terminating with default action of signal 4 (SIGILL) ==153857== Illegal opcode at address 0x10B08D ==153857== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153857== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1482 test 1484...[HTTP HEAD with response body to ignore] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1484 ../src/curl -q --output log/2/curl1484.out --include --trace-ascii log/2/trace1484 --trace-config all --trace-time -I http://127.0.0.1:38781/1484 --http1.1 > log/2/stdout1484 2> log/2/stderr1484 1484: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1484 === Start of file http_server.log 02:03:22.276305 ====> Client connect 02:03:22.276335 accept_connection 3 returned 4 02:03:22.276348 accept_connection 3 returned 0 02:03:22.276359 Read 93 bytes 02:03:22.276369 Process 93 bytes request 02:03:22.276380 Got request: GET /verifiedserver HTTP/1.1 02:03:22.276389 Are-we-friendly question received 02:03:22.276409 Wrote request (93 bytes) input to log/2/server.input 02:03:22.276424 Identifying ourselves as friends 02:03:22.276484 Response sent (56 bytes) and written to log/2/server.response 02:03:22.276495 special request received, no persistency 02:03:22.276504 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1484 === EndCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1467 ../src/curl -q --output log/9/curl1467.out --include --trace-ascii log/9/trace1467 --trace-config all --trace-time --socks5 localhost/tmp/curl-socksd-WChc93dz http://127.0.0.1:38509/1467 > log/9/stdout1467 2> log/9/stderr1467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1468 ../src/curl -q --output log/3/curl1468.out --include --trace-ascii log/3/trace1468 --trace-config all --trace-time http://this.is.a.host.name:34527/1468 --proxy socks5h://localhost/tmp/curl-socksd-oqIj_GpK > log/3/stdout1468 2> log/3/stderr1468 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1490 ../src/curl -q --output log/4/curl1490.out --trace-ascii log/4/trace1490 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/4/result1490.txt -T log/4/upload1490.txt > log/4/stdout1490 2> log/4/stderr1490 of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1484 ==153884== ==153884== Process terminating with default action of signal 4 (SIGILL) ==153884== Illegal opcode at address 0x10B08D ==153884== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==153884== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1484 startnew: server/socksd --pidfile log/9/server/socks2_server.pid --reqfile log/9/socksd-request.log --logfile log/9/socks2_server.log --unix-socket /tmp/curl-socksd-WChc93dz --backend 127.0.0.1 --config log/9/server.cmd RUN: SOCKS2 server is now running PID 153146 * pid socks5unix => 153146 153146 test 1467...[HTTP GET via SOCKS5 proxy via Unix sockets] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1467 ../src/curl -q --output log/9/curl1467.out --include --trace-ascii log/9/trace1467 --trace-config all --trace-time --socks5 localhost/tmp/curl-socksd-WChc93dz http://127.0.0.1:38509/1467 > log/9/stdout1467 2> log/9/stderr1467 1467: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1467 === Start of file http_server.log 02:03:21.393112 ====> Client connect 02:03:21.393149 accept_connection 3 returned 4 02:03:21.393166 accept_connection 3 returned 0 02:03:21.393180 Read 93 bytes 02:03:21.393191 Process 93 bytes request 02:03:21.393205 Got request: GET /verifiedserver HTTP/1.1 02:03:21.393215 Are-we-friendly question received 02:03:21.393241 Wrote request (93 bytes) input to log/9/server.input 02:03:21.393258 Identifying ourselves as friends 02:03:21.393326 Response sent (56 bytes) and written to log/9/server.response 02:03:21.393338 special request received, no persistency 02:03:21.393348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1467 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file socks2_server.log 02:03:21.398030 Running unix version 02:03:21.398086 Listening on Unix socket /tmp/curl-socksd-WChc93dz 02:03:21.398121 Wrote pid 153146 to log/9/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1467 ==154006== ==154006== Process terminating with default action of signal 4 (SIGILL) ==154006== Illegal opcode at address 0x10B08D ==154006== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==154006== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1467 startnew: server/socksd --pidfile log/3/server/socks2_server.pid --reqfile log/3/socksd-request.log --logfile log/3/socks2_server.log --unix-socket /tmp/curl-socksd-oqIj_GpK --backend 127.0.0.1 --config log/3/server.cmd RUN: SOCKS2 server is now running PID 153201 * pid socks5unix => 153201 153201 test 1468...[HTTP GET with host name using SOCKS5h via Unix sockets] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1468 ../src/curl -q --output log/3/curl1468.out --include --trace-ascii log/3/trace1468 --trace-config all --trace-time http://this.is.a.host.name:34527/1468 --proxy socks5h://localhost/tmp/curl-socksd-oqIj_GpK > log/3/stdout1468 2> log/3/stderr1468 1468: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1468 === Start of file http_server.log 02:03:21.424116 ====> Client connect 02:03:21.424155 accept_connection 3 returned 4 02:03:21.424173 accept_connection 3 returned 0 02:03:21.424187 Read 93 bytes 02:03:21.424198 Process 93 bytes request 02:03:21.424212 Got request: GET /verifiedserver HTTP/1.1 02:03:21.424223 Are-we-friendly question received 02:03:21.424248 Wrote request (93 bytes) input to log/3/server.input 02:03:21.424265 Identifying ourselves as friends 02:03:21.424340 Response sent (56 bytes) and written to log/3/server.response 02:03:21.424354 special request received, no persistency 02:03:21.424364 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1468 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file socks2_server.log 02:03:21.429748 Running unix version 02:03:21.429810 Listening on Unix socket /tmp/curl-socksd-oqIj_GpK 02:03:21.429849 Wrote pid 153201 to log/3/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1468 ==154054== ==154054== Process terminating with default action of signal 4 (SIGILL) ==154054== Illegal opcode at address 0x10B08D ==154054== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==154054== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1468 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1487 ../src/curl -q --trace-ascii log/10/trace1487 --trace-config all --trace-time http://127.0.0.1:42929/1487 -J -O --output-dir log/10 > log/10/stdout1487 2> log/10/stderr1487 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1489 ../src/curl -q --output log/8/curl1489.out --trace-ascii log/8/trace1489 --trace-config all --trace-time http://127.0.0.1:43803/1489 -D % -s > log/8/stdout1489 2> log/8/stderr1489 test 1490...["upload" with file:// overwriting existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1490 ../src/curl -q --output log/4/curl1490.out --trace-ascii log/4/trace1490 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/4/result1490.txt -T log/4/upload1490.txt > log/4/stdout1490 2> log/4/stderr1490 1490: output (log/4/result1490.txt) FAILED: --- log/4/check-expected 2024-12-15 02:03:22.853626779 +0000 +++ log/4/check-generated 2024-12-15 02:03:22.853626779 +0000 @@ -1,5 +1 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] +already existing[LF] == Contents of files in the log/4/ dir after test 1490 === Start of file check-expected data[LF] in[LF] file[LF] to[LF] write[LF] === End of file check-expected === Start of file check-generated already existing[LF] === End of file check-generated === Start of file result1490.txt already existing === End of file result1490.txt === Start of file server.cmd Testnum 1490 === End of file server.cmd === Start of file upload1490.txt data in file to write === End of file upload1490.txt === Start of file valgrind1490 ==154156== ==154156== Process terminating with default action of signal 4 (SIGILL) ==154156== Illegal opcode at address 0x10B08D ==154156== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==154156== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1490 test 1487...[HTTP GET with -J and Content-Disposition on 301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1487 ../src/curl -q --trace-ascii log/10/trace1487 --trace-config all --trace-time http://127.0.0.1:42929/1487 -J -O --output-dir log/10 > log/10/stdout1487 2> log/10/stderr1487 1487: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1487 === Start of file http_server.log 02:03:22.545860 ====> Client connect 02:03:22.545891 accept_connection 3 returned 4 02:03:22.545907 accept_connection 3 returned 0 02:03:22.545921 Read 93 bytes 02:03:22.545931 Process 93 bytes request 02:03:22.545944 Got request: GET /verifiedserver HTTP/1.1 02:03:22.545955 Are-we-friendly question received 02:03:22.545978 Wrote request (93 bytes) input to log/10/server.input 02:03:22.545995 Identifying ourselves as friends 02:03:22.546059 Response sent (56 bytes) and written to log/10/server.response 02:03:22.546070 special request received, no persistency 02:03:22.546080 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1487 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind1487 ==154139== ==154139== Process terminating with default action of signal 4 (SIGILL) ==154139== Illegal opcode at address 0x10B08D ==154139== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==154139== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1487 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1491 ../src/curl -q --include --trace-ascii log/5/trace1491 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test1491.txt -o log/5/test1491.txt --skip-existing > log/5/stdout1491 2> log/5/stderr1491 test 1489...[-D sent to stderr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1489 ../src/curl -q --output log/8/curl1489.out --trace-ascii log/8/trace1489 --trace-config all --trace-time http://127.0.0.1:43803/1489 -D % -s > log/8/stdout1489 2> log/8/stderr1489 1489: stderr FAILED: --- log/8/check-expected 2024-12-15 02:03:22.866960351 +0000 +++ log/8/check-generated 2024-12-15 02:03:22.866960351 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] == Contents of files in the log/8/ dir after test 1489 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] === End of file check-expected === Start of file http_server.log 02:03:22.562716 ====> Client connect 02:03:22.562742 accept_connection 3 returned 4 02:03:22.562755 accept_connection 3 returned 0 02:03:22.562766 Read 93 bytes 02:03:22.562775 Process 93 bytes request 02:03:22.562787 Got request: GET /verifiedserver HTTP/1.1 02:03:22.562794 Are-we-friendly question received 02:03:22.562812 Wrote request (93 bytes) input to log/8/server.input 02:03:22.562826 Identifying ourselves as friends 02:03:22.562876 Response sent (56 bytes) and written to log/8/server.response 02:03:22.562884 special request received, no persistency 02:03:22.562892 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1489 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file valgrind1489 ==154179== ==154179== Process terminating with default action of signal 4 (SIGILL) ==154179== Illegal opcode at address 0x10B08D ==154179== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==154179== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1489 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1492 ../src/curl -q --trace-ascii log/1/trace1492 --trace-config all --trace-time http://127.0.0.1:34215/junk1492 -J -O --show-headers --output-dir log/1 > log/1/stdout1492 2> log/1/stderr1492 CMD (0): ../src/curl --max-time 13 --output log/6/http_verify.out --silent --verbose --globoff "http://127.0.0.1:39167/verifiedserver" 2>log/6/http_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1500 ./libtest/lib1500 http://127.0.0.1:38781/1500 > log/2/stdout1500 2> log/2/stderr1500 test 1491...[file:// don't overwrite self with --skip-existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1491 ../src/curl -q --include --trace-ascii log/5/trace1491 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/5/test1491.txt -o log/5/test1491.txt --skip-existing > log/5/stdout1491 2> log/5/stderr1491 1491: stderr FAILED: --- log/5/check-expected 2024-12-15 02:03:23.036963371 +0000 +++ log/5/check-generated 2024-12-15 02:03:23.036963371 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/5/test1491.txt" exists locally[CR][LF] == Contents of files in the log/5/ dir after test 1491 === Start of file check-expected Note: skips transfer, "log/5/test1491.txt" exists locally[CR][LF] === End of file check-expected === Start of file server.cmd Testnum 1491 === End of file server.cmd === Start of file test1491.txt foo bar bar foo moo === End of file test1491.txt === Start of file valgrind1491 ==154292== ==154292== Process terminating with default action of signal 4 (SIGILL) ==154292== Illegal opcode at address 0x10B08D ==154292== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==154292== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1491 test 1492...[HTTP GET with -J + --show-headers but no Content-Disposition:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1492 ../src/curl -q --trace-ascii log/1/trace1492 --trace-config all --trace-time http://127.0.0.1:34215/junk1492 -J -O --show-headers --output-dir log/1 > log/1/stdout1492 2> log/1/stderr1492 1492: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1492 === Start of file http_server.log 02:03:22.780849 ====> Client connect 02:03:22.780881 accept_connection 3 returned 4 02:03:22.780898 accept_connection 3 returned 0 02:03:22.780911 Read 93 bytes 02:03:22.780923 Process 93 bytes request 02:03:22.780936 Got request: GET /verifiedserver HTTP/1.1 02:03:22.780946 Are-we-friendly question received 02:03:22.780967 Wrote request (93 bytes) input to log/1/server.input 02:03:22.780984 Identifying ourselves as friends 02:03:22.781048 Response sent (56 bytes) and written to log/1/server.response 02:03:22.781059 special request received, no persistency 02:03:22.781069 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1492 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1492 ==154377== ==154377== Process terminating with default action of signal 4 (SIGILL) ==154377== Illegal opcode at address 0x10B08D ==154377== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==154377== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1492 test 1500...[curl_multi_wait] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1500 ./libtest/lib1500 http://127.0.0.1:38781/1500 > log/2/stdout1500 2> log/2/stderr1500 1500: data FAILED: --- log/2/check-expected 2024-12-15 02:03:23.466971012 +0000 +++ log/2/check-generated 2024-12-15 02:03:23.466971012 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 all good![CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Hello World[LF] == Contents of files in the log/2/ dir after test 1500 === Start of file check-expected HTTP/1.1 200 all good![CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] Hello World[LF] === End of file check-expected === Start of file http_server.log 02:03:22.780847 ====> Client connect 02:03:22.780881 accept_connection 3 returned 4 02:03:22.780898 accept_connection 3 returned 0 02:03:22.780912 Read 93 bytes 02:03:22.780922 Process 93 bytes request 02:03:22.780936 Got request: GET /verifiedserver HTTP/1.1 02:03:22.780946 Are-we-friendly question received 02:03:22.780976 Wrote request (93 bytes) input to log/2/server.input 02:03:22.780993 Identifying ourselves as friends 02:03:22.781059 Response sent (56 bytes) and written to log/2/server.response 02:03:22.781070 special request received, no persistency 02:03:22.781080 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1500 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1500 URL: http://127.0.0.1:38781/1500 === End of file stderr1500 === Start of file valgrind1500 ==154372== ==154372== Process terminating with default action of signal 4 (SIGILL) ==154372== Illegal opcode at address 0x48EA16B ==154372== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==154372== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==154372== by 0x48EA16B: Curl_open (url.c:519) ==154372== by 0x4880EEF: curl_easy_init (easy.c:370) ==154372== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==154372== by 0x48BF363: Curl_multi_handle (multi.c:416) ==154372== by 0x1090B2: UnknownInlinedFun (lib1500.c:45) ==154372== by 0x1090B2: UnknownInlinedFun (lib1500.c:32) ==154372== by 0x1090B2: main (first.c:220) ==154372== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==154372== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154372== by 0x4A6D258: __tsearch (tsearch.c:337) ==154372== by 0x4A6D258: tsearch (tsearch.c:290) ==154372== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154372== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154372== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154372== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154372== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154372== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154372== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154372== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154372== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154372== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154372== by 0x498986B: setlocale (setlocale.c:337) ==154372== by 0x109059: main (first.c:160) ==154372== ==154372== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==154372== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154372== by 0x4A6D258: __tsearch (tsearch.c:337) ==154372== by 0x4A6D258: tsearch (tsearch.c:290) ==154372== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154372== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154372== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154372== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154372== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154372== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154372== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154372== by 0x498986B: setlocale (setlocale.c:337) ==154372== by 0x109059: main (first.c:160) ==154372== ==154372== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==154372== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154372== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154372== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154372== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154372== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154372== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154372== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154372== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154372== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154372== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154372== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154372== by 0x498986B: setlocale (setlocale.c:337) ==154372== by 0x109059: main (first.c:160) ==154372== ==154372== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==154372== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154372== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154372== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154372== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154372== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154372== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154372== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154372== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154372== by 0x498986B: setlocale (setlocale.c:337) ==154372== by 0x109059: main (first.c:160) ==154372== ==154372== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==154372== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==154372== by 0x48EA143: Curl_open (url.c:510) ==154372== by 0x4880EEF: curl_easy_init (easy.c:370) ==154372== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==154372== by 0x48BF363: Curl_multi_handle (multi.c:416) ==154372== by 0x1090B2: UnknownInlinedFun (lib1500.c:45) ==154372== by 0x1090B2: UnknownInlinedFun (lib1500.c:32) ==154372== by 0x1090B2: main (first.c:220) ==154372== ==154372== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==154372== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154372== by 0x4A6D258: __tsearch (tsearch.c:337) ==154372== by 0x4A6D258: tsearch (tsearch.c:290) ==154372== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154372== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154372== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154372== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154372== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154372== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154372== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154372== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154372== by 0x497C99C: __gconv_compare_alias (gconv_db.c:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1502 ./libtest/lib1502 http://google.com:34527/1502 34527 127.0.0.1 > log/3/stdout1502 2> log/3/stderr1502 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1501 ./libtest/lib1501 ftp://127.0.0.1:35301/1501/ > log/9/stdout1501 2> log/9/stderr1501 * kill pid for ftp-ctrl => 80456 RUN: Process with pid 80452 signalled to die 692) ==154372== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154372== by 0x498986B: setlocale (setlocale.c:337) ==154372== by 0x109059: main (first.c:160) ==154372== ==154372== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==154372== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154372== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154372== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154372== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154372== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154372== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154372== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154372== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154372== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154372== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154372== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154372== by 0x498986B: setlocale (setlocale.c:337) ==154372== by 0x109059: main (first.c:160) ==154372== === End of file valgrind1500 test 1502...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1502 ./libtest/lib1502 http://google.com:34527/1502 34527 127.0.0.1 > log/3/stdout1502 2> log/3/stderr1502 1502: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1502 === Start of file http_server.log 02:03:22.919485 ====> Client connect 02:03:22.919520 accept_connection 3 returned 4 02:03:22.919541 accept_connection 3 returned 0 02:03:22.919556 Read 93 bytes 02:03:22.919567 Process 93 bytes request 02:03:22.919582 Got request: GET /verifiedserver HTTP/1.1 02:03:22.919592 Are-we-friendly question received 02:03:22.919616 Wrote request (93 bytes) input to log/3/server.input 02:03:22.919636 Identifying ourselves as friends 02:03:22.919706 Response sent (56 bytes) and written to log/3/server.response 02:03:22.919718 special request received, no persistency 02:03:22.919728 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1502 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr1502 URL: http://google.com:34527/1502 === End of file stderr1502 === Start of file valgrind1502 ==154499== ==154499== Process terminating with default action of signal 4 (SIGILL) ==154499== Illegal opcode at address 0x48EA16B ==154499== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==154499== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==154499== by 0x48EA16B: Curl_open (url.c:519) ==154499== by 0x4880EEF: curl_easy_init (easy.c:370) ==154499== by 0x109348: test.part.0 (lib1502.c:72) ==154499== by 0x1090AD: UnknownInlinedFun (lib1502.c:55) ==154499== by 0x1090AD: main (first.c:220) ==154499== 408 bytes in 17 blocks are possibly lost in loss record 605 of 656 ==154499== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154499== by 0x4A6D258: __tsearch (tsearch.c:337) ==154499== by 0x4A6D258: tsearch (tsearch.c:290) ==154499== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154499== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154499== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154499== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154499== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154499== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154499== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154499== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154499== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154499== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154499== by 0x498986B: setlocale (setlocale.c:337) ==154499== by 0x109047: main (first.c:160) ==154499== ==154499== 552 bytes in 23 blocks are possibly lost in loss record 610 of 656 ==154499== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154499== by 0x4A6D258: __tsearch (tsearch.c:337) ==154499== by 0x4A6D258: tsearch (tsearch.c:290) ==154499== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154499== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154499== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154499== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154499== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154499== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154499== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154499== by 0x498986B: setlocale (setlocale.c:337) ==154499== by 0x109047: main (first.c:160) ==154499== ==154499== 681 bytes in 17 blocks are possibly lost in loss record 616 of 656 ==154499== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154499== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154499== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154499== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154499== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154499== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154499== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154499== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154499== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154499== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154499== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154499== by 0x498986B: setlocale (setlocale.c:337) ==154499== by 0x109047: main (first.c:160) ==154499== ==154499== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==154499== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154499== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154499== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154499== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154499== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154499== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154499== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154499== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154499== by 0x498986B: setlocale (setlocale.c:337) ==154499== by 0x109047: main (first.c:160) ==154499== ==154499== 5,480 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==154499== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==154499== by 0x48EA143: Curl_open (url.c:510) ==154499== by 0x4880EEF: curl_easy_init (easy.c:370) ==154499== by 0x109348: test.part.0 (lib1502.c:72) ==154499== by 0x1090AD: UnknownInlinedFun (lib1502.c:55) ==154499== by 0x1090AD: main (first.c:220) ==154499== ==154499== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==154499== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154499== by 0x4A6D258: __tsearch (tsearch.c:337) ==154499== by 0x4A6D258: tsearch (tsearch.c:290) ==154499== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154499== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154499== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154499== by 0xCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1506 ./libtest/lib1506 http://127.0.0.1:34719/path/1506 127.0.0.1 34719 > log/5/stdout1506 2> log/5/stderr1506 497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154499== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154499== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154499== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154499== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154499== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154499== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154499== by 0x498986B: setlocale (setlocale.c:337) ==154499== by 0x109047: main (first.c:160) ==154499== ==154499== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==154499== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154499== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154499== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154499== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154499== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154499== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154499== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154499== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154499== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154499== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154499== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154499== by 0x498986B: setlocale (setlocale.c:337) ==154499== by 0x109047: main (first.c:160) ==154499== === End of file valgrind1502 test 1506...[HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1506 ./libtest/lib1506 http://127.0.0.1:34719/path/1506 127.0.0.1 34719 > log/5/stdout1506 2> log/5/stderr1506 1506: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1506 === Start of file http_server.log 02:03:23.268057 ====> Client connect 02:03:23.268089 accept_connection 3 returned 4 02:03:23.268106 accept_connection 3 returned 0 02:03:23.268120 Read 93 bytes 02:03:23.268131 Process 93 bytes request 02:03:23.268146 Got request: GET /verifiedserver HTTP/1.1 02:03:23.268156 Are-we-friendly question received 02:03:23.268180 Wrote request (93 bytes) input to log/5/server.input 02:03:23.268198 Identifying ourselves as friends 02:03:23.268270 Response sent (57 bytes) and written to log/5/server.response 02:03:23.268282 special request received, no persistency 02:03:23.268292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1506 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file stderr1506 URL: http://127.0.0.1:34719/path/1506 === End of file stderr1506 === Start of file valgrind1506 ==154823== ==154823== Process terminating with default action of signal 4 (SIGILL) ==154823== Illegal opcode at address 0x491FA2E ==154823== at 0x491FA2E: formatf.constprop.3 (mprintf.c:809) ==154823== by 0x48BA15A: curl_mvsnprintf (mprintf.c:1075) ==154823== by 0x48BA23B: curl_msnprintf (mprintf.c:1095) ==154823== by 0x109313: test.isra.0 (lib1506.c:51) ==154823== by 0x109092: main (first.c:220) ==154823== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==154823== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154823== by 0x4A6D258: __tsearch (tsearch.c:337) ==154823== by 0x4A6D258: tsearch (tsearch.c:290) ==154823== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154823== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154823== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154823== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154823== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154823== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154823== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154823== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154823== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154823== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154823== by 0x498986B: setlocale (setlocale.c:337) ==154823== by 0x109047: main (first.c:160) ==154823== ==154823== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==154823== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154823== by 0x4A6D258: __tsearch (tsearch.c:337) ==154823== by 0x4A6D258: tsearch (tsearch.c:290) ==154823== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154823== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154823== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154823== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154823== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154823== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154823== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154823== by 0x498986B: setlocale (setlocale.c:337) ==154823== by 0x109047: main (first.c:160) ==154823== ==154823== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==154823== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154823== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154823== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154823== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154823== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154823== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154823== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154823== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154823== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154823== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154823== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154823== by 0x498986B: setlocale (setlocale.c:337) ==154823== by 0x109047: main (first.c:160) ==154823== ==154823== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==154823== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154823== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154823== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154823== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154823== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154823== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154823== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154823== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154823== by 0x498986B: setlocale (setlocale.c:337) ==154823== by 0x109047: main (first.c:160) ==154823== ==154823== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==154823== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154823== by 0x4A6D258: __tsearch (tsearch.c:337) ==154823== by 0x4A6D258: tsearch (tsearch.c:290) ==154823== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154823== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154823== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154823== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154823== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:RUN: Process with pid 80452 gracefully died 170) ==154823== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154823== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154823== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154823== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154823== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154823== by 0x498986B: setlocale (setlocale.c:337) ==154823== by 0x109047: main (first.c:160) ==154823== ==154823== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==154823== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154823== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154823== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154823== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154823== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154823== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154823== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154823== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154823== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154823== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154823== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154823== by 0x498986B: setlocale (setlocale.c:337) ==154823== by 0x109047: main (first.c:160) ==154823== === End of file valgrind1506 test 1501...[FTP with multi interface and slow LIST response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1501 ./libtest/lib1501 ftp://127.0.0.1:35301/1501/ > log/9/stdout1501 2> log/9/stderr1501 1501: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1501 === Start of file ftp_server.log 02:03:22.715462 ====> Client connect 02:03:22.715617 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:22.715896 < "USER anonymous" 02:03:22.715923 > "331 We are happy you popped in![CR][LF]" 02:03:22.716055 < "PASS ftp@example.com" 02:03:22.716074 > "230 Welcome you silly person[CR][LF]" 02:03:22.716189 < "PWD" 02:03:22.716212 > "257 "/" is current directory[CR][LF]" 02:03:22.716341 < "EPSV" 02:03:22.716359 ====> Passive DATA channel requested by client 02:03:22.716369 DATA sockfilt for passive data channel starting... 02:03:22.717478 DATA sockfilt for passive data channel started (pid 154496) 02:03:22.717564 DATA sockfilt for passive data channel listens on port 40491 02:03:22.717594 > "229 Entering Passive Mode (|||40491|)[LF]" 02:03:22.717612 Client has been notified that DATA conn will be accepted on port 40491 02:03:22.717840 Client connects to port 40491 02:03:22.717867 ====> Client established passive DATA connection on port 40491 02:03:22.717925 < "TYPE I" 02:03:22.717947 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:22.718072 < "SIZE verifiedserver" 02:03:22.718098 > "213 17[CR][LF]" 02:03:22.718209 < "RETR verifiedserver" 02:03:22.718234 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:22.718289 =====> Closing passive DATA connection... 02:03:22.718300 Server disconnects passive DATA connection 02:03:22.718486 Server disconnected passive DATA connection 02:03:22.718509 DATA sockfilt for passive data channel quits (pid 154496) 02:03:22.718660 DATA sockfilt for passive data channel quit (pid 154496) 02:03:22.718678 =====> Closed passive DATA connection 02:03:22.718698 > "226 File transfer complete[CR][LF]" 02:03:22.758808 < "QUIT" 02:03:22.758855 > "221 bye bye baby[CR][LF]" 02:03:22.759316 MAIN sockfilt said DISC 02:03:22.759346 ====> Client disconnected 02:03:22.759413 Awaiting input 02:03:23.629719 Failed to read input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:22.915487 ====> Client connect 02:03:22.915769 Received DATA (on stdin) 02:03:22.915786 > 160 bytes data, server => client 02:03:22.915799 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:22.915811 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:22.915822 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:22.915895 < 16 bytes data, client => server 02:03:22.915909 'USER anonymous\r\n' 02:03:22.916060 Received DATA (on stdin) 02:03:22.916070 > 33 bytes data, server => client 02:03:22.916079 '331 We are happy you popped in!\r\n' 02:03:22.916124 < 22 bytes data, client => server 02:03:22.916133 'PASS ftp@example.com\r\n' 02:03:22.916208 Received DATA (on stdin) 02:03:22.916217 > 30 bytes data, server => client 02:03:22.916226 '230 Welcome you silly person\r\n' 02:03:22.916263 < 5 bytes data, client => server 02:03:22.916272 'PWD\r\n' 02:03:22.916345 Received DATA (on stdin) 02:03:22.916354 > 30 bytes data, server => client 02:03:22.916362 '257 "/" is current directory\r\n' 02:03:22.916411 < 6 bytes data, client => server 02:03:22.916422 'EPSV\r\n' 02:03:22.917758 Received DATA (on stdin) 02:03:22.917772 > 38 bytes data, server => client 02:03:22.917783 '229 Entering Passive Mode (|||40491|)\n' 02:03:22.917899 < 8 bytes data, client => server 02:03:22.917916 'TYPE I\r\n' 02:03:22.918082 Received DATA (on stdin) 02:03:22.918092 > 33 bytes data, server => client 02:03:22.918101 '200 I modify TYPE as you wanted\r\n' 02:03:22.918144 < 21 bytes data, client => server 02:03:22.918153 'SIZE verifiedserver\r\n' 02:03:22.918231 Received DATA (on stdin) 02:03:22.918240 > 8 bytes data, server => client 02:03:22.918249 '213 17\r\n' 02:03:22.918286 < 21 bytes data, client => server 02:03:22.918295 'RETR verifiedserver\r\n' 02:03:22.918436 Received DATA (on stdin) 02:03:22.918445 > 29 bytes data, server => client 02:03:22.918453 '150 Binary junk (17 bytes).\r\n' 02:03:22.918833 Received DATA (on stdin) 02:03:22.918844 > 28 bytes data, server => client 02:03:22.918852 '226 File transfer complete\r\n' 02:03:22.958770 < 6 bytes data, client => server 02:03:22.958801 'QUIT\r\n' 02:03:22.958996 Received DATA (on stdin) 02:03:22.959007 > 18 bytes data, server => client 02:03:22.959017 '221 bye bye baby\r\n' 02:03:22.959409 ====> Client disconnect 02:03:22.959552 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:22.917476 Running IPv4 version 02:03:22.917521 Listening on port 40491 02:03:22.917552 Wrote pid 154496 to log/9/server/ftp_sockdata.pid 02:03:22.917566 Received PING (on stdin) 02:03:22.917633 Received PORT (on stdin) 02:03:22.917935 ====> Client connect 02:03:22.918482 Received DATA (on stdin) 02:03:22.918495 > 17 bytes data, server => client 02:03:22.918507 'WE ROOLZ: 80452\r\n' 02:03:22.918530 Received DISC (on stdin) 02:03:22.918540 ====> Client forcibly disconnected 02:03:22.918649 Received QUIT (on stdin) 02:03:22.918659 quits 02:03:22.918699 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY LIST 2 DELAY TYPE 2 Testnum 1501 === End of file server.cmd === Start of file stderr1501 URL: ftp://127.0.0.1:35301/1501/ === End of file stderr1501 === Start of file valgrind1501 ==154546== ==154546== Process terminating with default action of signal 4 (SIGILL) ==154546== Illegal opcode at address 0x48EA16B ==154546== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==154546== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==154546== by 0x48EA16B: Curl_open (url.c:519) ==154546== by 0x4880EEF: curl_easy_init (easy.c:370) ==154546== by 0x1092BF: test (lib1501.c:49) ==154546== by 0x109076: main (first.c:220) ==154546== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==154546== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154546== by 0x4A6D258: __tsearch (tsearch.c:337) ==154546== by 0x4A6D258: tsearch (tsearch.c:290) ==154546== bCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1505 ./libtest/lib1505 http://google.com:43803/1505 43803 127.0.0.1 > log/8/stdout1505 2> log/8/stderr1505 y 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154546== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154546== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154546== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154546== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154546== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154546== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154546== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154546== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154546== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154546== by 0x498986B: setlocale (setlocale.c:337) ==154546== by 0x109047: main (first.c:160) ==154546== ==154546== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==154546== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154546== by 0x4A6D258: __tsearch (tsearch.c:337) ==154546== by 0x4A6D258: tsearch (tsearch.c:290) ==154546== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154546== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154546== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154546== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154546== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154546== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154546== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154546== by 0x498986B: setlocale (setlocale.c:337) ==154546== by 0x109047: main (first.c:160) ==154546== ==154546== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==154546== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154546== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154546== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154546== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154546== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154546== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154546== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154546== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154546== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154546== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154546== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154546== by 0x498986B: setlocale (setlocale.c:337) ==154546== by 0x109047: main (first.c:160) ==154546== ==154546== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==154546== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154546== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154546== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154546== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154546== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154546== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154546== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154546== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154546== by 0x498986B: setlocale (setlocale.c:337) ==154546== by 0x109047: main (first.c:160) ==154546== ==154546== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==154546== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==154546== by 0x48EA143: Curl_open (url.c:510) ==154546== by 0x4880EEF: curl_easy_init (easy.c:370) ==154546== by 0x1092BF: test (lib1501.c:49) ==154546== by 0x109076: main (first.c:220) ==154546== ==154546== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==154546== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154546== by 0x4A6D258: __tsearch (tsearch.c:337) ==154546== by 0x4A6D258: tsearch (tsearch.c:290) ==154546== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154546== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154546== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154546== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154546== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154546== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154546== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154546== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154546== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154546== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154546== by 0x498986B: setlocale (setlocale.c:337) ==154546== by 0x109047: main (first.c:160) ==154546== ==154546== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==154546== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154546== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154546== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154546== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154546== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154546== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154546== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154546== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154546== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154546== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154546== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154546== by 0x498986B: setlocale (setlocale.c:337) ==154546== by 0x109047: main (first.c:160) ==154546== === End of file valgrind1501 test 1505...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1505 ./libtest/lib1505 http://google.com:43803/1505 43803 127.0.0.1 > log/8/stdout1505 2> log/8/stderr1505 1505: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1505 === Start of file http_server.log 02:03:23.095573 ====> Client connect 02:03:23.095615 accept_connection 3 returned 4 02:03:23.095632 accept_connection 3 returned 0 02:03:23.095646 Read 93 bytes 02:03:23.095658 Process 93 bytes request 02:03:23.095670 Got request: GET /verifiedserver HTTP/1.1 02:03:23.095680 Are-we-friendly question received 02:03:23.095704 Wrote request (93 bytes) input to log/8/server.input 02:03:23.095722 Identifying ourselves as friends 02:03:23.095797 Response sent (56 bytes) and written to log/8/server.response 02:03:23.095811 special request received, no persistency 02:03:23.095821 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1505 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr1505 URL: http://google.com:43803/1505 === End of file stderr1505 === Start of file valgrind1505 ==154680== ==154680== Process terminating with default action of signal 4 (SIGILL) ==154680== Illegal opcode at address 0x48EA16B ==154680== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==154680== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==154680== by 0x48EA16B: Curl_open (url.c:519) ==154680== by 0x4880EEF: curl_easy_init (easy.c:370) ==154680== by 0x109348: test.part.0 (lib1502.c:72) ==154680== by 0x1090AD: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1504 ./libtest/lib1504 http://google.com:42929/1504 42929 127.0.0.1 > log/10/stdout1504 2> log/10/stderr1504 UnknownInlinedFun (lib1502.c:55) ==154680== by 0x1090AD: main (first.c:220) ==154680== 408 bytes in 17 blocks are possibly lost in loss record 605 of 656 ==154680== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154680== by 0x4A6D258: __tsearch (tsearch.c:337) ==154680== by 0x4A6D258: tsearch (tsearch.c:290) ==154680== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154680== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154680== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154680== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154680== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154680== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154680== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154680== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154680== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154680== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154680== by 0x498986B: setlocale (setlocale.c:337) ==154680== by 0x109047: main (first.c:160) ==154680== ==154680== 552 bytes in 23 blocks are possibly lost in loss record 610 of 656 ==154680== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154680== by 0x4A6D258: __tsearch (tsearch.c:337) ==154680== by 0x4A6D258: tsearch (tsearch.c:290) ==154680== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154680== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154680== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154680== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154680== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154680== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154680== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154680== by 0x498986B: setlocale (setlocale.c:337) ==154680== by 0x109047: main (first.c:160) ==154680== ==154680== 681 bytes in 17 blocks are possibly lost in loss record 616 of 656 ==154680== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154680== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154680== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154680== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154680== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154680== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154680== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154680== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154680== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154680== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154680== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154680== by 0x498986B: setlocale (setlocale.c:337) ==154680== by 0x109047: main (first.c:160) ==154680== ==154680== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==154680== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154680== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154680== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154680== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154680== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154680== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154680== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154680== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154680== by 0x498986B: setlocale (setlocale.c:337) ==154680== by 0x109047: main (first.c:160) ==154680== ==154680== 5,480 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==154680== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==154680== by 0x48EA143: Curl_open (url.c:510) ==154680== by 0x4880EEF: curl_easy_init (easy.c:370) ==154680== by 0x109348: test.part.0 (lib1502.c:72) ==154680== by 0x1090AD: UnknownInlinedFun (lib1502.c:55) ==154680== by 0x1090AD: main (first.c:220) ==154680== ==154680== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==154680== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154680== by 0x4A6D258: __tsearch (tsearch.c:337) ==154680== by 0x4A6D258: tsearch (tsearch.c:290) ==154680== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154680== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154680== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154680== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154680== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154680== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154680== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154680== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154680== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154680== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154680== by 0x498986B: setlocale (setlocale.c:337) ==154680== by 0x109047: main (first.c:160) ==154680== ==154680== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==154680== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154680== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154680== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154680== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154680== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154680== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154680== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154680== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154680== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154680== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154680== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154680== by 0x498986B: setlocale (setlocale.c:337) ==154680== by 0x109047: main (first.c:160) ==154680== === End of file valgrind1505 test 1504...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1504 ./libtest/lib1504 http://google.com:42929/1504 42929 127.0.0.1 > log/10/stdout1504 2> log/10/stderr1504 1504: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1504 === Start of file http_server.log 02:03:23.089645 ====> Client connect 02:03:23.089670 accept_connection 3 returned 4 02:03:23.089682 accept_connection 3 returned 0 02:03:23.089692 Read 93 bytes 02:03:23.089701 Process 93 bytes request 02:03:23.089712 Got request: GET /verifiedserver HTTP/1.1 02:03:23.089719 Are-we-friendly question received 02:03:23.089736 Wrote request (93 bytes) input to log/10/server.input 02:03:23.089749 Identifying ourselves as friends 02:03:23.089797 Response sent (56 bytes) and written to log/10/server.response 02:03:23.089805 special request received, no persistency 02:03:23.089812 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1504 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr1504 URL: http://google.com:42929/1504 === End of file stderr1504 === Start of file valgrind1504 ==154654== ==154654== Process termiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1485 ./libtest/lib1485 http://127.0.0.1:39167/1485 > log/6/stdout1485 2> log/6/stderr1485 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1503 ./libtest/lib1503 http://google.com:36813/1503 36813 127.0.0.1 > log/4/stdout1503 2> log/4/stderr1503 nating with default action of signal 4 (SIGILL) ==154654== Illegal opcode at address 0x48EA16B ==154654== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==154654== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==154654== by 0x48EA16B: Curl_open (url.c:519) ==154654== by 0x4880EEF: curl_easy_init (easy.c:370) ==154654== by 0x109348: test.part.0 (lib1502.c:72) ==154654== by 0x1090AD: UnknownInlinedFun (lib1502.c:55) ==154654== by 0x1090AD: main (first.c:220) ==154654== 408 bytes in 17 blocks are possibly lost in loss record 605 of 656 ==154654== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154654== by 0x4A6D258: __tsearch (tsearch.c:337) ==154654== by 0x4A6D258: tsearch (tsearch.c:290) ==154654== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154654== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154654== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154654== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154654== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154654== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154654== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154654== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154654== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154654== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154654== by 0x498986B: setlocale (setlocale.c:337) ==154654== by 0x109047: main (first.c:160) ==154654== ==154654== 552 bytes in 23 blocks are possibly lost in loss record 610 of 656 ==154654== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154654== by 0x4A6D258: __tsearch (tsearch.c:337) ==154654== by 0x4A6D258: tsearch (tsearch.c:290) ==154654== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154654== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154654== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154654== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154654== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154654== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154654== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154654== by 0x498986B: setlocale (setlocale.c:337) ==154654== by 0x109047: main (first.c:160) ==154654== ==154654== 681 bytes in 17 blocks are possibly lost in loss record 616 of 656 ==154654== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154654== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154654== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154654== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154654== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154654== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154654== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154654== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154654== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154654== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154654== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154654== by 0x498986B: setlocale (setlocale.c:337) ==154654== by 0x109047: main (first.c:160) ==154654== ==154654== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==154654== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154654== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154654== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154654== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154654== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154654== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154654== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154654== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154654== by 0x498986B: setlocale (setlocale.c:337) ==154654== by 0x109047: main (first.c:160) ==154654== ==154654== 5,480 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==154654== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==154654== by 0x48EA143: Curl_open (url.c:510) ==154654== by 0x4880EEF: curl_easy_init (easy.c:370) ==154654== by 0x109348: test.part.0 (lib1502.c:72) ==154654== by 0x1090AD: UnknownInlinedFun (lib1502.c:55) ==154654== by 0x1090AD: main (first.c:220) ==154654== ==154654== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==154654== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154654== by 0x4A6D258: __tsearch (tsearch.c:337) ==154654== by 0x4A6D258: tsearch (tsearch.c:290) ==154654== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154654== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154654== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154654== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154654== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154654== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154654== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154654== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154654== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154654== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154654== by 0x498986B: setlocale (setlocale.c:337) ==154654== by 0x109047: main (first.c:160) ==154654== ==154654== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==154654== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154654== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154654== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154654== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154654== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154654== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154654== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154654== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154654== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154654== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154654== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154654== by 0x498986B: setlocale (setlocale.c:337) ==154654== by 0x109047: main (first.c:160) ==154654== === End of file valgrind1504 test 1503...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1503 ./libtest/lib1503 http://google.com:36813/1503 36813 127.0.0.1 > log/4/stdout1503 2> log/4/stderr1503 1503: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1503 === Start of file http_server.log 02:03:23.080124 ====> Client connect 02:03:23.080155 accept_connection 3 returned 4 02:03:23.080172 accept_connection 3 returned 0 02:03:23.080187 Read 93 bytes 02:03:23.080198 Process 93 bytes request 02:03:23.080213 Got request: GET /verifiedserver HTTP/1.1 02:03:23.080223 Are-we-friendly question received 02:03:23.080245 Wrote request (93 bytes) input to log/4/server.input 02:03:23.080262 Identifying ourselves as friends 02:03:23.080330 Response sent (56 bytes) and written to log/4/server.response 02:03:23.080343 special request received, no persistency 02:03:23.080352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1503 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr1503 URL: http://google.com:36813/1503 === End of file stderr1503 === Start of file valgrind1503 ==154642== ==154642== Process terminating with default action of signal 4 (SIGILL) ==154642== Illegal opcode at address 0x48EA16B ==154642== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==154642== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==154642== by 0x48EA16B: Curl_open (url.c:519) ==154642== by 0x4880EEF: curl_easy_init (easy.c:370) ==154642== by 0x109348: test.part.0 (lib1502.c:72) ==154642== by 0x1090AD: UnknownInlinedFun (lib1502.c:55) ==154642== by 0x1090AD: main (first.c:220) ==154642== 408 bytes in 17 blocks are possibly lost in loss record 605 of 656 ==154642== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154642== by 0x4A6D258: __tsearch (tsearch.c:337) ==154642== by 0x4A6D258: tsearch (tsearch.c:290) ==154642== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154642== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154642== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154642== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154642== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154642== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154642== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154642== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154642== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154642== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154642== by 0x498986B: setlocale (setlocale.c:337) ==154642== by 0x109047: main (first.c:160) ==154642== ==154642== 552 bytes in 23 blocks are possibly lost in loss record 610 of 656 ==154642== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154642== by 0x4A6D258: __tsearch (tsearch.c:337) ==154642== by 0x4A6D258: tsearch (tsearch.c:290) ==154642== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154642== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154642== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154642== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154642== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154642== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154642== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154642== by 0x498986B: setlocale (setlocale.c:337) ==154642== by 0x109047: main (first.c:160) ==154642== ==154642== 681 bytes in 17 blocks are possibly lost in loss record 616 of 656 ==154642== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154642== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154642== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154642== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154642== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154642== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154642== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154642== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154642== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154642== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154642== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154642== by 0x498986B: setlocale (setlocale.c:337) ==154642== by 0x109047: main (first.c:160) ==154642== ==154642== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==154642== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154642== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154642== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154642== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154642== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154642== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154642== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154642== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154642== by 0x498986B: setlocale (setlocale.c:337) ==154642== by 0x109047: main (first.c:160) ==154642== ==154642== 5,480 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==154642== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==154642== by 0x48EA143: Curl_open (url.c:510) ==154642== by 0x4880EEF: curl_easy_init (easy.c:370) ==154642== by 0x109348: test.part.0 (lib1502.c:72) ==154642== by 0x1090AD: UnknownInlinedFun (lib1502.c:55) ==154642== by 0x1090AD: main (first.c:220) ==154642== ==154642== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==154642== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154642== by 0x4A6D258: __tsearch (tsearch.c:337) ==154642== by 0x4A6D258: tsearch (tsearch.c:290) ==154642== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154642== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154642== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154642== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154642== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154642== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154642== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154642== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154642== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154642== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154642== by 0x498986B: setlocale (setlocale.c:337) ==154642== by 0x109047: main (first.c:160) ==154642== ==154642== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==154642== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154642== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154642== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154642== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154642== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154642== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154642== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154642== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154642== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154642== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154642== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154642== by 0x498986B: setlocale (setlocale.c:337) ==154642== by 0x109047: main (first.c:160) ==154642== === End of file valgrind1503 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_server.pid" --logfile "log/6/http_server.log" --logdir "log/6" --portfile log/6/server/http_server.port --config log/6/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/6/http_verify.out --silent --verbose --globoff "http://127.0.0.1:39167/verifiedserver" 2>log/6/http_verify.log RUN: HTTP server is on PID 154001 port 39167 * pid http => 154001 154001 test 1485...[get curlinfo on last header in callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1485 ./libtest/lib1485 http://127.0.0.1:39167/1485 > log/6/stdout1485 2> log/6/stderr1485 1485: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1485 === Start of file http_server.log 02:03:22.382596 Running HTTP IPv4 version on port 39167 02:03:22.382698 Wrote pid 154001 to log/6/server/http_server.pid 02:03:22.382730 WrotCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1507 ./libtest/lib1507 smtp://127.0.0.1:41437/1507 log/1/stdout1507 2> log/1/stderr1507 e port 39167 to log/6/server/http_server.port 02:03:23.387503 ====> Client connect 02:03:23.387520 accept_connection 3 returned 4 02:03:23.387534 accept_connection 3 returned 0 02:03:23.387547 Read 93 bytes 02:03:23.387559 Process 93 bytes request 02:03:23.387574 Got request: GET /verifiedserver HTTP/1.1 02:03:23.387583 Are-we-friendly question received 02:03:23.387603 Wrote request (93 bytes) input to log/6/server.input 02:03:23.387621 Identifying ourselves as friends 02:03:23.387687 Response sent (57 bytes) and written to log/6/server.response 02:03:23.387697 special request received, no persistency 02:03:23.387705 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 1485 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr1485 URL: http://127.0.0.1:39167/1485 === End of file stderr1485 === Start of file valgrind1485 ==154930== ==154930== Process terminating with default action of signal 4 (SIGILL) ==154930== Illegal opcode at address 0x1090A8 ==154930== at 0x1090A8: UnknownInlinedFun (string_fortified.h:59) ==154930== by 0x1090A8: UnknownInlinedFun (lib1485.c:97) ==154930== by 0x1090A8: main (first.c:220) ==154930== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==154930== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154930== by 0x4A6D258: __tsearch (tsearch.c:337) ==154930== by 0x4A6D258: tsearch (tsearch.c:290) ==154930== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154930== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154930== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154930== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154930== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154930== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154930== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154930== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154930== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154930== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154930== by 0x498986B: setlocale (setlocale.c:337) ==154930== by 0x109059: main (first.c:160) ==154930== ==154930== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==154930== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154930== by 0x4A6D258: __tsearch (tsearch.c:337) ==154930== by 0x4A6D258: tsearch (tsearch.c:290) ==154930== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154930== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154930== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154930== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154930== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154930== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154930== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154930== by 0x498986B: setlocale (setlocale.c:337) ==154930== by 0x109059: main (first.c:160) ==154930== ==154930== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==154930== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154930== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154930== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154930== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154930== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154930== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154930== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154930== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154930== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154930== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154930== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154930== by 0x498986B: setlocale (setlocale.c:337) ==154930== by 0x109059: main (first.c:160) ==154930== ==154930== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==154930== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154930== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154930== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154930== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154930== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154930== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154930== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154930== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154930== by 0x498986B: setlocale (setlocale.c:337) ==154930== by 0x109059: main (first.c:160) ==154930== ==154930== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==154930== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154930== by 0x4A6D258: __tsearch (tsearch.c:337) ==154930== by 0x4A6D258: tsearch (tsearch.c:290) ==154930== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154930== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154930== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154930== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154930== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154930== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154930== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154930== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154930== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154930== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154930== by 0x498986B: setlocale (setlocale.c:337) ==154930== by 0x109059: main (first.c:160) ==154930== ==154930== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==154930== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154930== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154930== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154930== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154930== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154930== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154930== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154930== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154930== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154930== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154930== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154930== by 0x498986B: setlocale (setlocale.c:337) ==154930== by 0x109059: main (first.c:160) ==154930== === End of file valgrind1485 test 1507...[SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1507 ./libtest/lib1507 smtp://127.0.0.1:41437/1507 log/1/stdout1507 2> log/1/stderr1507 1507: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1507 === Start of file server.cmd Testnum 1507 === End of file server.cmd === Start of file smtp_server.log 02:03:23.070472 ====> Client connect 02:03:23.070743 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:23.070927 < "EHLO verifiedserver" 02:03:23.070965 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:23.071141 < "HELP" 02:03:23.071171 > "214 WE ROOLZ: 109154[CR][LF]" 02:03:23.071186 return proof we are we 02:03:23.071376 < "QUIT" 02:03:23.071402 > "221 curl ESMTP server signing off[CR][LF]" 02:03:23.071748 MAIN sockfilt said DISC 02:03:23.071776 ====> Client disconnected 02:03:23.071825 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:23.269463 ====> Client connect 02:03:23.270752 Received DATA (on stdin) 02:03:23.270780 > 160 bytes data, server => client 02:03:23.270793 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:23.270804 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:23.270815 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:23.270938 < 21 bytes data, client => server 02:03:23.270954 'EHLO verifiedserver\r\n' 02:03:23.271108 Received DATA (on stdin) 02:03:23.271121 > 53 bytes data, server => client 02:03:23.271133 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:23.271190 < 6 bytes data, client => server 02:03:23.271203 'HELP\r\n' 02:03:23.271324 Received DATA (on stdin) 02:03:23.271336 > 22 bytes data, server => client 02:03:23.271347 '214 WE ROOLZ: 109154\r\n' 02:03:23.271428 < 6 bytes data, client => server 02:03:23.271444 'QUIT\r\n' 02:03:23.271542 Received DATA (on stdin) 02:03:23.271554 > 35 bytes data, server => client 02:03:23.271566 '221 curl ESMTP server signing off\r\n' 02:03:23.271838 ====> Client disconnect 02:03:23.271965 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1507 URL: smtp://127.0.0.1:41437/1507 === End of file stderr1507 === Start of file stdin-for-1507 From: different To: another body === End of file stdin-for-1507 === Start of file valgrind1507 ==154821== ==154821== Process terminating with default action of signal 4 (SIGILL) ==154821== Illegal opcode at address 0x48EA16B ==154821== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==154821== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==154821== by 0x48EA16B: Curl_open (url.c:519) ==154821== by 0x4880EEF: curl_easy_init (easy.c:370) ==154821== by 0x109227: test (lib1507.c:61) ==154821== by 0x109076: main (first.c:220) ==154821== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==154821== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154821== by 0x4A6D258: __tsearch (tsearch.c:337) ==154821== by 0x4A6D258: tsearch (tsearch.c:290) ==154821== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154821== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154821== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154821== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154821== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154821== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154821== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154821== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154821== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154821== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154821== by 0x498986B: setlocale (setlocale.c:337) ==154821== by 0x109047: main (first.c:160) ==154821== ==154821== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==154821== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154821== by 0x4A6D258: __tsearch (tsearch.c:337) ==154821== by 0x4A6D258: tsearch (tsearch.c:290) ==154821== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154821== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154821== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154821== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154821== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154821== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154821== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154821== by 0x498986B: setlocale (setlocale.c:337) ==154821== by 0x109047: main (first.c:160) ==154821== ==154821== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==154821== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154821== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154821== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154821== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154821== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154821== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154821== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154821== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154821== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154821== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154821== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154821== by 0x498986B: setlocale (setlocale.c:337) ==154821== by 0x109047: main (first.c:160) ==154821== ==154821== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==154821== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154821== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154821== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154821== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154821== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154821== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154821== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154821== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154821== by 0x498986B: setlocale (setlocale.c:337) ==154821== by 0x109047: main (first.c:160) ==154821== ==154821== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==154821== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==154821== by 0x48EA143: Curl_open (url.c:510) ==154821== by 0x4880EEF: curl_easy_init (easy.c:370) ==154821== by 0x109227: test (lib1507.c:61) ==154821== by 0x109076: main (first.c:220) ==154821== ==154821== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==154821== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154821== by 0x4A6D258: __tsearch (tsearch.c:337) ==154821== by 0x4A6D258: tsearch (tsearch.c:290) ==154821== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154821== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154821== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154821== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154821== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154821== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154821== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154821== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154821== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154821== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154821== by 0x498986B: setlocale (setlocale.c:337) ==154821== by 0x109047: main (first.c:160) ==154821== ==154821== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==154821== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154821== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154821== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154821== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154821== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154821== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154821== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154821== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154821== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:14CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1508 ./libtest/lib1508 http://127.0.0.1:47/path/1508 > log/2/stdout1508 2> log/2/stderr1508 3) ==154821== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154821== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154821== by 0x498986B: setlocale (setlocale.c:337) ==154821== by 0x109047: main (first.c:160) ==154821== === End of file valgrind1507 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1509 ./libtest/lib1509 http://the.old.moo.1509:34527/1509 127.0.0.1:35495 > log/3/stdout1509 2> log/3/stderr1509 * starts no server test 1508...[Close a multi handle without using it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1508 ./libtest/lib1508 http://127.0.0.1:47/path/1508 > log/2/stdout1508 2> log/2/stderr1508 1508: output (log/2/stdout1508) FAILED: --- log/2/check-expected 2024-12-15 02:03:24.326986297 +0000 +++ log/2/check-generated 2024-12-15 02:03:24.326986297 +0000 @@ -1 +0,0 @@ -We are done[LF] == Contents of files in the log/2/ dir after test 1508 === Start of file check-expected We are done[LF] === End of file check-expected === Start of file server.cmd Testnum 1508 === End of file server.cmd === Start of file stderr1508 URL: http://127.0.0.1:47/path/1508 === End of file stderr1508 === Start of file valgrind1508 ==154991== ==154991== Process terminating with default action of signal 4 (SIGILL) ==154991== Illegal opcode at address 0x48EA16B ==154991== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==154991== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==154991== by 0x48EA16B: Curl_open (url.c:519) ==154991== by 0x4880EEF: curl_easy_init (easy.c:370) ==154991== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==154991== by 0x48BF363: Curl_multi_handle (multi.c:416) ==154991== by 0x109086: UnknownInlinedFun (lib1508.c:39) ==154991== by 0x109086: UnknownInlinedFun (lib1508.c:30) ==154991== by 0x109086: main (first.c:220) ==154991== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==154991== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154991== by 0x4A6D258: __tsearch (tsearch.c:337) ==154991== by 0x4A6D258: tsearch (tsearch.c:290) ==154991== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154991== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154991== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154991== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154991== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154991== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154991== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154991== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154991== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154991== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154991== by 0x498986B: setlocale (setlocale.c:337) ==154991== by 0x109047: main (first.c:160) ==154991== ==154991== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==154991== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154991== by 0x4A6D258: __tsearch (tsearch.c:337) ==154991== by 0x4A6D258: tsearch (tsearch.c:290) ==154991== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154991== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154991== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154991== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154991== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154991== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154991== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154991== by 0x498986B: setlocale (setlocale.c:337) ==154991== by 0x109047: main (first.c:160) ==154991== ==154991== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==154991== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154991== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154991== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154991== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154991== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154991== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==154991== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==154991== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154991== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154991== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154991== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154991== by 0x498986B: setlocale (setlocale.c:337) ==154991== by 0x109047: main (first.c:160) ==154991== ==154991== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==154991== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154991== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154991== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==154991== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==154991== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154991== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154991== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154991== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154991== by 0x498986B: setlocale (setlocale.c:337) ==154991== by 0x109047: main (first.c:160) ==154991== ==154991== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==154991== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==154991== by 0x48EA143: Curl_open (url.c:510) ==154991== by 0x4880EEF: curl_easy_init (easy.c:370) ==154991== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==154991== by 0x48BF363: Curl_multi_handle (multi.c:416) ==154991== by 0x109086: UnknownInlinedFun (lib1508.c:39) ==154991== by 0x109086: UnknownInlinedFun (lib1508.c:30) ==154991== by 0x109086: main (first.c:220) ==154991== ==154991== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==154991== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154991== by 0x4A6D258: __tsearch (tsearch.c:337) ==154991== by 0x4A6D258: tsearch (tsearch.c:290) ==154991== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==154991== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154991== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154991== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154991== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154991== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154991== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154991== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154991== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154991== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154991== by 0x498986B: setlocale (setlocale.c:337) ==154991== by 0x109047: main (first.c:160) ==154991== ==154991== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==154991== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==154991== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==154991== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==154991== by 0x497DBB2: add_alias (gconv_conf.c:178) ==154991== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==154991== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==154991== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==154991== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==154991== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==154991== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==154991== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==154991== by 0x498986B: setlocale (setlocale.c:337) ==154991== by 0x109047: main (first.c:160) ==154991== === End of file valgrind1508 test 1509...[simple multi http:// through proxytunnel with authentication info] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1509 ./libtest/lib1509 http://the.old.moo.1509:34527/1509 127.0.0.1:35495 > log/3/stdout1509 2> log/3/stderr1509 1509: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1509 === Start of file http2_server.log 02:03:23.871853 ====> Client connect 02:03:23.871883 accept_connection 3 returned 4 02:03:23.871899 accept_connection 3 returned 0 02:03:23.871911 Read 93 bytes 02:03:23.871921 Process 93 bytes request 02:03:23.871932 Got request: GET /verifiedserver HTTP/1.1 02:03:23.871940 Are-we-friendly question received 02:03:23.871962 Wrote request (93 bytes) input to log/3/proxy.input 02:03:23.871977 Identifying ourselves as friends 02:03:23.872040 Response sent (57 bytes) and written to log/3/proxy.response 02:03:23.872051 special request received, no persistency 02:03:23.872059 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35495... * Connected to 127.0.0.1 (127.0.0.1) port 35495 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35495 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 112673 === End of file http2_verify.out === Start of file http_server.log 02:03:23.850900 ====> Client connect 02:03:23.850935 accept_connection 3 returned 4 02:03:23.850953 accept_connection 3 returned 0 02:03:23.850967 Read 93 bytes 02:03:23.850978 Process 93 bytes request 02:03:23.850993 Got request: GET /verifiedserver HTTP/1.1 02:03:23.851003 Are-we-friendly question received 02:03:23.851036 Wrote request (93 bytes) input to log/3/server.input 02:03:23.851055 Identifying ourselves as friends 02:03:23.851129 Response sent (56 bytes) and written to log/3/server.response 02:03:23.851143 special request received, no persistency 02:03:23.851153 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112673 === End of file proxy.response === Start of file server.cmd connection-monitor Testnum 1509 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr1509 URL: http://the.old.moo.1509:34527/1509 === End of file stderr1509 === Start of file test1509.txt foo bar bar foo moo === End of file test1509.txt === Start of file valgrind1509 ==155092== ==155092== Process terminating with default action of signal 4 (SIGILL) ==155092== Illegal opcode at address 0x48EA16B ==155092== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155092== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155092== by 0x48EA16B: Curl_open (url.c:519) ==155092== by 0x4880EEF: curl_easy_init (easy.c:370) ==155092== by 0x1090AD: UnknownInlinedFun (lib1509.c:44) ==155092== by 0x1090AD: UnknownInlinedFun (lib1509.c:35) ==155092== by 0x1090AD: main (first.c:220) ==155092== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155092== by 0x4A6D258: __tsearch (tsearch.c:337) ==155092== by 0x4A6D258: tsearch (tsearch.c:290) ==155092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155092== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155092== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155092== by 0x498986B: setlocale (setlocale.c:337) ==155092== by 0x109056: main (first.c:160) ==155092== ==155092== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155092== by 0x4A6D258: __tsearch (tsearch.c:337) ==155092== by 0x4A6D258: tsearch (tsearch.c:290) ==155092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155092== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155092== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155092== by 0x498986B: setlocale (setlocale.c:337) ==155092== by 0x109056: main (first.c:160) ==155092== ==155092== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155092== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155092== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155092== by 0x498986B: setlocale (setlocale.c:337) ==155092== by 0x109056: main (first.c:160) ==155092== ==155092== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155092== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155092== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155092== by 0x498986B: setlocale (setlocale.c:337) ==155092== by 0x109056: main (first.c:160) ==155092== ==155092== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155092== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155092== by 0x48EA143: Curl_open (url.c:510) ==155092== by 0x4880EEF: curl_easy_init (easy.c:370) ==155092== by 0x1090AD: UnknownInlinedFun (lib1509.c:44) ==155092== by 0x1090AD: UnknownInlinedFun (lib1509.c:35) ==155092== by 0x1090AD: main (first.c:220) ==155092== ==155092== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155092== by 0x4A6D258: __tsearch (tsearch.c:337) ==155092== by 0x4A6D258: tsearch (tsearch.c:290) ==155092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155092== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155092== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1511 ./libtest/lib1511 http://127.0.0.1:34719/1511 > log/5/stdout1511 2> log/5/stderr1511 55092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155092== by 0x498986B: setlocale (setlocale.c:337) ==155092== by 0x109056: main (first.c:160) ==155092== ==155092== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155092== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155092== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155092== by 0x498986B: setlocale (setlocale.c:337) ==155092== by 0x109056: main (first.c:160) ==155092== === End of file valgrind1509 test 1511...[HTTP GET time conditions in repeated requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1511 ./libtest/lib1511 http://127.0.0.1:34719/1511 > log/5/stdout1511 2> log/5/stderr1511 1511: data FAILED: --- log/5/check-expected 2024-12-15 02:03:24.526989849 +0000 +++ log/5/check-generated 2024-12-15 02:03:24.526989849 +0000 @@ -1,17 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fakem[CR][LF] -Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fakem[CR][LF] -Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Hello World[LF] == Contents of files in the log/5/ dir after test 1511 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fakem[CR][LF] Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fakem[CR][LF] Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] Hello World[LF] === End of file check-expected === Start of file http_server.log 02:03:23.870666 ====> Client connect 02:03:23.870694 accept_connection 3 returned 4 02:03:23.870707 accept_connection 3 returned 0 02:03:23.870718 Read 93 bytes 02:03:23.870726 Process 93 bytes request 02:03:23.870738 Got request: GET /verifiedserver HTTP/1.1 02:03:23.870746 Are-we-friendly question received 02:03:23.870763 Wrote request (93 bytes) input to log/5/server.input 02:03:23.870776 Identifying ourselves as friends 02:03:23.870827 Response sent (57 bytes) and written to log/5/server.response 02:03:23.870836 special request received, no persistency 02:03:23.870843 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1511 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file stderr1511 URL: http://127.0.0.1:34719/1511 === End of file stderr1511 === Start of file valgrind1511 ==155090== ==155090== Process terminating with default action of signal 4 (SIGILL) ==155090== Illegal opcode at address 0x48EA16B ==155090== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155090== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155090== by 0x48EA16B: Curl_open (url.c:519) ==155090== by 0x4880EEF: curl_easy_init (easy.c:370) ==155090== by 0x10909B: UnknownInlinedFun (lib1511.c:36) ==155090== by 0x10909B: UnknownInlinedFun (lib1511.c:28) ==155090== by 0x10909B: main (first.c:220) ==155090== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155090== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155090== by 0x4A6D258: __tsearch (tsearch.c:337) ==155090== by 0x4A6D258: tsearch (tsearch.c:290) ==155090== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155090== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155090== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155090== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155090== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155090== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155090== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155090== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155090== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155090== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155090== by 0x498986B: setlocale (setlocale.c:337) ==155090== by 0x109056: main (first.c:160) ==155090== ==155090== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155090== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155090== by 0x4A6D258: __tsearch (tsearch.c:337) ==155090== by 0x4A6D258: tsearch (tsearch.c:290) ==155090== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155090== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155090== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155090== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155090== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155090== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155090== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155090== by 0x498986B: setlocale (setlocale.c:337) ==155090== by 0x109056: main (first.c:160) ==155090== ==155090== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155090== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155090== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155090== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155090== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155090== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155090== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155090== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155090== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155090== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155090== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155090== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155090== by 0x498986B: setlocale (setlocale.c:337) ==155090== by 0x109056: main (first.c:160) ==155090== ==155090== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155090== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155090== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155090== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155090== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155090== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155090== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155090== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155090== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155090== by 0x498986B: setlocale (setlocale.c:337) ==155090== by 0x109056: main (first.c:160) ==155090== ==155090== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155090== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155090== by 0x48EA143: Curl_open (url.c:510) ==155090== by 0x4880EEF: curl_easy_init (easy.c:370) ==155090== by 0x10909B: UnknownInlinedFun (lib1511.c:36) ==155090== by 0x10909B: UnknownInlinedFun (lib1511.c:28) ==155090== by 0x10909B: main (first.c:220) ==155090== ==155090== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155090== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155090== by 0x4A6D258: __tsearch (tsearch.c:337) ==155090== by 0x4A6D258: tsearch (tsearch.c:290) ==155090== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155090== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155090== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155090== by 0x497DBB2: read_conf_fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1513 ./libtest/lib1513 http://127.0.0.1:38509/1513 > log/9/stdout1513 2> log/9/stderr1513 .isra.0 (gconv_parseconfdir.h:101) ==155090== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155090== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155090== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155090== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155090== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155090== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155090== by 0x498986B: setlocale (setlocale.c:337) ==155090== by 0x109056: main (first.c:160) ==155090== ==155090== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155090== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155090== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155090== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155090== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155090== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155090== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155090== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155090== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155090== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155090== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155090== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155090== by 0x498986B: setlocale (setlocale.c:337) ==155090== by 0x109056: main (first.c:160) ==155090== === End of file valgrind1511 test 1513...[return failure immediately from progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1513 ./libtest/lib1513 http://127.0.0.1:38509/1513 > log/9/stdout1513 2> log/9/stderr1513 1513: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:24.670325729 +0000 +++ log/9/check-generated 2024-12-15 02:03:24.670325729 +0000 @@ -1 +0,0 @@ -PROGRESSFUNCTION called[LF] == Contents of files in the log/9/ dir after test 1513 === Start of file check-expected PROGRESSFUNCTION called[LF] === End of file check-expected === Start of file http_server.log 02:03:23.948214 ====> Client connect 02:03:23.948247 accept_connection 3 returned 4 02:03:23.948262 accept_connection 3 returned 0 02:03:23.948275 Read 93 bytes 02:03:23.948283 Process 93 bytes request 02:03:23.948295 Got request: GET /verifiedserver HTTP/1.1 02:03:23.948302 Are-we-friendly question received 02:03:23.948320 Wrote request (93 bytes) input to log/9/server.input 02:03:23.948333 Identifying ourselves as friends 02:03:23.948393 Response sent (56 bytes) and written to log/9/server.response 02:03:23.948404 special request received, no persistency 02:03:23.948413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1513 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr1513 URL: http://127.0.0.1:38509/1513 === End of file stderr1513 === Start of file valgrind1513 ==155196== ==155196== Process terminating with default action of signal 4 (SIGILL) ==155196== Illegal opcode at address 0x48EA16B ==155196== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155196== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155196== by 0x48EA16B: Curl_open (url.c:519) ==155196== by 0x4880EEF: curl_easy_init (easy.c:370) ==155196== by 0x10908B: UnknownInlinedFun (lib1513.c:57) ==155196== by 0x10908B: UnknownInlinedFun (lib1513.c:50) ==155196== by 0x10908B: main (first.c:220) ==155196== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155196== by 0x4A6D258: __tsearch (tsearch.c:337) ==155196== by 0x4A6D258: tsearch (tsearch.c:290) ==155196== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155196== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155196== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155196== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155196== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155196== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155196== by 0x498986B: setlocale (setlocale.c:337) ==155196== by 0x109045: main (first.c:160) ==155196== ==155196== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155196== by 0x4A6D258: __tsearch (tsearch.c:337) ==155196== by 0x4A6D258: tsearch (tsearch.c:290) ==155196== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155196== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155196== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155196== by 0x498986B: setlocale (setlocale.c:337) ==155196== by 0x109045: main (first.c:160) ==155196== ==155196== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155196== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155196== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155196== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155196== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155196== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155196== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155196== by 0x498986B: setlocale (setlocale.c:337) ==155196== by 0x109045: main (first.c:160) ==155196== ==155196== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155196== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155196== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155196== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155196== by 0x498986B: setlocale (setlocale.c:337) ==155196== by 0x109045: main (first.c:160) ==155196== ==155196== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155196== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155196== by 0x48EA143: Curl_open (url.c:510) ==155196== by 0x4880EEF: curl_easy_init (easy.c:370) ==155196== by 0x10908B: UnknownInlinedFun (lib1513.c:57) ==155196== by 0x10908B: UnknownInlinedFun (lib1513.c:50) ==155196== by 0x10908B: main (first.c:220) ==155196== ==155196== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155196== by 0x4A6D258: __tsearch (tsearch.c:337) ==155196== by 0x4A6D258: tsearch (tsearch.c:290) ==155196== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155196== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155196== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155196== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155196== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155196== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155196== by 0x498986B: setlocale (setlocale.c:337) ==155196== by 0x109045: main (first.c:160) ==155196== ==155196== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155196== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155196== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155196== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155196== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155196== by 0xCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1514 ./libtest/lib1514 http://127.0.0.1:43803/1514 > log/8/stdout1514 2> log/8/stderr1514 497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155196== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155196== by 0x498986B: setlocale (setlocale.c:337) ==155196== by 0x109045: main (first.c:160) ==155196== === End of file valgrind1513 test 1514...[HTTP POST with read callback and unknown data size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1514 ./libtest/lib1514 http://127.0.0.1:43803/1514 > log/8/stdout1514 2> log/8/stderr1514 1514: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1514 === Start of file http_server.log 02:03:24.019602 ====> Client connect 02:03:24.019638 accept_connection 3 returned 4 02:03:24.019657 accept_connection 3 returned 0 02:03:24.019676 Read 93 bytes 02:03:24.019686 Process 93 bytes request 02:03:24.019701 Got request: GET /verifiedserver HTTP/1.1 02:03:24.019710 Are-we-friendly question received 02:03:24.019733 Wrote request (93 bytes) input to log/8/server.input 02:03:24.019751 Identifying ourselves as friends 02:03:24.019818 Response sent (56 bytes) and written to log/8/server.response 02:03:24.019827 special request received, no persistency 02:03:24.019834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd Testnum 1514 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr1514 URL: http://127.0.0.1:43803/1514 === End of file stderr1514 === Start of file valgrind1514 ==155303== ==155303== Process terminating with default action of signal 4 (SIGILL) ==155303== Illegal opcode at address 0x48EA16B ==155303== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155303== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155303== by 0x48EA16B: Curl_open (url.c:519) ==155303== by 0x4880EEF: curl_easy_init (easy.c:370) ==155303== by 0x1090AE: UnknownInlinedFun (lib1514.c:66) ==155303== by 0x1090AE: main (first.c:220) ==155303== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155303== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155303== by 0x4A6D258: __tsearch (tsearch.c:337) ==155303== by 0x4A6D258: tsearch (tsearch.c:290) ==155303== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155303== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155303== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155303== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155303== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155303== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155303== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155303== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155303== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155303== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155303== by 0x498986B: setlocale (setlocale.c:337) ==155303== by 0x109056: main (first.c:160) ==155303== ==155303== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155303== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155303== by 0x4A6D258: __tsearch (tsearch.c:337) ==155303== by 0x4A6D258: tsearch (tsearch.c:290) ==155303== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155303== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155303== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155303== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155303== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155303== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155303== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155303== by 0x498986B: setlocale (setlocale.c:337) ==155303== by 0x109056: main (first.c:160) ==155303== ==155303== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155303== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155303== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155303== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155303== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155303== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155303== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155303== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155303== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155303== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155303== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155303== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155303== by 0x498986B: setlocale (setlocale.c:337) ==155303== by 0x109056: main (first.c:160) ==155303== ==155303== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155303== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155303== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155303== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155303== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155303== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155303== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155303== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155303== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155303== by 0x498986B: setlocale (setlocale.c:337) ==155303== by 0x109056: main (first.c:160) ==155303== ==155303== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155303== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155303== by 0x48EA143: Curl_open (url.c:510) ==155303== by 0x4880EEF: curl_easy_init (easy.c:370) ==155303== by 0x1090AE: UnknownInlinedFun (lib1514.c:66) ==155303== by 0x1090AE: main (first.c:220) ==155303== ==155303== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155303== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155303== by 0x4A6D258: __tsearch (tsearch.c:337) ==155303== by 0x4A6D258: tsearch (tsearch.c:290) ==155303== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155303== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155303== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155303== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155303== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155303== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155303== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155303== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155303== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155303== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155303== by 0x498986B: setlocale (setlocale.c:337) ==155303== by 0x109056: main (first.c:160) ==155303== ==155303== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155303== at 0x48447A8: malloc (vg_replace_malloc.c:44CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1516 ./libtest/lib1515 /path/1516 127.0.0.1 39167 > log/6/stdout1516 2> log/6/stderr1516 6) ==155303== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155303== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155303== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155303== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155303== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155303== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155303== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155303== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155303== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155303== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155303== by 0x498986B: setlocale (setlocale.c:337) ==155303== by 0x109056: main (first.c:160) ==155303== === End of file valgrind1514 test 1516...[caching of manual libcurl DNS entries after dead connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1516 ./libtest/lib1515 /path/1516 127.0.0.1 39167 > log/6/stdout1516 2> log/6/stderr1516 lib1515 returned 132, when expecting 0 1516: exit FAILED == Contents of files in the log/6/ dir after test 1516 === Start of file http_server.log 02:03:24.031101 ====> Client connect 02:03:24.031207 accept_connection 3 returned 4 02:03:24.031227 accept_connection 3 returned 0 02:03:24.031242 Read 93 bytes 02:03:24.031252 Process 93 bytes request 02:03:24.031266 Got request: GET /verifiedserver HTTP/1.1 02:03:24.031276 Are-we-friendly question received 02:03:24.031298 Wrote request (93 bytes) input to log/6/server.input 02:03:24.031316 Identifying ourselves as friends 02:03:24.031389 Response sent (57 bytes) and written to log/6/server.response 02:03:24.031401 special request received, no persistency 02:03:24.031411 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 1516 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr1516 URL: /path/1516 === End of file stderr1516 === Start of file valgrind1516 ==155327== ==155327== Process terminating with default action of signal 4 (SIGILL) ==155327== Illegal opcode at address 0x48EA16B ==155327== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155327== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155327== by 0x48EA16B: Curl_open (url.c:519) ==155327== by 0x4880EEF: curl_easy_init (easy.c:370) ==155327== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==155327== by 0x48BF363: Curl_multi_handle (multi.c:416) ==155327== by 0x1092C2: test (lib1515.c:124) ==155327== by 0x109098: main (first.c:220) ==155327== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==155327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155327== by 0x4A6D258: __tsearch (tsearch.c:337) ==155327== by 0x4A6D258: tsearch (tsearch.c:290) ==155327== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155327== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155327== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155327== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155327== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155327== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155327== by 0x498986B: setlocale (setlocale.c:337) ==155327== by 0x109047: main (first.c:160) ==155327== ==155327== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==155327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155327== by 0x4A6D258: __tsearch (tsearch.c:337) ==155327== by 0x4A6D258: tsearch (tsearch.c:290) ==155327== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155327== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155327== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155327== by 0x498986B: setlocale (setlocale.c:337) ==155327== by 0x109047: main (first.c:160) ==155327== ==155327== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==155327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155327== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155327== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155327== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155327== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155327== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155327== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155327== by 0x498986B: setlocale (setlocale.c:337) ==155327== by 0x109047: main (first.c:160) ==155327== ==155327== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==155327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155327== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155327== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155327== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155327== by 0x498986B: setlocale (setlocale.c:337) ==155327== by 0x109047: main (first.c:160) ==155327== ==155327== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==155327== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155327== by 0x48EA143: Curl_open (url.c:510) ==155327== by 0x4880EEF: curl_easy_init (easy.c:370) ==155327== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==155327== by 0x48BF363: Curl_multi_handle (multi.c:416) ==155327== by 0x1092C2: test (lib1515.c:124) ==155327== by 0x109098: main (first.c:220) ==155327== ==155327== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==155327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155327== by 0x4A6D258: __tsearch (tsearch.c:337) ==155327== by 0x4A6D258: tsearch (tsearch.c:290) ==155327== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155327== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155327== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155327== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155327== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155327== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155327== by 0x49EE978: pthread_oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1515 ./libtest/lib1515 path/1515 127.0.0.1 42929 > log/10/stdout1515 2> log/10/stderr1515 nce@@GLIBC_2.34 (pthread_once.c:143) ==155327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155327== by 0x498986B: setlocale (setlocale.c:337) ==155327== by 0x109047: main (first.c:160) ==155327== ==155327== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==155327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155327== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155327== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155327== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155327== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155327== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155327== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155327== by 0x498986B: setlocale (setlocale.c:337) ==155327== by 0x109047: main (first.c:160) ==155327== === End of file valgrind1516 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1517 ./libtest/lib1517 http://127.0.0.1:36813/1517 > log/4/stdout1517 2> log/4/stderr1517 test 1515...[caching of manual libcurl DNS entries after DNS cache timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1515 ./libtest/lib1515 path/1515 127.0.0.1 42929 > log/10/stdout1515 2> log/10/stderr1515 1515: data FAILED: --- log/10/check-expected 2024-12-15 02:03:24.766994115 +0000 +++ log/10/check-generated 2024-12-15 02:03:24.766994115 +0000 @@ -1,2 +0,0 @@ -hello[LF] -hello[LF] == Contents of files in the log/10/ dir after test 1515 === Start of file check-expected hello[LF] hello[LF] === End of file check-expected === Start of file http_server.log 02:03:24.024001 ====> Client connect 02:03:24.024036 accept_connection 3 returned 4 02:03:24.024051 accept_connection 3 returned 0 02:03:24.024063 Read 93 bytes 02:03:24.024073 Process 93 bytes request 02:03:24.024085 Got request: GET /verifiedserver HTTP/1.1 02:03:24.024094 Are-we-friendly question received 02:03:24.024115 Wrote request (93 bytes) input to log/10/server.input 02:03:24.024129 Identifying ourselves as friends 02:03:24.024190 Response sent (56 bytes) and written to log/10/server.response 02:03:24.024200 special request received, no persistency 02:03:24.024209 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1515 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr1515 URL: path/1515 === End of file stderr1515 === Start of file valgrind1515 ==155308== ==155308== Process terminating with default action of signal 4 (SIGILL) ==155308== Illegal opcode at address 0x48EA16B ==155308== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155308== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155308== by 0x48EA16B: Curl_open (url.c:519) ==155308== by 0x4880EEF: curl_easy_init (easy.c:370) ==155308== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==155308== by 0x48BF363: Curl_multi_handle (multi.c:416) ==155308== by 0x1092C2: test (lib1515.c:124) ==155308== by 0x109098: main (first.c:220) ==155308== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==155308== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155308== by 0x4A6D258: __tsearch (tsearch.c:337) ==155308== by 0x4A6D258: tsearch (tsearch.c:290) ==155308== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155308== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155308== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155308== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155308== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155308== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155308== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155308== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155308== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155308== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155308== by 0x498986B: setlocale (setlocale.c:337) ==155308== by 0x109047: main (first.c:160) ==155308== ==155308== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==155308== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155308== by 0x4A6D258: __tsearch (tsearch.c:337) ==155308== by 0x4A6D258: tsearch (tsearch.c:290) ==155308== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155308== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155308== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155308== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155308== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155308== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155308== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155308== by 0x498986B: setlocale (setlocale.c:337) ==155308== by 0x109047: main (first.c:160) ==155308== ==155308== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==155308== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155308== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155308== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155308== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155308== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155308== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155308== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155308== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155308== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155308== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155308== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155308== by 0x498986B: setlocale (setlocale.c:337) ==155308== by 0x109047: main (first.c:160) ==155308== ==155308== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==155308== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155308== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155308== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155308== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155308== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155308== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155308== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155308== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155308== by 0x498986B: setlocale (setlocale.c:337) ==155308== by 0x109047: main (first.c:160) ==155308== ==155308== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==155308== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155308== by 0x48EA143: Curl_open (url.c:510) ==155308== by 0x4880EEF: curl_easy_init (easy.c:370) ==155308== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==155308== by 0x48BF363: Curl_multi_handle (multi.c:416) ==155308== by 0x1092C2: test (lib1515.c:124) ==155308== by 0x109098: main (first.c:220) ==155308== ==155308== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==155308== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155308== by 0x4A6D258: __tsearch (tsearch.c:337) ==155308== by 0x4A6D258: tsearch (tsearch.c:290) ==155308== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155308== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155308== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155308== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155308== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155308== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155308== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155308== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155308== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155308== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155308== by 0x498986B: setlocale (setlocale.c:337) ==155308== by 0x109047: main (first.c:160) ==155308== ==155308== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==155308== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155308== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155308== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155308== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155308== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155308== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155308== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155308== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155308== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155308== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155308== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155308== by 0x498986B: setlocale (setlocale.c:337) ==155308== by 0x109047: main (first.c:160) ==155308== === End of file valgrind1515 prechecked ./libtest/lib1517 check test 1517...[HTTP POST, server responds before completed send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1517 ./libtest/lib1517 http://127.0.0.1:36813/1517 > log/4/stdout1517 2> log/4/stderr1517 1517: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1517 === Start of file http_server.log 02:03:24.032709 ====> Client connect 02:03:24.032741 accept_connection 3 returned 4 02:03:24.032757 accept_connection 3 returned 0 02:03:24.032770 Read 93 bytes 02:03:24.032780 Process 93 bytes request 02:03:24.032794 Got request: GET /verifiedserver HTTP/1.1 02:03:24.032804 Are-we-friendly question received 02:03:24.032827 Wrote request (93 bytes) input to log/4/server.input 02:03:24.032845 Identifying ourselves as friends 02:03:24.032914 Response sent (56 bytes) and written to log/4/server.response 02:03:24.032927 special request received, no persistency 02:03:24.032937 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file precheck-1517 URL: check Test ended with result 0 === End of file precheck-1517 === Start of file server.cmd skip: 45 Testnum 1517 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr1517 URL: http://127.0.0.1:36813/1517 === End of file stderr1517 === Start of file valgrind1517 ==155438== ==155438== Process terminating with default action of signal 4 (SIGILL) ==155438== Illegal opcode at address 0x48EA16B ==155438== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155438== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155438== by 0x48EA16B: Curl_open (url.c:519) ==155438== by 0x4880EEF: curl_easy_init (easy.c:370) ==155438== by 0x109103: UnknownInlinedFun (lib1517.c:81) ==155438== by 0x109103: UnknownInlinedFun (lib1517.c:56) ==155438== by 0x109103: main (first.c:220) ==155438== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155438== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155438== by 0x4A6D258: __tsearch (tsearch.c:337) ==155438== by 0x4A6D258: tsearch (tsearch.c:290) ==155438== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155438== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155438== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155438== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155438== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155438== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155438== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155438== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155438== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155438== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155438== by 0x498986B: setlocale (setlocale.c:337) ==155438== by 0x109056: main (first.c:160) ==155438== ==155438== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155438== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155438== by 0x4A6D258: __tsearch (tsearch.c:337) ==155438== by 0x4A6D258: tsearch (tsearch.c:290) ==155438== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155438== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155438== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155438== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155438== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155438== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155438== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155438== by 0x498986B: setlocale (setlocale.c:337) ==155438== by 0x109056: main (first.c:160) ==155438== ==155438== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155438== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155438== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155438== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155438== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155438== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155438== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155438== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155438== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155438== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155438== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155438== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155438== by 0x498986B: setlocale (setlocale.c:337) ==155438== by 0x109056: main (first.c:160) ==155438== ==155438== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155438== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155438== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155438== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155438== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155438== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155438== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155438== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155438== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155438== by 0x498986B: setlocale (setlocale.c:337) ==155438== by 0x109056: main (first.c:160) ==155438== ==155438== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155438== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155438== by 0x48EA143: Curl_open (url.c:510) ==155438== by 0x4880EEF: curl_easy_init (easy.c:370) ==155438== by 0x109103: UnknownInlinedFun (lib1517.c:81) ==155438== by 0x109103: UnknownInlinedFun (lib1517.c:56) ==155438== by 0x109103: main (first.c:220) ==155438== ==155438== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155438== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155438== by 0x4A6D258: __tsearch (tsearch.c:337) ==155438== by 0x4A6D258: tsearch (tsearch.c:290) ==155438== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155438== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155438== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155438== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155438== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155438== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155438== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155438== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155438== by 0x497C99C: __gcoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1518 ./libtest/lib1518 http://127.0.0.1:34215/1518 > log/1/stdout1518 2> log/1/stderr1518 nv_compare_alias (gconv_db.c:692) ==155438== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155438== by 0x498986B: setlocale (setlocale.c:337) ==155438== by 0x109056: main (first.c:160) ==155438== ==155438== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155438== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155438== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155438== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155438== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155438== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155438== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155438== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155438== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155438== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155438== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155438== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155438== by 0x498986B: setlocale (setlocale.c:337) ==155438== by 0x109056: main (first.c:160) ==155438== === End of file valgrind1517 test 1518...[Extract Location: with broken URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1518 ./libtest/lib1518 http://127.0.0.1:34215/1518 > log/1/stdout1518 2> log/1/stderr1518 1518: stdout FAILED: --- log/1/check-expected 2024-12-15 02:03:24.936997135 +0000 +++ log/1/check-generated 2024-12-15 02:03:24.936997135 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:34215/1518[LF] -redirecturl http://1.2 .4.5/test[LF] == Contents of files in the log/1/ dir after test 1518 === Start of file check-expected res 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:34215/1518[LF] redirecturl http://1.2 .4.5/test[LF] === End of file check-expected === Start of file http_server.log 02:03:24.220109 ====> Client connect 02:03:24.220140 accept_connection 3 returned 4 02:03:24.220155 accept_connection 3 returned 0 02:03:24.220168 Read 93 bytes 02:03:24.220178 Process 93 bytes request 02:03:24.220191 Got request: GET /verifiedserver HTTP/1.1 02:03:24.220200 Are-we-friendly question received 02:03:24.220220 Wrote request (93 bytes) input to log/1/server.input 02:03:24.220236 Identifying ourselves as friends 02:03:24.220394 Response sent (56 bytes) and written to log/1/server.response 02:03:24.221083 special request received, no persistency 02:03:24.221096 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1518 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr1518 URL: http://127.0.0.1:34215/1518 === End of file stderr1518 === Start of file valgrind1518 ==155524== ==155524== Process terminating with default action of signal 4 (SIGILL) ==155524== Illegal opcode at address 0x48EA16B ==155524== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155524== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155524== by 0x48EA16B: Curl_open (url.c:519) ==155524== by 0x4880EEF: curl_easy_init (easy.c:370) ==155524== by 0x109094: UnknownInlinedFun (lib1518.c:51) ==155524== by 0x109094: main (first.c:220) ==155524== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155524== by 0x4A6D258: __tsearch (tsearch.c:337) ==155524== by 0x4A6D258: tsearch (tsearch.c:290) ==155524== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155524== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155524== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155524== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155524== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155524== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155524== by 0x498986B: setlocale (setlocale.c:337) ==155524== by 0x109054: main (first.c:160) ==155524== ==155524== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155524== by 0x4A6D258: __tsearch (tsearch.c:337) ==155524== by 0x4A6D258: tsearch (tsearch.c:290) ==155524== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155524== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155524== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155524== by 0x498986B: setlocale (setlocale.c:337) ==155524== by 0x109054: main (first.c:160) ==155524== ==155524== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155524== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155524== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155524== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155524== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155524== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155524== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155524== by 0x498986B: setlocale (setlocale.c:337) ==155524== by 0x109054: main (first.c:160) ==155524== ==155524== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155524== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155524== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155524== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155524== by 0x498986B: setlocale (setlocale.c:337) ==155524== by 0x109054: main (first.c:160) ==155524== ==155524== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155524== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155524== by 0x48EA143: Curl_open (url.c:510) ==155524== by 0x4880EEF: curl_easy_init (easy.c:370) ==155524== by 0x109094: UnknownInlinedFun (lib1518.c:51) ==155524== by 0x109094: main (first.c:220) ==155524== ==155524== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155524== by 0x4A6D258: __tsearch (tsearch.c:337) ==155524== by 0x4A6D258: tsearch (tsearch.c:290) ==155524== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155524== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155524== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155524== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155524== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155524== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155524== by 0x498986B: setlocale (setlocale.c:337) ==155524== by 0x109054: main (first.c:160) ==155524== ==155524== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155524== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155524== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155524== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155524== by 0x497DBB2: read_coCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1519 ./libtest/lib1518 http://127.0.0.1:38781/1519 > log/2/stdout1519 2> log/2/stderr1519 nf_file.isra.0 (gconv_parseconfdir.h:101) ==155524== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155524== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155524== by 0x498986B: setlocale (setlocale.c:337) ==155524== by 0x109054: main (first.c:160) ==155524== === End of file valgrind1518 test 1519...[Extract Location: with broken absolute URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1519 ./libtest/lib1518 http://127.0.0.1:38781/1519 > log/2/stdout1519 2> log/2/stderr1519 1519: stdout FAILED: --- log/2/check-expected 2024-12-15 02:03:25.257002820 +0000 +++ log/2/check-generated 2024-12-15 02:03:25.257002820 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:38781/1519[LF] -redirecturl http://127.0.0.1:38781/h%20ttp://1.2.4.5/test[LF] == Contents of files in the log/2/ dir after test 1519 === Start of file check-expected res 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:38781/1519[LF] redirecturl http://127.0.0.1:38781/h%20ttp://1.2.4.5/test[LF] === End of file check-expected === Start of file http_server.log 02:03:24.559747 ====> Client connect 02:03:24.559783 accept_connection 3 returned 4 02:03:24.559800 accept_connection 3 returned 0 02:03:24.559814 Read 93 bytes 02:03:24.559826 Process 93 bytes request 02:03:24.559842 Got request: GET /verifiedserver HTTP/1.1 02:03:24.559852 Are-we-friendly question received 02:03:24.559879 Wrote request (93 bytes) input to log/2/server.input 02:03:24.559897 Identifying ourselves as friends 02:03:24.559967 Response sent (56 bytes) and written to log/2/server.response 02:03:24.559980 special request received, no persistency 02:03:24.559990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1519 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1519 URL: http://127.0.0.1:38781/1519 === End of file stderr1519 === Start of file valgrind1519 ==155603== ==155603== Process terminating with default action of signal 4 (SIGILL) ==155603== Illegal opcode at address 0x48EA16B ==155603== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155603== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155603== by 0x48EA16B: Curl_open (url.c:519) ==155603== by 0x4880EEF: curl_easy_init (easy.c:370) ==155603== by 0x109094: UnknownInlinedFun (lib1518.c:51) ==155603== by 0x109094: main (first.c:220) ==155603== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155603== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155603== by 0x4A6D258: __tsearch (tsearch.c:337) ==155603== by 0x4A6D258: tsearch (tsearch.c:290) ==155603== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155603== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155603== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155603== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155603== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155603== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155603== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155603== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155603== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155603== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155603== by 0x498986B: setlocale (setlocale.c:337) ==155603== by 0x109054: main (first.c:160) ==155603== ==155603== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155603== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155603== by 0x4A6D258: __tsearch (tsearch.c:337) ==155603== by 0x4A6D258: tsearch (tsearch.c:290) ==155603== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155603== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155603== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155603== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155603== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155603== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155603== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155603== by 0x498986B: setlocale (setlocale.c:337) ==155603== by 0x109054: main (first.c:160) ==155603== ==155603== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155603== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155603== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155603== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155603== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155603== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155603== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155603== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155603== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155603== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155603== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155603== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155603== by 0x498986B: setlocale (setlocale.c:337) ==155603== by 0x109054: main (first.c:160) ==155603== ==155603== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155603== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155603== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155603== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155603== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155603== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155603== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155603== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155603== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155603== by 0x498986B: setlocale (setlocale.c:337) ==155603== by 0x109054: main (first.c:160) ==155603== ==155603== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155603== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155603== by 0x48EA143: Curl_open (url.c:510) ==155603== by 0x4880EEF: curl_easy_init (easy.c:370) ==155603== by 0x109094: UnknownInlinedFun (lib1518.c:51) ==155603== by 0x109094: main (first.c:220) ==155603== ==155603== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155603== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155603== by 0x4A6D258: __tsearch (tsearch.c:337) ==155603== by 0x4A6D258: tsearch (tsearch.c:290) ==155603== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155603== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155603== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155603== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155603== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155603== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155603== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155603== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155603== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155603== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155603== by 0x498986B: setlocale (setlocale.c:337) ==155603== by 0x109054: main (first.c:160) ==155603== ==155603== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155603== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155603== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155603== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155603== by 0x497DBB2: add_alCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1524 ../src/curl -q --output log/6/curl1524.out --include --trace-ascii log/6/trace1524 --trace-config all --trace-time http://127.0.0.1:39167/blah/1524 -L -T log/6/upload1524.txt > log/6/stdout1524 2> log/6/stderr1524 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1520 ./libtest/lib1520 smtp://127.0.0.1:33609/1520 log/3/stdout1520 2> log/3/stderr1520 ias (gconv_conf.c:178) ==155603== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155603== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155603== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155603== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155603== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155603== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155603== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155603== by 0x498986B: setlocale (setlocale.c:337) ==155603== by 0x109054: main (first.c:160) ==155603== === End of file valgrind1519 test 1524...[HTTP PUT with 303 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1524 ../src/curl -q --output log/6/curl1524.out --include --trace-ascii log/6/trace1524 --trace-config all --trace-time http://127.0.0.1:39167/blah/1524 -L -T log/6/upload1524.txt > log/6/stdout1524 2> log/6/stderr1524 1524: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1524 === Start of file http_server.log 02:03:24.987184 ====> Client connect 02:03:24.987214 accept_connection 3 returned 4 02:03:24.987230 accept_connection 3 returned 0 02:03:24.987244 Read 93 bytes 02:03:24.987254 Process 93 bytes request 02:03:24.987269 Got request: GET /verifiedserver HTTP/1.1 02:03:24.987278 Are-we-friendly question received 02:03:24.987312 Wrote request (93 bytes) input to log/6/server.input 02:03:24.987329 Identifying ourselves as friends 02:03:24.987400 Response sent (57 bytes) and written to log/6/server.response 02:03:24.987414 special request received, no persistency 02:03:24.987424 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 1524 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file upload1524.txt moo === End of file upload1524.txt === Start of file valgrind1524 ==155939== ==155939== Process terminating with default action of signal 4 (SIGILL) ==155939== Illegal opcode at address 0x10B08D ==155939== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==155939== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1524 startnew: /startdir/src/curl/tests/dictserver.py --port 38157 --pidfile "log/12/server/dict_server.pid" --logfile "log/12/dict_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the DICT server test 1450 SKIPPED: failed starting DICT server test 1520...[SMTP with CRLF-dot-CRLF in data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1520 ./libtest/lib1520 smtp://127.0.0.1:33609/1520 log/3/stdout1520 2> log/3/stderr1520 1520: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1520 === Start of file server.cmd Testnum 1520 === End of file server.cmd === Start of file smtp_server.log 02:03:24.543408 ====> Client connect 02:03:24.543535 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:24.543811 < "EHLO verifiedserver" 02:03:24.543851 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:24.544031 < "HELP" 02:03:24.544062 > "214 WE ROOLZ: 109380[CR][LF]" 02:03:24.544077 return proof we are we 02:03:24.544290 < "QUIT" 02:03:24.544317 > "221 curl ESMTP server signing off[CR][LF]" 02:03:24.544920 MAIN sockfilt said DISC 02:03:24.544948 ====> Client disconnected 02:03:24.545007 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:24.743455 ====> Client connect 02:03:24.743686 Received DATA (on stdin) 02:03:24.743702 > 160 bytes data, server => client 02:03:24.743716 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:24.743728 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:24.743739 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:24.743811 < 21 bytes data, client => server 02:03:24.743828 'EHLO verifiedserver\r\n' 02:03:24.743995 Received DATA (on stdin) 02:03:24.744008 > 53 bytes data, server => client 02:03:24.744021 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:24.744083 < 6 bytes data, client => server 02:03:24.744097 'HELP\r\n' 02:03:24.744216 Received DATA (on stdin) 02:03:24.744228 > 22 bytes data, server => client 02:03:24.744239 '214 WE ROOLZ: 109380\r\n' 02:03:24.744338 < 6 bytes data, client => server 02:03:24.744355 'QUIT\r\n' 02:03:24.744457 Received DATA (on stdin) 02:03:24.744469 > 35 bytes data, server => client 02:03:24.744481 '221 curl ESMTP server signing off\r\n' 02:03:24.745011 ====> Client disconnect 02:03:24.745195 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1520 URL: smtp://127.0.0.1:33609/1520 === End of file stderr1520 === Start of file stdin-for-1520 From: different To: another . . . body === End of file stdin-for-1520 === Start of file valgrind1520 ==155689== ==155689== Process terminating with default action of signal 4 (SIGILL) ==155689== Illegal opcode at address 0x48EA16B ==155689== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155689== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155689== by 0x48EA16B: Curl_open (url.c:519) ==155689== by 0x4880EEF: curl_easy_init (easy.c:370) ==155689== by 0x1090A1: UnknownInlinedFun (lib1520.c:86) ==155689== by 0x1090A1: main (first.c:220) ==155689== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155689== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155689== by 0x4A6D258: __tsearch (tsearch.c:337) ==155689== by 0x4A6D258: tsearch (tsearch.c:290) ==155689== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155689== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155689== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155689== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155689== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155689== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155689== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155689== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155689== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155689== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155689== by 0x498986B: setlocale (setlocale.c:337) ==155689== by 0x109056: main (first.c:160) ==155689== ==155689== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155689== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155689== by 0x4A6D258: __tsearch (tsearch.c:337) ==155689== by 0x4A6D258: tsearch (tsearch.c:290) ==155689== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155689== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155689== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155689== by 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1521 ./libtest/lib1521 unused > log/5/stdout1521 2> log/5/stderr1521 x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155689== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155689== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155689== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155689== by 0x498986B: setlocale (setlocale.c:337) ==155689== by 0x109056: main (first.c:160) ==155689== ==155689== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155689== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155689== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155689== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155689== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155689== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155689== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155689== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155689== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155689== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155689== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155689== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155689== by 0x498986B: setlocale (setlocale.c:337) ==155689== by 0x109056: main (first.c:160) ==155689== ==155689== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155689== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155689== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155689== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155689== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155689== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155689== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155689== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155689== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155689== by 0x498986B: setlocale (setlocale.c:337) ==155689== by 0x109056: main (first.c:160) ==155689== ==155689== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155689== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155689== by 0x48EA143: Curl_open (url.c:510) ==155689== by 0x4880EEF: curl_easy_init (easy.c:370) ==155689== by 0x1090A1: UnknownInlinedFun (lib1520.c:86) ==155689== by 0x1090A1: main (first.c:220) ==155689== ==155689== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155689== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155689== by 0x4A6D258: __tsearch (tsearch.c:337) ==155689== by 0x4A6D258: tsearch (tsearch.c:290) ==155689== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155689== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155689== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155689== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155689== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155689== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155689== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155689== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155689== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155689== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155689== by 0x498986B: setlocale (setlocale.c:337) ==155689== by 0x109056: main (first.c:160) ==155689== ==155689== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155689== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155689== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155689== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155689== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155689== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155689== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155689== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155689== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155689== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155689== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155689== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155689== by 0x498986B: setlocale (setlocale.c:337) ==155689== by 0x109056: main (first.c:160) ==155689== === End of file valgrind1520 startnew: /startdir/src/curl/tests/negtelnetserver.py --port 40695 --pidfile "log/7/server/telnet_server.pid" --logfile "log/7/telnet_server.log" --srcdir "/startdir/src/curl/tests" startnew: child process has died, server might start up RUN: failed to start the TELNET server test 1452 SKIPPED: failed starting neg TELNET server startnew: /startdir/src/curl/tests/smbserver.py --port 34581 --pidfile "log/11/server/smb_server.pid" --logfile "log/11/smb_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the SMB server test 1451 SKIPPED: failed starting SMB server CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1522 ./libtest/lib1522 http://127.0.0.1:38509/1522 > log/9/stdout1522 2> log/9/stderr1522 * starts no server test 1521...[Test all curl_easy_setopt and curl_easy_getinfo options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1521 ./libtest/lib1521 unused > log/5/stdout1521 2> log/5/stderr1521 1521: stdout FAILED: --- log/5/check-expected 2024-12-15 02:03:25.440339411 +0000 +++ log/5/check-generated 2024-12-15 02:03:25.440339411 +0000 @@ -1 +0,0 @@ -ok[LF] == Contents of files in the log/5/ dir after test 1521 === Start of file check-expected ok[LF] === End of file check-expected === Start of file server.cmd Testnum 1521 === End of file server.cmd === Start of file stderr1521 URL: unused === End of file stderr1521 === Start of file valgrind1521 ==155673== ==155673== Process terminating with default action of signal 4 (SIGILL) ==155673== Illegal opcode at address 0x48EA16B ==155673== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155673== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155673== by 0x48EA16B: Curl_open (url.c:519) ==155673== by 0x4880EEF: curl_easy_init (easy.c:370) ==155673== by 0x10955E: test.isra.0 (lib1521.c:217) ==155673== by 0x109070: main (first.c:220) ==155673== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155673== by 0x4A6D258: __tsearch (tsearch.c:337) ==155673== by 0x4A6D258: tsearch (tsearch.c:290) ==155673== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155673== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155673== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155673== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155673== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155673== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155673== by 0x498986B: setlocale (setlocale.c:337) ==155673== by 0x109047: main (first.c:160) ==155673== ==155673== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155673== by 0x4A6D258: __tsearch (tsearch.c:337) ==155673== by 0x4A6D258: tsearch (tsearch.c:290) ==155673== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155673== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155673== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155673== by 0x498986B: setlocale (setlocale.c:337) ==155673== by 0x109047: main (first.c:160) ==155673== ==155673== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155673== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155673== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155673== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155673== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155673== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155673== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155673== by 0x498986B: setlocale (setlocale.c:337) ==155673== by 0x109047: main (first.c:160) ==155673== ==155673== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155673== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155673== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155673== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155673== by 0x498986B: setlocale (setlocale.c:337) ==155673== by 0x109047: main (first.c:160) ==155673== ==155673== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155673== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155673== by 0x48EA143: Curl_open (url.c:510) ==155673== by 0x4880EEF: curl_easy_init (easy.c:370) ==155673== by 0x10955E: test.isra.0 (lib1521.c:217) ==155673== by 0x109070: main (first.c:220) ==155673== ==155673== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155673== by 0x4A6D258: __tsearch (tsearch.c:337) ==155673== by 0x4A6D258: tsearch (tsearch.c:290) ==155673== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155673== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155673== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155673== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155673== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155673== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155673== by 0x498986B: setlocale (setlocale.c:337) ==155673== by 0x109047: main (first.c:160) ==155673== ==155673== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155673== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155673== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155673== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155673== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155673== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155673== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155673== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155673== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155673== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155673== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155673== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155673== by 0x498986B: setlocale (setlocale.c:337) ==155673== by 0x109047: main (first.c:160) ==155673== === End of file valgrind1521 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1523 ./libtest/lib1523 http://127.0.0.1:43803/1523 > log/8/stdout1523 2> log/8/stderr1523 RUN: Process with pid 74130 signalled to die test 1522...[CURLINFO_SIZE_UPLOAD with small SO_SNDBUF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1522 ./libtest/lib1522 http://127.0.0.1:38509/1522 > log/9/stdout1522 2> log/9/stderr1522 1522: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:25.613675823 +0000 +++ log/9/check-generated 2024-12-15 02:03:25.613675823 +0000 @@ -1,3 +0,0 @@ --foo-[LF] -uploadSize = 40960[LF] -!!!!!!!!!! PASS[LF] == Contents of files in the log/9/ dir after test 1522 === Start of file check-expected -foo-[LF] uploadSize = 40960[LF] !!!!!!!!!! PASS[LF] === End of file check-expected === Start of file http_server.log 02:03:24.899664 ====> Client connect 02:03:24.899699 accept_connection 3 returned 4 02:03:24.899716 accept_connection 3 returned 0 02:03:24.899729 Read 93 bytes 02:03:24.899740 Process 93 bytes request 02:03:24.899753 Got request: GET /verifiedserver HTTP/1.1 02:03:24.899762 Are-we-friendly question received 02:03:24.899785 Wrote request (93 bytes) input to log/9/server.input 02:03:24.899803 Identifying ourselves as friends 02:03:24.899876 Response sent (56 bytes) and written to log/9/server.response 02:03:24.899889 special request received, no persistency 02:03:24.899898 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1522 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr1522 URL: http://127.0.0.1:38509/1522 === End of file stderr1522 === Start of file valgrind1522 ==155799== ==155799== Process terminating with default action of signal 4 (SIGILL) ==155799== Illegal opcode at address 0x48EA16B ==155799== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155799== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155799== by 0x48EA16B: Curl_open (url.c:519) ==155799== by 0x4880EEF: curl_easy_init (easy.c:370) ==155799== by 0x10908E: UnknownInlinedFun (lib1522.c:57) ==155799== by 0x10908E: main (first.c:220) ==155799== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155799== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155799== by 0x4A6D258: __tsearch (tsearch.c:337) ==155799== by 0x4A6D258: tsearch (tsearch.c:290) ==155799== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155799== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155799== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155799== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155799== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155799== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155799== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155799== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155799== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155799== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155799== by 0x498986B: setlocale (setlocale.c:337) ==155799== by 0x109056: main (first.c:160) ==155799== ==155799== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155799== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155799== by 0x4A6D258: __tsearch (tsearch.c:337) ==155799== by 0x4A6D258: tsearch (tsearch.c:290) ==155799== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155799== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155799== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155799== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155799== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155799== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155799== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155799== by 0x498986B: setlocale (setlocale.c:337) ==155799== by 0x109056: main (first.c:160) ==155799== ==155799== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155799== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155799== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155799== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155799== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155799== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155799== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155799== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155799== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155799== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155799== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155799== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155799== by 0x498986B: setlocale (setlocale.c:337) ==155799== by 0x109056: main (first.c:160) ==155799== ==155799== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155799== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155799== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155799== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155799== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155799== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155799== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155799== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155799== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155799== by 0x498986B: setlocale (setlocale.c:337) ==155799== by 0x109056: main (first.c:160) ==155799== ==155799== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155799== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155799== by 0x48EA143: Curl_open (url.c:510) ==155799== by 0x4880EEF: curl_easy_init (easy.c:370) ==155799== by 0x10908E: UnknownInlinedFun (lib1522.c:57) ==155799== by 0x10908E: main (first.c:220) ==155799== ==155799== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155799== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155799== by 0x4A6D258: __tsearch (tsearch.c:337) ==155799== by 0x4A6D258: tsearch (tsearch.c:290) ==155799== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155799== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155799== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155799== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155799== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155799== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155799== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155799== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155799== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155799== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155799== by 0x498986B: setlocale (setlocale.c:337) ==155799== by 0x109056: main (first.c:160) ==155799== ==155799== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155799== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155799== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155799== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155799== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155799== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155799== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155799== by 0RUN: Process with pid 74130 gracefully died x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155799== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155799== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155799== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155799== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155799== by 0x498986B: setlocale (setlocale.c:337) ==155799== by 0x109056: main (first.c:160) ==155799== === End of file valgrind1522 test 1523...[CURLINFO_LOW_SPEED_LIMIT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1523 ./libtest/lib1523 http://127.0.0.1:43803/1523 > log/8/stdout1523 2> log/8/stderr1523 lib1523 returned 132, when expecting 0 1523: exit FAILED == Contents of files in the log/8/ dir after test 1523 === Start of file http_server.log 02:03:24.909325 ====> Client connect 02:03:24.909354 accept_connection 3 returned 4 02:03:24.909370 accept_connection 3 returned 0 02:03:24.909381 Read 93 bytes 02:03:24.909396 Process 93 bytes request 02:03:24.909411 Got request: GET /verifiedserver HTTP/1.1 02:03:24.909421 Are-we-friendly question received 02:03:24.909442 Wrote request (93 bytes) input to log/8/server.input 02:03:24.909458 Identifying ourselves as friends 02:03:24.909524 Response sent (56 bytes) and written to log/8/server.response 02:03:24.909536 special request received, no persistency 02:03:24.909545 ====> Client disconnect 0 02:03:25.824824 exit_signal_handler: 15 02:03:25.824868 signalled to die 02:03:25.824946 ========> IPv4 sws (port 43803 pid: 74130) exits with signal (15) 02:03:25.824960 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43803... * Connected to 127.0.0.1 (127.0.0.1) port 43803 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43803 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74130 === End of file http_verify.out === Start of file server.cmd writedelay: 1000 Testnum 1523 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74130 === End of file server.response === Start of file stderr1523 URL: http://127.0.0.1:43803/1523 === End of file stderr1523 === Start of file valgrind1523 ==155817== ==155817== Process terminating with default action of signal 4 (SIGILL) ==155817== Illegal opcode at address 0x48EA16B ==155817== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==155817== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==155817== by 0x48EA16B: Curl_open (url.c:519) ==155817== by 0x4880EEF: curl_easy_init (easy.c:370) ==155817== by 0x10909C: UnknownInlinedFun (lib1523.c:64) ==155817== by 0x10909C: main (first.c:220) ==155817== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==155817== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155817== by 0x4A6D258: __tsearch (tsearch.c:337) ==155817== by 0x4A6D258: tsearch (tsearch.c:290) ==155817== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155817== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155817== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155817== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155817== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155817== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155817== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155817== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155817== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155817== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155817== by 0x498986B: setlocale (setlocale.c:337) ==155817== by 0x109059: main (first.c:160) ==155817== ==155817== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==155817== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155817== by 0x4A6D258: __tsearch (tsearch.c:337) ==155817== by 0x4A6D258: tsearch (tsearch.c:290) ==155817== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155817== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155817== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155817== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155817== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155817== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155817== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155817== by 0x498986B: setlocale (setlocale.c:337) ==155817== by 0x109059: main (first.c:160) ==155817== ==155817== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==155817== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155817== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155817== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155817== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155817== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155817== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==155817== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==155817== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155817== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155817== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155817== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155817== by 0x498986B: setlocale (setlocale.c:337) ==155817== by 0x109059: main (first.c:160) ==155817== ==155817== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==155817== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155817== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155817== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==155817== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==155817== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155817== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155817== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155817== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155817== by 0x498986B: setlocale (setlocale.c:337) ==155817== by 0x109059: main (first.c:160) ==155817== ==155817== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==155817== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==155817== by 0x48EA143: Curl_open (url.c:510) ==155817== by 0x4880EEF: curl_easy_init (easy.c:370) ==155817== by 0x10909C: UnknownInlinedFun (lib1523.c:64) ==155817== by 0x10909C: main (first.c:220) ==155817== ==155817== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==155817== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==155817== by 0x4A6D258: __tsearch (tsearch.c:337) ==155817== by 0x4A6D258: tsearch (tsearch.c:290) ==155817== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==155817== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155817== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155817== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155817== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155817== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155817== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155817== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155817== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155817== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155817== by 0x498986B: setlocale (setlocale.c:337) ==155817== by 0x109059: main (first.c:160) ==155817== ==155817== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==155817== at 0x484CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1525 ./libtest/lib1525 http://the.old.moo.1525:42929/1525 127.0.0.1:45701 > log/10/stdout1525 2> log/10/stderr1525 47A8: malloc (vg_replace_malloc.c:446) ==155817== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==155817== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==155817== by 0x497DBB2: add_alias (gconv_conf.c:178) ==155817== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==155817== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==155817== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==155817== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==155817== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==155817== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==155817== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==155817== by 0x498986B: setlocale (setlocale.c:337) ==155817== by 0x109059: main (first.c:160) ==155817== === End of file valgrind1523 test 1525...[CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1525 ./libtest/lib1525 http://the.old.moo.1525:42929/1525 127.0.0.1:45701 > log/10/stdout1525 2> log/10/stderr1525 1525: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1525 === Start of file http2_server.log 02:03:25.020044 ====> Client connect 02:03:25.020075 accept_connection 3 returned 4 02:03:25.020091 accept_connection 3 returned 0 02:03:25.020105 Read 93 bytes 02:03:25.020116 Process 93 bytes request 02:03:25.020127 Got request: GET /verifiedserver HTTP/1.1 02:03:25.020137 Are-we-friendly question received 02:03:25.020160 Wrote request (93 bytes) input to log/10/proxy.input 02:03:25.020178 Identifying ourselves as friends 02:03:25.020243 Response sent (57 bytes) and written to log/10/proxy.response 02:03:25.020255 special request received, no persistency 02:03:25.020264 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45701... * Connected to 127.0.0.1 (127.0.0.1) port 45701 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45701 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 112630 === End of file http2_verify.out === Start of file http_server.log 02:03:24.996882 ====> Client connect 02:03:24.996916 accept_connection 3 returned 4 02:03:24.996934 accept_connection 3 returned 0 02:03:24.996948 Read 93 bytes 02:03:24.996960 Process 93 bytes request 02:03:24.996975 Got request: GET /verifiedserver HTTP/1.1 02:03:24.996986 Are-we-friendly question received 02:03:24.997009 Wrote request (93 bytes) input to log/10/server.input 02:03:24.997027 Identifying ourselves as friends 02:03:24.997093 Response sent (56 bytes) and written to log/10/server.response 02:03:24.997105 special request received, no persistency 02:03:24.997115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112630 === End of file proxy.response === Start of file server.cmd Testnum 1525 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr1525 URL: http://the.old.moo.1525:42929/1525 === End of file stderr1525 === Start of file valgrind1525 ==156007== ==156007== Process terminating with default action of signal 4 (SIGILL) ==156007== Illegal opcode at address 0x48EA16B ==156007== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156007== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156007== by 0x48EA16B: Curl_open (url.c:519) ==156007== by 0x4880EEF: curl_easy_init (easy.c:370) ==156007== by 0x109099: UnknownInlinedFun (lib1525.c:61) ==156007== by 0x109099: main (first.c:220) ==156007== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156007== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156007== by 0x4A6D258: __tsearch (tsearch.c:337) ==156007== by 0x4A6D258: tsearch (tsearch.c:290) ==156007== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156007== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156007== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156007== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156007== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156007== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156007== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156007== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156007== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156007== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156007== by 0x498986B: setlocale (setlocale.c:337) ==156007== by 0x109045: main (first.c:160) ==156007== ==156007== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156007== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156007== by 0x4A6D258: __tsearch (tsearch.c:337) ==156007== by 0x4A6D258: tsearch (tsearch.c:290) ==156007== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156007== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156007== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156007== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156007== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156007== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156007== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156007== by 0x498986B: setlocale (setlocale.c:337) ==156007== by 0x109045: main (first.c:160) ==156007== ==156007== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156007== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156007== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156007== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156007== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156007== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156007== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156007== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156007== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156007== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156007== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156007== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156007== by 0x498986B: setlocale (setlocale.c:337) ==156007== by 0x109045: main (first.c:160) ==156007== ==156007== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156007== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156007== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156007== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156007== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156007== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156007== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156007== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156007== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156007== by 0x498986B: seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1526 ./libtest/lib1526 http://the.old.moo.1526:36813/1526 127.0.0.1:45699 > log/4/stdout1526 2> log/4/stderr1526 tlocale (setlocale.c:337) ==156007== by 0x109045: main (first.c:160) ==156007== ==156007== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156007== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156007== by 0x48EA143: Curl_open (url.c:510) ==156007== by 0x4880EEF: curl_easy_init (easy.c:370) ==156007== by 0x109099: UnknownInlinedFun (lib1525.c:61) ==156007== by 0x109099: main (first.c:220) ==156007== ==156007== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156007== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156007== by 0x4A6D258: __tsearch (tsearch.c:337) ==156007== by 0x4A6D258: tsearch (tsearch.c:290) ==156007== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156007== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156007== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156007== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156007== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156007== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156007== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156007== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156007== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156007== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156007== by 0x498986B: setlocale (setlocale.c:337) ==156007== by 0x109045: main (first.c:160) ==156007== ==156007== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156007== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156007== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156007== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156007== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156007== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156007== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156007== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156007== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156007== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156007== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156007== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156007== by 0x498986B: setlocale (setlocale.c:337) ==156007== by 0x109045: main (first.c:160) ==156007== === End of file valgrind1525 test 1526...[CURLOPT_PROXYHEADER: separate host/proxy headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1526 ./libtest/lib1526 http://the.old.moo.1526:36813/1526 127.0.0.1:45699 > log/4/stdout1526 2> log/4/stderr1526 1526: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1526 === Start of file http2_server.log 02:03:25.020004 ====> Client connect 02:03:25.020037 accept_connection 3 returned 4 02:03:25.020055 accept_connection 3 returned 0 02:03:25.020068 Read 93 bytes 02:03:25.020079 Process 93 bytes request 02:03:25.020094 Got request: GET /verifiedserver HTTP/1.1 02:03:25.020104 Are-we-friendly question received 02:03:25.020152 Wrote request (93 bytes) input to log/4/proxy.input 02:03:25.020172 Identifying ourselves as friends 02:03:25.020350 Response sent (56 bytes) and written to log/4/proxy.response 02:03:25.020364 special request received, no persistency 02:03:25.020374 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45699... * Connected to 127.0.0.1 (127.0.0.1) port 45699 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45699 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 80241 === End of file http2_verify.out === Start of file http_server.log 02:03:24.998076 ====> Client connect 02:03:24.998919 accept_connection 3 returned 4 02:03:24.998939 accept_connection 3 returned 0 02:03:24.998953 Read 93 bytes 02:03:24.998965 Process 93 bytes request 02:03:24.998977 Got request: GET /verifiedserver HTTP/1.1 02:03:24.998986 Are-we-friendly question received 02:03:24.999010 Wrote request (93 bytes) input to log/4/server.input 02:03:24.999027 Identifying ourselves as friends 02:03:24.999100 Response sent (56 bytes) and written to log/4/server.response 02:03:24.999112 special request received, no persistency 02:03:24.999121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 80241 === End of file proxy.response === Start of file server.cmd Testnum 1526 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr1526 URL: http://the.old.moo.1526:36813/1526 === End of file stderr1526 === Start of file valgrind1526 ==156016== ==156016== Process terminating with default action of signal 4 (SIGILL) ==156016== Illegal opcode at address 0x48EA16B ==156016== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156016== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156016== by 0x48EA16B: Curl_open (url.c:519) ==156016== by 0x4880EEF: curl_easy_init (easy.c:370) ==156016== by 0x1090A0: UnknownInlinedFun (lib1526.c:59) ==156016== by 0x1090A0: main (first.c:220) ==156016== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156016== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156016== by 0x4A6D258: __tsearch (tsearch.c:337) ==156016== by 0x4A6D258: tsearch (tsearch.c:290) ==156016== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156016== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156016== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156016== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156016== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156016== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156016== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156016== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156016== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156016== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156016== by 0x498986B: setlocale (setlocale.c:337) ==156016== by 0x10904B: main (first.c:160) ==156016== ==156016== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156016== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156016== by 0x4A6D258: __tsearch (tsearch.c:337) ==156016== by 0x4A6D258: tsearch (tsearch.c:290) ==156016== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156016== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156016== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156016== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156016== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156016== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156016== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156016== by 0x498986B: setlocale (setlocale.c:337) ==156016== by 0x10904B: main (first.c:1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1527 ./libtest/lib1527 http://the.old.moo.1527:34215/1527 127.0.0.1:34021 > log/1/stdout1527 2> log/1/stderr1527 60) ==156016== ==156016== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156016== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156016== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156016== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156016== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156016== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156016== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156016== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156016== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156016== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156016== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156016== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156016== by 0x498986B: setlocale (setlocale.c:337) ==156016== by 0x10904B: main (first.c:160) ==156016== ==156016== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156016== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156016== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156016== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156016== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156016== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156016== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156016== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156016== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156016== by 0x498986B: setlocale (setlocale.c:337) ==156016== by 0x10904B: main (first.c:160) ==156016== ==156016== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156016== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156016== by 0x48EA143: Curl_open (url.c:510) ==156016== by 0x4880EEF: curl_easy_init (easy.c:370) ==156016== by 0x1090A0: UnknownInlinedFun (lib1526.c:59) ==156016== by 0x1090A0: main (first.c:220) ==156016== ==156016== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156016== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156016== by 0x4A6D258: __tsearch (tsearch.c:337) ==156016== by 0x4A6D258: tsearch (tsearch.c:290) ==156016== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156016== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156016== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156016== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156016== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156016== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156016== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156016== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156016== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156016== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156016== by 0x498986B: setlocale (setlocale.c:337) ==156016== by 0x10904B: main (first.c:160) ==156016== ==156016== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156016== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156016== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156016== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156016== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156016== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156016== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156016== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156016== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156016== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156016== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156016== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156016== by 0x498986B: setlocale (setlocale.c:337) ==156016== by 0x10904B: main (first.c:160) ==156016== === End of file valgrind1526 test 1527...[Check same headers are generated with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1527 ./libtest/lib1527 http://the.old.moo.1527:34215/1527 127.0.0.1:34021 > log/1/stdout1527 2> log/1/stderr1527 1527: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1527 === Start of file http2_server.log 02:03:25.192634 ====> Client connect 02:03:25.192667 accept_connection 3 returned 4 02:03:25.192684 accept_connection 3 returned 0 02:03:25.192696 Read 93 bytes 02:03:25.192707 Process 93 bytes request 02:03:25.192719 Got request: GET /verifiedserver HTTP/1.1 02:03:25.192729 Are-we-friendly question received 02:03:25.192750 Wrote request (93 bytes) input to log/1/proxy.input 02:03:25.192767 Identifying ourselves as friends 02:03:25.192827 Response sent (56 bytes) and written to log/1/proxy.response 02:03:25.192837 special request received, no persistency 02:03:25.192847 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:34021... * Connected to 127.0.0.1 (127.0.0.1) port 34021 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34021 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 91834 === End of file http2_verify.out === Start of file http_server.log 02:03:25.167848 ====> Client connect 02:03:25.167896 accept_connection 3 returned 4 02:03:25.167923 accept_connection 3 returned 0 02:03:25.167942 Read 93 bytes 02:03:25.167954 Process 93 bytes request 02:03:25.167971 Got request: GET /verifiedserver HTTP/1.1 02:03:25.167983 Are-we-friendly question received 02:03:25.168009 Wrote request (93 bytes) input to log/1/server.input 02:03:25.168031 Identifying ourselves as friends 02:03:25.168108 Response sent (56 bytes) and written to log/1/server.response 02:03:25.168123 special request received, no persistency 02:03:25.168132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 91834 === End of file proxy.response === Start of file server.cmd Testnum 1527 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr1527 URL: http://the.old.moo.1527:34215/1527 === End of file stderr1527 === Start of file valgrind1527 ==156151== ==156151== Process terminating with default action of signal 4 (SIGILL) ==156151== Illegal opcode at address 0x48EA16B ==156151== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156151== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156151== by 0x48EA16B: Curl_open (url.c:519) ==156151== by 0x4880EEF: curl_easy_init (easy.c:370) ==156151== by 0x1090A0: UnknownInlinedFun (lib1527.c:60) ==156151== by 0x1090A0: main (first.c:220) ==156151== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156151== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156151== by 0x4A6D258: __tsearch (tsearch.c:337) ==156151== by 0x4A6D258: tsearch (tseaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1528 ./libtest/lib1528 http://the.old.moo:38781/1528 127.0.0.1:42375 > log/2/stdout1528 2> log/2/stderr1528 rch.c:290) ==156151== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156151== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156151== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156151== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156151== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156151== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156151== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156151== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156151== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156151== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156151== by 0x498986B: setlocale (setlocale.c:337) ==156151== by 0x10904B: main (first.c:160) ==156151== ==156151== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156151== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156151== by 0x4A6D258: __tsearch (tsearch.c:337) ==156151== by 0x4A6D258: tsearch (tsearch.c:290) ==156151== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156151== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156151== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156151== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156151== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156151== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156151== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156151== by 0x498986B: setlocale (setlocale.c:337) ==156151== by 0x10904B: main (first.c:160) ==156151== ==156151== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156151== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156151== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156151== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156151== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156151== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156151== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156151== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156151== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156151== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156151== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156151== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156151== by 0x498986B: setlocale (setlocale.c:337) ==156151== by 0x10904B: main (first.c:160) ==156151== ==156151== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156151== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156151== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156151== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156151== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156151== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156151== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156151== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156151== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156151== by 0x498986B: setlocale (setlocale.c:337) ==156151== by 0x10904B: main (first.c:160) ==156151== ==156151== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156151== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156151== by 0x48EA143: Curl_open (url.c:510) ==156151== by 0x4880EEF: curl_easy_init (easy.c:370) ==156151== by 0x1090A0: UnknownInlinedFun (lib1527.c:60) ==156151== by 0x1090A0: main (first.c:220) ==156151== ==156151== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156151== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156151== by 0x4A6D258: __tsearch (tsearch.c:337) ==156151== by 0x4A6D258: tsearch (tsearch.c:290) ==156151== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156151== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156151== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156151== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156151== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156151== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156151== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156151== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156151== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156151== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156151== by 0x498986B: setlocale (setlocale.c:337) ==156151== by 0x10904B: main (first.c:160) ==156151== ==156151== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156151== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156151== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156151== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156151== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156151== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156151== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156151== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156151== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156151== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156151== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156151== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156151== by 0x498986B: setlocale (setlocale.c:337) ==156151== by 0x10904B: main (first.c:160) ==156151== === End of file valgrind1527 test 1528...[Separately specified proxy/server headers sent in a proxy GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1528 ./libtest/lib1528 http://the.old.moo:38781/1528 127.0.0.1:42375 > log/2/stdout1528 2> log/2/stderr1528 1528: data FAILED: --- log/2/check-expected 2024-12-15 02:03:26.263687372 +0000 +++ log/2/check-generated 2024-12-15 02:03:26.263687372 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Content-Length: 5[CR][LF] -[CR][LF] -stop[LF] == Contents of files in the log/2/ dir after test 1528 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Content-Length: 5[CR][LF] [CR][LF] stop[LF] === End of file check-expected === Start of file http2_server.log 02:03:25.510839 ====> Client connect 02:03:25.510870 accept_connection 3 returned 4 02:03:25.510886 accept_connection 3 returned 0 02:03:25.510899 Read 93 bytes 02:03:25.510909 Process 93 bytes request 02:03:25.510921 Got request: GET /verifiedserver HTTP/1.1 02:03:25.510930 Are-we-friendly question received 02:03:25.510972 Wrote request (93 bytes) input to log/2/proxy.input 02:03:25.510989 Identifying ourselves as friends 02:03:25.511052 Response sent (56 bytes) and written to log/2/proxy.response 02:03:25.511062 special request received, no persistency 02:03:25.511071 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:42375... * Connected to 127.0.0.1 (127.0.0.1) port 42375 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42375 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79340 === End of file http2_verify.out === Start of file http_server.log 02:03:25.488418 ====> Client connect 02:03:25.488452 accept_connection 3 returned 4 02:03:25.488469 accept_connection 3 returned 0 02:03:25.488494 Read 93 bytes 02:03:25.488505 Process 93 bytes request 02:03:25.488524 Got request: GET /verifiedserver HTTP/1.1 02:03:25.488534 Are-we-friendly question received 02:03:25.488561 Wrote request (93 bytes) input to log/2/server.input 02:03:25.488581 Identifying ourselves as friends 02:03:25.488653 Response sent (56 bytes) and written to log/2/server.response 02:03:25.488667 special request received, no persistency 02:03:25.488676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79340 === End of file proxy.response === Start of file server.cmd Testnum 1528 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1528 URL: http://the.old.moo:38781/1528 === End of file stderr1528 === Start of file valgrind1528 ==156257== ==156257== Process terminating with default action of signal 4 (SIGILL) ==156257== Illegal opcode at address 0x48EA16B ==156257== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156257== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156257== by 0x48EA16B: Curl_open (url.c:519) ==156257== by 0x4880EEF: curl_easy_init (easy.c:370) ==156257== by 0x1090A0: UnknownInlinedFun (lib1528.c:42) ==156257== by 0x1090A0: main (first.c:220) ==156257== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156257== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156257== by 0x4A6D258: __tsearch (tsearch.c:337) ==156257== by 0x4A6D258: tsearch (tsearch.c:290) ==156257== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156257== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156257== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156257== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156257== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156257== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156257== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156257== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156257== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156257== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156257== by 0x498986B: setlocale (setlocale.c:337) ==156257== by 0x10904B: main (first.c:160) ==156257== ==156257== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156257== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156257== by 0x4A6D258: __tsearch (tsearch.c:337) ==156257== by 0x4A6D258: tsearch (tsearch.c:290) ==156257== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156257== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156257== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156257== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156257== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156257== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156257== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156257== by 0x498986B: setlocale (setlocale.c:337) ==156257== by 0x10904B: main (first.c:160) ==156257== ==156257== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156257== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156257== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156257== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156257== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156257== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156257== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156257== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156257== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156257== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156257== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156257== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156257== by 0x498986B: setlocale (setlocale.c:337) ==156257== by 0x10904B: main (first.c:160) ==156257== ==156257== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156257== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156257== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156257== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156257== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156257== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156257== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156257== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156257== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156257== by 0x498986B: setlocale (setlocale.c:337) ==156257== by 0x10904B: main (first.c:160) ==156257== ==156257== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156257== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156257== by 0x48EA143: Curl_open (url.c:510) ==156257=CMD (0): ../src/curl --max-time 13 --output log/6/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:37501/verifiedserver" 2>log/6/http2_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1530 ./libtest/lib1530 - > log/12/stdout1530 2> log/12/stderr1530 = by 0x4880EEF: curl_easy_init (easy.c:370) ==156257== by 0x1090A0: UnknownInlinedFun (lib1528.c:42) ==156257== by 0x1090A0: main (first.c:220) ==156257== ==156257== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156257== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156257== by 0x4A6D258: __tsearch (tsearch.c:337) ==156257== by 0x4A6D258: tsearch (tsearch.c:290) ==156257== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156257== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156257== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156257== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156257== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156257== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156257== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156257== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156257== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156257== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156257== by 0x498986B: setlocale (setlocale.c:337) ==156257== by 0x10904B: main (first.c:160) ==156257== ==156257== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156257== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156257== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156257== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156257== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156257== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156257== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156257== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156257== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156257== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156257== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156257== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156257== by 0x498986B: setlocale (setlocale.c:337) ==156257== by 0x10904B: main (first.c:160) ==156257== === End of file valgrind1528 * starts no server test 1530...[CURLOPT_OPENSOCKETFUNCTION returns bad socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1530 ./libtest/lib1530 - > log/12/stdout1530 2> log/12/stderr1530 lib1530 returned 132, when expecting 7 1530: exit FAILED == Contents of files in the log/12/ dir after test 1530 === Start of file server.cmd Testnum 1530 === End of file server.cmd === Start of file stderr1530 URL: - === End of file stderr1530 === Start of file valgrind1530 ==156307== ==156307== Process terminating with default action of signal 4 (SIGILL) ==156307== Illegal opcode at address 0x48EA16B ==156307== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156307== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156307== by 0x48EA16B: Curl_open (url.c:519) ==156307== by 0x4880EEF: curl_easy_init (easy.c:370) ==156307== by 0x109087: UnknownInlinedFun (lib1530.c:51) ==156307== by 0x109087: main (first.c:220) ==156307== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156307== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156307== by 0x4A6D258: __tsearch (tsearch.c:337) ==156307== by 0x4A6D258: tsearch (tsearch.c:290) ==156307== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156307== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156307== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156307== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156307== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156307== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156307== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156307== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156307== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156307== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156307== by 0x498986B: setlocale (setlocale.c:337) ==156307== by 0x109047: main (first.c:160) ==156307== ==156307== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156307== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156307== by 0x4A6D258: __tsearch (tsearch.c:337) ==156307== by 0x4A6D258: tsearch (tsearch.c:290) ==156307== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156307== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156307== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156307== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156307== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156307== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156307== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156307== by 0x498986B: setlocale (setlocale.c:337) ==156307== by 0x109047: main (first.c:160) ==156307== ==156307== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156307== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156307== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156307== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156307== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156307== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156307== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156307== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156307== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156307== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156307== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156307== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156307== by 0x498986B: setlocale (setlocale.c:337) ==156307== by 0x109047: main (first.c:160) ==156307== ==156307== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156307== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156307== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156307== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156307== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156307== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156307== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156307== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156307== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156307== by 0x498986B: setlocale (setlocale.c:337) ==156307== by 0x109047: main (first.c:160) ==156307== ==156307== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156307== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156307== by 0x48EA143: Curl_open (url.c:510) ==156307== by 0x4880EEF: curl_easy_init (easy.c:370) ==156307== by 0x109087: UnknownInlinedFun (lib1530.c:51) ==156307== by 0x109087: main (first.c:220) ==156307== ==156307== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156307== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156307== by 0x4A6D258: __tsearch (tsearch.c:337) ==156307== by 0x4A6D258: tsearch (tsearch.c:290) ==156307== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156307== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156307== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156307== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156307== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156307== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156307== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156307== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156307== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156307== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156307== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1533 ./libtest/lib1533 http://127.0.0.1:43753/1533 > log/7/stdout1533 2> log/7/stderr1533 by 0x498986B: setlocale (setlocale.c:337) ==156307== by 0x109047: main (first.c:160) ==156307== ==156307== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156307== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156307== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156307== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156307== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156307== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156307== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156307== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156307== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156307== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156307== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156307== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156307== by 0x498986B: setlocale (setlocale.c:337) ==156307== by 0x109047: main (first.c:160) ==156307== === End of file valgrind1530 test 1533...[HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1533 ./libtest/lib1533 http://127.0.0.1:43753/1533 > log/7/stdout1533 2> log/7/stderr1533 1533: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1533 === Start of file http_server.log 02:03:25.658420 ====> Client connect 02:03:25.658454 accept_connection 3 returned 4 02:03:25.658481 accept_connection 3 returned 0 02:03:25.658496 Read 93 bytes 02:03:25.658506 Process 93 bytes request 02:03:25.658519 Got request: GET /verifiedserver HTTP/1.1 02:03:25.658529 Are-we-friendly question received 02:03:25.658552 Wrote request (93 bytes) input to log/7/server.input 02:03:25.658569 Identifying ourselves as friends 02:03:25.658634 Response sent (56 bytes) and written to log/7/server.response 02:03:25.658644 special request received, no persistency 02:03:25.658653 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd auth_required Testnum 1533 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr1533 URL: http://127.0.0.1:43753/1533 === End of file stderr1533 === Start of file valgrind1533 ==156442== ==156442== Process terminating with default action of signal 4 (SIGILL) ==156442== Illegal opcode at address 0x48EA16B ==156442== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156442== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156442== by 0x48EA16B: Curl_open (url.c:519) ==156442== by 0x4880EEF: curl_easy_init (easy.c:370) ==156442== by 0x109099: UnknownInlinedFun (lib1533.c:142) ==156442== by 0x109099: main (first.c:220) ==156442== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156442== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156442== by 0x4A6D258: __tsearch (tsearch.c:337) ==156442== by 0x4A6D258: tsearch (tsearch.c:290) ==156442== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156442== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156442== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156442== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156442== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156442== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156442== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156442== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156442== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156442== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156442== by 0x498986B: setlocale (setlocale.c:337) ==156442== by 0x109056: main (first.c:160) ==156442== ==156442== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156442== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156442== by 0x4A6D258: __tsearch (tsearch.c:337) ==156442== by 0x4A6D258: tsearch (tsearch.c:290) ==156442== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156442== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156442== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156442== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156442== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156442== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156442== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156442== by 0x498986B: setlocale (setlocale.c:337) ==156442== by 0x109056: main (first.c:160) ==156442== ==156442== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156442== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156442== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156442== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156442== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156442== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156442== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156442== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156442== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156442== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156442== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156442== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156442== by 0x498986B: setlocale (setlocale.c:337) ==156442== by 0x109056: main (first.c:160) ==156442== ==156442== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156442== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156442== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156442== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156442== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156442== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156442== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156442== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156442== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156442== by 0x498986B: setlocale (setlocale.c:337) ==156442== by 0x109056: main (first.c:160) ==156442== ==156442== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156442== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156442== by 0x48EA143: Curl_open (url.c:510) ==156442== by 0x4880EEF: curl_easy_init (easy.c:370) ==156442== by 0x109099: UnknownInlinedFun (lib1533.c:142) ==156442== by 0x109099: main (first.c:220) ==156442== ==156442== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156442== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156442== by 0x4A6D258: __tsearch (tsearch.c:337) ==156442== by 0x4A6D258: tsearch (tsearch.c:290) ==156442== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156442== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156442== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156442== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156442== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156442== by 0x497DF71: __gconv_read_conf CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1531 ./libtest/lib1531 127.0.0.1:34527/1531 > log/3/stdout1531 2> log/3/stderr1531 (gconv_conf.c:480) ==156442== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156442== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156442== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156442== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156442== by 0x498986B: setlocale (setlocale.c:337) ==156442== by 0x109056: main (first.c:160) ==156442== ==156442== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156442== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156442== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156442== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156442== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156442== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156442== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156442== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156442== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156442== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156442== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156442== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156442== by 0x498986B: setlocale (setlocale.c:337) ==156442== by 0x109056: main (first.c:160) ==156442== === End of file valgrind1533 test 1531...[CURLOPT_POSTFIELDS with binary data set after multi_add_handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1531 ./libtest/lib1531 127.0.0.1:34527/1531 > log/3/stdout1531 2> log/3/stderr1531 1531: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1531 === Start of file http_server.log 02:03:25.652536 ====> Client connect 02:03:25.652565 accept_connection 3 returned 4 02:03:25.652578 accept_connection 3 returned 0 02:03:25.652591 Read 93 bytes 02:03:25.652599 Process 93 bytes request 02:03:25.652612 Got request: GET /verifiedserver HTTP/1.1 02:03:25.652620 Are-we-friendly question received 02:03:25.652638 Wrote request (93 bytes) input to log/3/server.input 02:03:25.652652 Identifying ourselves as friends 02:03:25.652705 Response sent (56 bytes) and written to log/3/server.response 02:03:25.652714 special request received, no persistency 02:03:25.652722 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1531 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr1531 URL: 127.0.0.1:34527/1531 === End of file stderr1531 === Start of file valgrind1531 ==156412== ==156412== Process terminating with default action of signal 4 (SIGILL) ==156412== Illegal opcode at address 0x48EA16B ==156412== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156412== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156412== by 0x48EA16B: Curl_open (url.c:519) ==156412== by 0x4880EEF: curl_easy_init (easy.c:370) ==156412== by 0x1092F1: test.part.0 (lib1531.c:50) ==156412== by 0x10909E: UnknownInlinedFun (lib1531.c:47) ==156412== by 0x10909E: main (first.c:220) ==156412== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156412== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156412== by 0x4A6D258: __tsearch (tsearch.c:337) ==156412== by 0x4A6D258: tsearch (tsearch.c:290) ==156412== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156412== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156412== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156412== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156412== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156412== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156412== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156412== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156412== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156412== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156412== by 0x498986B: setlocale (setlocale.c:337) ==156412== by 0x109047: main (first.c:160) ==156412== ==156412== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156412== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156412== by 0x4A6D258: __tsearch (tsearch.c:337) ==156412== by 0x4A6D258: tsearch (tsearch.c:290) ==156412== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156412== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156412== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156412== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156412== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156412== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156412== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156412== by 0x498986B: setlocale (setlocale.c:337) ==156412== by 0x109047: main (first.c:160) ==156412== ==156412== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156412== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156412== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156412== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156412== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156412== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156412== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156412== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156412== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156412== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156412== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156412== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156412== by 0x498986B: setlocale (setlocale.c:337) ==156412== by 0x109047: main (first.c:160) ==156412== ==156412== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156412== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156412== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156412== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156412== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156412== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156412== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156412== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156412== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156412== by 0x498986B: setlocale (setlocale.c:337) ==156412== by 0x109047: main (first.c:160) ==156412== ==156412== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156412== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156412== by 0x48EA143: Curl_open (url.c:510) ==156412== by 0x4880EEF: curl_easy_init (easy.c:370) ==156412== by 0x1092F1: test.part.0 (lib1531.c:50) ==156412== by 0x10909E: UnknownInlinedFun (lib1531.c:47) ==156412== by 0x10909E: main (first.c:220) ==156412== ==156412== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156412== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156412== by 0x4A6D258: __tsearch (tsearch.c:337) ==156412== by 0x4A6D258: tsearch (tsearcCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1538 ./libtest/lib1538 nothing > log/4/stdout1538 2> log/4/stderr1538 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1534 ./libtest/lib1534 http://127.0.0.1:34719/1534 > log/5/stdout1534 2> log/5/stderr1534 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1532 ./libtest/lib1532 http://127.0.0.1:44137/1532 > log/11/stdout1532 2> log/11/stderr1532 h.c:290) ==156412== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156412== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156412== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156412== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156412== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156412== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156412== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156412== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156412== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156412== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156412== by 0x498986B: setlocale (setlocale.c:337) ==156412== by 0x109047: main (first.c:160) ==156412== ==156412== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156412== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156412== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156412== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156412== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156412== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156412== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156412== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156412== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156412== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156412== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156412== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156412== by 0x498986B: setlocale (setlocale.c:337) ==156412== by 0x109047: main (first.c:160) ==156412== === End of file valgrind1531 * starts no server test 1538...[libcurl strerror API call tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1538 ./libtest/lib1538 nothing > log/4/stdout1538 2> log/4/stderr1538 s------e-v- OK (1380 out of 1584, remaining: 00:20, took 0.667s, duration: 02:18) test 1534...[CURLINFO_FILETIME init and reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1534 ./libtest/lib1534 http://127.0.0.1:34719/1534 > log/5/stdout1534 2> log/5/stderr1534 1534: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 1534 === Start of file http_server.log 02:03:25.673675 ====> Client connect 02:03:25.673707 accept_connection 3 returned 4 02:03:25.673722 accept_connection 3 returned 0 02:03:25.673736 Read 93 bytes 02:03:25.673748 Process 93 bytes request 02:03:25.673762 Got request: GET /verifiedserver HTTP/1.1 02:03:25.673772 Are-we-friendly question received 02:03:25.673797 Wrote request (93 bytes) input to log/5/server.input 02:03:25.673815 Identifying ourselves as friends 02:03:25.673883 Response sent (57 bytes) and written to log/5/server.response 02:03:25.673895 special request received, no persistency 02:03:25.673904 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1534 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file stderr1534 URL: http://127.0.0.1:34719/1534 === End of file stderr1534 === Start of file valgrind1534 ==156480== ==156480== Process terminating with default action of signal 4 (SIGILL) ==156480== Illegal opcode at address 0x48EA16B ==156480== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156480== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156480== by 0x48EA16B: Curl_open (url.c:519) ==156480== by 0x4880EEF: curl_easy_init (easy.c:370) ==156480== by 0x10909E: UnknownInlinedFun (lib1534.c:38) ==156480== by 0x10909E: UnknownInlinedFun (lib1534.c:30) ==156480== by 0x10909E: main (first.c:220) ==156480== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156480== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156480== by 0x4A6D258: __tsearch (tsearch.c:337) ==156480== by 0x4A6D258: tsearch (tsearch.c:290) ==156480== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156480== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156480== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156480== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156480== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156480== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156480== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156480== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156480== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156480== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156480== by 0x498986B: setlocale (setlocale.c:337) ==156480== by 0x109058: main (first.c:160) ==156480== ==156480== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156480== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156480== by 0x4A6D258: __tsearch (tsearch.c:337) ==156480== by 0x4A6D258: tsearch (tsearch.c:290) ==156480== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156480== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156480== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156480== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156480== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156480== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156480== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156480== by 0x498986B: setlocale (setlocale.c:337) ==156480== by 0x109058: main (first.c:160) ==156480== ==156480== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156480== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156480== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156480== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156480== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156480== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156480== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156480== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156480== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156480== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156480== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156480== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156480== by 0x498986B: setlocale (setlocale.c:337) ==156480== by 0x109058: main (first.c:160) ==156480== ==156480== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156480== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156480== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156480== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156480== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156480== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156480== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156480== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156480== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156480== by 0x498986B: setlocale (setlocale.c:337) ==156480== by 0x109058: main (first.c:160) ==156480== ==156480== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156480== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156480== by 0x48EA143: Curl_open (url.c:510) ==156480== by 0x4880EEF: curl_easy_init (easy.c:370) ==156480== by 0x10909E: UnknownInlinedFun (lib1534.c:38) ==156480== by 0x10909E: UnknownInlinedFun (lib1534.c:30) ==156480== by 0x10909E: main (first.c:220) ==156480== ==156480== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156480== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156480== by 0x4A6D258: __tsearch (tsearch.c:337) ==156480== by 0x4A6D258: tsearch (tsearch.c:290) ==156480== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156480== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156480== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156480== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156480== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156480== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156480== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156480== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156480== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156480== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156480== by 0x498986B: setlocale (setlocale.c:337) ==156480== by 0x109058: main (first.c:160) ==156480== ==156480== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156480== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156480== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156480== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156480== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156480== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156480== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156480== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156480== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156480== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156480== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156480== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156480== by 0x498986B: setlocale (setlocale.c:337) ==156480== by 0x109058: main (first.c:160) ==156480== === End of file valgrind1534 test 1532...[Test CURLINFO_RESPONSE_CODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1532 ./libtest/lib1532 http://127.0.0.1:44137/1532 > log/11/stdout1532 2> log/11/stderr1532 1532: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1532 === Start of file http_server.log 02:03:25.652571 ====> Client connect 02:03:25.652607 accept_connection 3 returned 4 02:03:25.652624 accept_connection 3 returned 0 02:03:25.652639 Read 93 bytes 02:03:25.652651 Process 93 bytes request 02:03:25.652664 Got request: GET /verifiedserver HTTP/1.1 02:03:25.652674 Are-we-friendly question received 02:03:25.652702 Wrote request (93 bytes) input to log/11/server.input 02:03:25.652723 Identifying ourselves as friends 02:03:25.652795 Response sent (56 bytes) and written to log/11/server.response 02:03:25.652809 special request received, no persistency 02:03:25.652819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1532 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr1532 URL: http://127.0.0.1:44137/1532 === End of file stderr1532 === Start of file valgrind1532 ==156410== ==156410== Process terminating with default action of signal 4 (SIGILL) ==156410== Illegal opcode at address 0x48EA16B ==156410== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156410== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156410== by 0x48EA16B: Curl_open (url.c:519) ==156410== by 0x4880EEF: curl_easy_init (easy.c:370) ==156410== by 0x10909B: UnknownInlinedFun (lib1532.c:38) ==156410== by 0x10909B: UnknownInlinedFun (lib1532.c:30) ==156410== by 0x10909B: main (first.c:220) ==156410== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156410== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156410== by 0x4A6D258: __tsearch (tsearch.c:337) ==156410== by 0x4A6D258: tsearch (tsearch.c:290) ==156410== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156410== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156410== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156410== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156410== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156410== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156410== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156410== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156410== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156410== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156410== by 0x498986B: setlocale (setlocale.c:337) ==156410== by 0x109056: main (first.c:160) ==156410== ==156410== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156410== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156410== by 0x4A6D258: __tsearch (tsearch.c:337) ==156410== by 0x4A6D258: tsearch (tsearch.c:290) ==156410== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156410== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156410== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156410== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156410== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156410== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156410== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156410== by 0x498986B: setlocale (setlocale.c:337) ==156410== by 0x109056: main (first.c:160) ==156410== ==156410== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156410== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156410== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156410== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156410== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156410== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156410== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156410== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156410== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156410== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156410== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156410== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156410== by 0x498986B: setlocale (setlocale.c:337) ==156410== by 0x109056: main (first.c:160) ==156410== ==156410== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156410== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156410== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156410== by 0x497DF3BCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/4/stdout1544 2> log/4/stderr1544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1535 ./libtest/lib1535 http://127.0.0.1:38509/1535 > log/9/stdout1535 2> log/9/stderr1535 : add_alias2 (gconv_conf.c:105) ==156410== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156410== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156410== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156410== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156410== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156410== by 0x498986B: setlocale (setlocale.c:337) ==156410== by 0x109056: main (first.c:160) ==156410== ==156410== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156410== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156410== by 0x48EA143: Curl_open (url.c:510) ==156410== by 0x4880EEF: curl_easy_init (easy.c:370) ==156410== by 0x10909B: UnknownInlinedFun (lib1532.c:38) ==156410== by 0x10909B: UnknownInlinedFun (lib1532.c:30) ==156410== by 0x10909B: main (first.c:220) ==156410== ==156410== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156410== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156410== by 0x4A6D258: __tsearch (tsearch.c:337) ==156410== by 0x4A6D258: tsearch (tsearch.c:290) ==156410== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156410== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156410== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156410== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156410== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156410== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156410== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156410== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156410== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156410== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156410== by 0x498986B: setlocale (setlocale.c:337) ==156410== by 0x109056: main (first.c:160) ==156410== ==156410== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156410== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156410== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156410== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156410== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156410== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156410== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156410== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156410== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156410== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156410== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156410== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156410== by 0x498986B: setlocale (setlocale.c:337) ==156410== by 0x109056: main (first.c:160) ==156410== === End of file valgrind1532 * starts no server test 1544...[Verify all string options are translated by OS/400 wrapper] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/4/stdout1544 2> log/4/stderr1544 valgrind SKIPPED -------e--- OK (1386 out of 1584, remaining: 00:19, took 0.049s, duration: 02:18) test 1535...[Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1535 ./libtest/lib1535 http://127.0.0.1:38509/1535 > log/9/stdout1535 2> log/9/stderr1535 1535: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1535 === Start of file http_server.log 02:03:25.852747 ====> Client connect 02:03:25.852776 accept_connection 3 returned 4 02:03:25.852792 accept_connection 3 returned 0 02:03:25.852805 Read 93 bytes 02:03:25.852814 Process 93 bytes request 02:03:25.852827 Got request: GET /verifiedserver HTTP/1.1 02:03:25.852835 Are-we-friendly question received 02:03:25.852857 Wrote request (93 bytes) input to log/9/server.input 02:03:25.852871 Identifying ourselves as friends 02:03:25.852929 Response sent (56 bytes) and written to log/9/server.response 02:03:25.852938 special request received, no persistency 02:03:25.852946 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1535 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr1535 URL: http://127.0.0.1:38509/1535 === End of file stderr1535 === Start of file valgrind1535 ==156620== ==156620== Process terminating with default action of signal 4 (SIGILL) ==156620== Illegal opcode at address 0x48EA16B ==156620== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156620== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156620== by 0x48EA16B: Curl_open (url.c:519) ==156620== by 0x4880EEF: curl_easy_init (easy.c:370) ==156620== by 0x10909E: UnknownInlinedFun (lib1535.c:38) ==156620== by 0x10909E: UnknownInlinedFun (lib1535.c:30) ==156620== by 0x10909E: main (first.c:220) ==156620== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156620== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156620== by 0x4A6D258: __tsearch (tsearch.c:337) ==156620== by 0x4A6D258: tsearch (tsearch.c:290) ==156620== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156620== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156620== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156620== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156620== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156620== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156620== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156620== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156620== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156620== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156620== by 0x498986B: setlocale (setlocale.c:337) ==156620== by 0x109058: main (first.c:160) ==156620== ==156620== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156620== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156620== by 0x4A6D258: __tsearch (tsearch.c:337) ==156620== by 0x4A6D258: tsearch (tsearch.c:290) ==156620== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156620== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156620== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156620== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156620== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156620== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156620== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156620== by 0x498986B: setlocale (setlocale.c:337) ==156620== by 0x109058: main (first.c:160) ==156620== ==156620== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156620== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156620== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156620== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156620== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156620== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156620== by 0x497DD1F: gconv_pCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1537 ./libtest/lib1537 nothing > log/10/stdout1537 2> log/10/stderr1537 CMD (0): ../src/curl --max-time 13 --output log/8/http_verify.out --silent --verbose --globoff "http://127.0.0.1:38805/verifiedserver" 2>log/8/http_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1539 ./libtest/lib1539 http://127.0.0.1:34215/1539 > log/1/stdout1539 2> log/1/stderr1539 arseconfdir (gconv_parseconfdir.h:139) ==156620== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156620== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156620== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156620== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156620== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156620== by 0x498986B: setlocale (setlocale.c:337) ==156620== by 0x109058: main (first.c:160) ==156620== ==156620== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156620== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156620== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156620== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156620== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156620== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156620== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156620== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156620== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156620== by 0x498986B: setlocale (setlocale.c:337) ==156620== by 0x109058: main (first.c:160) ==156620== ==156620== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156620== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156620== by 0x48EA143: Curl_open (url.c:510) ==156620== by 0x4880EEF: curl_easy_init (easy.c:370) ==156620== by 0x10909E: UnknownInlinedFun (lib1535.c:38) ==156620== by 0x10909E: UnknownInlinedFun (lib1535.c:30) ==156620== by 0x10909E: main (first.c:220) ==156620== ==156620== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156620== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156620== by 0x4A6D258: __tsearch (tsearch.c:337) ==156620== by 0x4A6D258: tsearch (tsearch.c:290) ==156620== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156620== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156620== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156620== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156620== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156620== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156620== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156620== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156620== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156620== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156620== by 0x498986B: setlocale (setlocale.c:337) ==156620== by 0x109058: main (first.c:160) ==156620== ==156620== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156620== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156620== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156620== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156620== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156620== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156620== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156620== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156620== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156620== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156620== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156620== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156620== by 0x498986B: setlocale (setlocale.c:337) ==156620== by 0x109058: main (first.c:160) ==156620== === End of file valgrind1535 * starts no server test 1537...[libcurl URL escape/unescape tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1537 ./libtest/lib1537 nothing > log/10/stdout1537 2> log/10/stderr1537 s------e-v- OK (1379 out of 1584, remaining: 00:20, took 0.966s, duration: 02:18) test 1539...[HTTP 1.0 POST with read callback and unknown data size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1539 ./libtest/lib1539 http://127.0.0.1:34215/1539 > log/1/stdout1539 2> log/1/stderr1539 lib1539 returned 132, when expecting 25 1539: exit FAILED == Contents of files in the log/1/ dir after test 1539 === Start of file http_server.log 02:03:26.175201 ====> Client connect 02:03:26.175237 accept_connection 3 returned 4 02:03:26.175255 accept_connection 3 returned 0 02:03:26.175271 Read 93 bytes 02:03:26.175282 Process 93 bytes request 02:03:26.175297 Got request: GET /verifiedserver HTTP/1.1 02:03:26.175307 Are-we-friendly question received 02:03:26.175332 Wrote request (93 bytes) input to log/1/server.input 02:03:26.175351 Identifying ourselves as friends 02:03:26.175429 Response sent (56 bytes) and written to log/1/server.response 02:03:26.175443 special request received, no persistency 02:03:26.175453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1539 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr1539 URL: http://127.0.0.1:34215/1539 === End of file stderr1539 === Start of file valgrind1539 ==156782== ==156782== Process terminating with default action of signal 4 (SIGILL) ==156782== Illegal opcode at address 0x48EA16B ==156782== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156782== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156782== by 0x48EA16B: Curl_open (url.c:519) ==156782== by 0x4880EEF: curl_easy_init (easy.c:370) ==156782== by 0x1090AE: UnknownInlinedFun (lib1514.c:66) ==156782== by 0x1090AE: main (first.c:220) ==156782== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156782== by 0x4A6D258: __tsearch (tsearch.c:337) ==156782== by 0x4A6D258: tsearch (tsearch.c:290) ==156782== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156782== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156782== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156782== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156782== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156782== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156782== by 0x498986B: setlocale (setlocale.c:337) ==156782== by 0x109056: main (first.c:160) ==156782== ==156782== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156782== by 0x4A6D258: __tsearch (tsearch.c:337) ==156782== by 0x4A6D258: tsearch (tsearch.c:290) ==156782== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156782== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156782== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156782==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1546 ../src/curl -q --output log/11/curl1546.out --include --trace-ascii log/11/trace1546 --trace-config all --trace-time http://127.0.0.1:44137/1546 --tr-encoding > log/11/stdout1546 2> log/11/stderr1546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1540 ./libtest/lib1540 http://127.0.0.1:38781/1540 > log/2/stdout1540 2> log/2/stderr1540 by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156782== by 0x498986B: setlocale (setlocale.c:337) ==156782== by 0x109056: main (first.c:160) ==156782== ==156782== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156782== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156782== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156782== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156782== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156782== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156782== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156782== by 0x498986B: setlocale (setlocale.c:337) ==156782== by 0x109056: main (first.c:160) ==156782== ==156782== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156782== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156782== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156782== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156782== by 0x498986B: setlocale (setlocale.c:337) ==156782== by 0x109056: main (first.c:160) ==156782== ==156782== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156782== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156782== by 0x48EA143: Curl_open (url.c:510) ==156782== by 0x4880EEF: curl_easy_init (easy.c:370) ==156782== by 0x1090AE: UnknownInlinedFun (lib1514.c:66) ==156782== by 0x1090AE: main (first.c:220) ==156782== ==156782== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156782== by 0x4A6D258: __tsearch (tsearch.c:337) ==156782== by 0x4A6D258: tsearch (tsearch.c:290) ==156782== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156782== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156782== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156782== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156782== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156782== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156782== by 0x498986B: setlocale (setlocale.c:337) ==156782== by 0x109056: main (first.c:160) ==156782== ==156782== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156782== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156782== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156782== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156782== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156782== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156782== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156782== by 0x498986B: setlocale (setlocale.c:337) ==156782== by 0x109056: main (first.c:160) ==156782== === End of file valgrind1539 test 1546...[HTTP transfer-encoding wrong order] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1546 ../src/curl -q --output log/11/curl1546.out --include --trace-ascii log/11/trace1546 --trace-config all --trace-time http://127.0.0.1:44137/1546 --tr-encoding > log/11/stdout1546 2> log/11/stderr1546 1546: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1546 === Start of file http_server.log 02:03:26.689680 ====> Client connect 02:03:26.689713 accept_connection 3 returned 4 02:03:26.689731 accept_connection 3 returned 0 02:03:26.689745 Read 93 bytes 02:03:26.689757 Process 93 bytes request 02:03:26.689771 Got request: GET /verifiedserver HTTP/1.1 02:03:26.689781 Are-we-friendly question received 02:03:26.689808 Wrote request (93 bytes) input to log/11/server.input 02:03:26.689827 Identifying ourselves as friends 02:03:26.689902 Response sent (56 bytes) and written to log/11/server.response 02:03:26.689915 special request received, no persistency 02:03:26.689926 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1546 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1546 ==157211== ==157211== Process terminating with default action of signal 4 (SIGILL) ==157211== Illegal opcode at address 0x10B08D ==157211== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==157211== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1546 test 1540...[chunked with trailers and pausing the receive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1540 ./libtest/lib1540 http://127.0.0.1:38781/1540 > log/2/stdout1540 2> log/2/stderr1540 1540: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1540 === Start of file http_server.log 02:03:26.493037 ====> Client connect 02:03:26.493071 accept_connection 3 returned 4 02:03:26.493088 accept_connection 3 returned 0 02:03:26.493102 Read 93 bytes 02:03:26.493113 Process 93 bytes request 02:03:26.493128 Got request: GET /verifiedserver HTTP/1.1 02:03:26.493138 Are-we-friendly question received 02:03:26.493163 Wrote request (93 bytes) input to log/2/server.input 02:03:26.493181 Identifying ourselves as friends 02:03:26.493272 Response sent (56 bytes) and written to log/2/server.response 02:03:26.493283 special request received, no persistency 02:03:26.493293 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to hoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1529 ./libtest/lib1529 "http://the.old.moo:39167/1529" 127.0.0.1:37501 > log/6/stdout1529 2> log/6/stderr1529 st 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1540 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1540 URL: http://127.0.0.1:38781/1540 === End of file stderr1540 === Start of file valgrind1540 ==156860== ==156860== Process terminating with default action of signal 4 (SIGILL) ==156860== Illegal opcode at address 0x48EA16B ==156860== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156860== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156860== by 0x48EA16B: Curl_open (url.c:519) ==156860== by 0x4880EEF: curl_easy_init (easy.c:370) ==156860== by 0x1090C9: UnknownInlinedFun (lib1540.c:98) ==156860== by 0x1090C9: main (first.c:220) ==156860== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156860== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156860== by 0x4A6D258: __tsearch (tsearch.c:337) ==156860== by 0x4A6D258: tsearch (tsearch.c:290) ==156860== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156860== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156860== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156860== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156860== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156860== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156860== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156860== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156860== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156860== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156860== by 0x498986B: setlocale (setlocale.c:337) ==156860== by 0x109058: main (first.c:160) ==156860== ==156860== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156860== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156860== by 0x4A6D258: __tsearch (tsearch.c:337) ==156860== by 0x4A6D258: tsearch (tsearch.c:290) ==156860== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156860== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156860== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156860== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156860== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156860== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156860== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156860== by 0x498986B: setlocale (setlocale.c:337) ==156860== by 0x109058: main (first.c:160) ==156860== ==156860== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156860== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156860== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156860== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156860== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156860== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156860== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156860== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156860== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156860== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156860== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156860== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156860== by 0x498986B: setlocale (setlocale.c:337) ==156860== by 0x109058: main (first.c:160) ==156860== ==156860== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156860== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156860== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156860== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156860== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156860== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156860== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156860== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156860== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156860== by 0x498986B: setlocale (setlocale.c:337) ==156860== by 0x109058: main (first.c:160) ==156860== ==156860== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156860== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156860== by 0x48EA143: Curl_open (url.c:510) ==156860== by 0x4880EEF: curl_easy_init (easy.c:370) ==156860== by 0x1090C9: UnknownInlinedFun (lib1540.c:98) ==156860== by 0x1090C9: main (first.c:220) ==156860== ==156860== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156860== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156860== by 0x4A6D258: __tsearch (tsearch.c:337) ==156860== by 0x4A6D258: tsearch (tsearch.c:290) ==156860== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156860== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156860== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156860== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156860== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156860== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156860== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156860== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156860== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156860== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156860== by 0x498986B: setlocale (setlocale.c:337) ==156860== by 0x109058: main (first.c:160) ==156860== ==156860== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156860== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156860== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156860== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156860== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156860== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156860== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156860== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156860== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156860== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156860== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156860== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156860== by 0x498986B: setlocale (setlocale.c:337) ==156860== by 0x109058: main (first.c:160) ==156860== === End of file valgrind1540 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/6/server/http2_server.pid" --logfile "log/6/http2_server.log" --logdir "log/6" --portfile log/6/server/http2_server.port --config log/6/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/6/http2_verify.out --silent --verbose --globoff "http://127.0.0.1:37501/verifiedserver" 2>log/6/http2_verify.log RUN: HTTP2 server is on PID 156255 port 37501 * pid http-proxy => 156255 156255 test 1529...[HTTP request-injection in URL sent over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1529 ./libtest/lib1529 "http://the.old.moo:39167/1529" 127.0.0.1:37501 > log/6/stdout1529 2> log/6/stderr1529 lib1529 returned 132, when expecting 3 1529: exit FAILED == Contents of files in the log/6/ dir after test 1529 === Start of file http2_server.log 02:03:25.526363 Run as proxy, CONNECT to host 127.0.0.1 02:03:25.526459 Running HTTP IPv4 version on port 37501 02:03:25.526503 Wrote pid 156255 to log/6/server/http2_server.pid 02:03:25.526536 Wrote port 37501 to log/6/server/http2_server.port 02:03:26.536346 ====> Client connect 02:03:26.536364 accept_connection 3 returned 4 02:03:26.536379 accept_connection 3 returned 0 02:03:26.536394 Read 93 bytes 02:03:26.536404 Process 93 bytes request 02:03:26.536422 Got request: GET /verifiedserver HTTP/1.1 02:03:26.536432 Are-we-friendly question received 02:03:26.536456 Wrote request (93 bytes) input to log/6/proxy.input 02:03:26.536477 Identifying ourselves as friends 02:03:26.536550 Response sent (57 bytes) and written to log/6/proxy.response 02:03:26.536564 special request received, no persistency 02:03:26.536577 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:37501... * Connected to 127.0.0.1 (127.0.0.1) port 37501 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37501 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 156255 === End of file http2_verify.out === Start of file http_server.log 02:03:25.508952 ====> Client connect 02:03:25.508979 accept_connection 3 returned 4 02:03:25.508996 accept_connection 3 returned 0 02:03:25.509009 Read 93 bytes 02:03:25.509021 Process 93 bytes request 02:03:25.509035 Got request: GET /verifiedserver HTTP/1.1 02:03:25.509045 Are-we-friendly question received 02:03:25.509065 Wrote request (93 bytes) input to log/6/server.input 02:03:25.509082 Identifying ourselves as friends 02:03:25.509141 Response sent (57 bytes) and written to log/6/server.response 02:03:25.509151 special request received, no persistency 02:03:25.509161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156255 === End of file proxy.response === Start of file server.cmd Testnum 1529 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr1529 URL: http://the.old.moo:39167/1529 === End of file stderr1529 === Start of file valgrind1529 ==156919== ==156919== Process terminating with default action of signal 4 (SIGILL) ==156919== Illegal opcode at address 0x48EA16B ==156919== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156919== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156919== by 0x48EA16B: Curl_open (url.c:519) ==156919== by 0x4880EEF: curl_easy_init (easy.c:370) ==156919== by 0x109234: test (lib1529.c:42) ==156919== by 0x109087: main (first.c:220) ==156919== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156919== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156919== by 0x4A6D258: __tsearch (tsearch.c:337) ==156919== by 0x4A6D258: tsearch (tsearch.c:290) ==156919== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156919== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156919== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156919== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156919== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156919== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156919== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156919== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156919== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156919== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156919== by 0x498986B: setlocale (setlocale.c:337) ==156919== by 0x109047: main (first.c:160) ==156919== ==156919== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156919== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156919== by 0x4A6D258: __tsearch (tsearch.c:337) ==156919== by 0x4A6D258: tsearch (tsearch.c:290) ==156919== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156919== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156919== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156919== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156919== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156919== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156919== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156919== by 0x498986B: setlocale (setlocale.c:337) ==156919== by 0x109047: main (first.c:160) ==156919== ==156919== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156919== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156919== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156919== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156919== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156919== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156919== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156919== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156919== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156919== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156919== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156919== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156919== by 0x498986B: setlocale (setlocale.c:337) ==156919== by 0x109047: main (first.c:160) ==156919== ==156919== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156919== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156919== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156919== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156919== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156919== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156919== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156919== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156919== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156919== by 0x498986B: setlocale (setlocale.c:337) ==156919== by 0x109047: main (first.c:160) ==156919== ==156919== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156919== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156919== by 0x48EA143: Curl_open (url.c:510) ==156919== by 0x4880EEF: curl_easy_init (easy.c:370) ==156919== by 0x109234: test (lib1529.c:42) ==156919== by 0x109087: main (first.c:220) ==156919== ==156919== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156919== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156919== by 0x4A6D258: __tsearch (tsearch.c:337) ==156919== by 0x4A6D258: tsearch (tsearch.c:290) ==156919== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156919== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156919== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156919== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156919== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156919== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156919== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156919== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156919== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156919== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156919== by 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1541 ./libtest/lib1541 http://127.0.0.1:40653/1541 > log/12/stdout1541 2> log/12/stderr1541 x498986B: setlocale (setlocale.c:337) ==156919== by 0x109047: main (first.c:160) ==156919== ==156919== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156919== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156919== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156919== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156919== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156919== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156919== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156919== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156919== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156919== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156919== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156919== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156919== by 0x498986B: setlocale (setlocale.c:337) ==156919== by 0x109047: main (first.c:160) ==156919== === End of file valgrind1529 test 1541...[chunked with trailers and pausing the receive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1541 ./libtest/lib1541 http://127.0.0.1:40653/1541 > log/12/stdout1541 2> log/12/stderr1541 1541: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1541 === Start of file http_server.log 02:03:26.595710 ====> Client connect 02:03:26.595736 accept_connection 3 returned 4 02:03:26.595750 accept_connection 3 returned 0 02:03:26.595761 Read 93 bytes 02:03:26.595769 Process 93 bytes request 02:03:26.595782 Got request: GET /verifiedserver HTTP/1.1 02:03:26.595792 Are-we-friendly question received 02:03:26.595814 Wrote request (93 bytes) input to log/12/server.input 02:03:26.595831 Identifying ourselves as friends 02:03:26.595904 Response sent (56 bytes) and written to log/12/server.response 02:03:26.595915 special request received, no persistency 02:03:26.595924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1541 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr1541 URL: http://127.0.0.1:40653/1541 === End of file stderr1541 === Start of file valgrind1541 ==156984== ==156984== Process terminating with default action of signal 4 (SIGILL) ==156984== Illegal opcode at address 0x48EA16B ==156984== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==156984== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==156984== by 0x48EA16B: Curl_open (url.c:519) ==156984== by 0x4880EEF: curl_easy_init (easy.c:370) ==156984== by 0x1090D1: UnknownInlinedFun (lib1541.c:125) ==156984== by 0x1090D1: main (first.c:220) ==156984== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==156984== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156984== by 0x4A6D258: __tsearch (tsearch.c:337) ==156984== by 0x4A6D258: tsearch (tsearch.c:290) ==156984== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156984== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156984== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156984== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156984== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156984== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156984== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156984== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156984== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156984== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156984== by 0x498986B: setlocale (setlocale.c:337) ==156984== by 0x109058: main (first.c:160) ==156984== ==156984== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==156984== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156984== by 0x4A6D258: __tsearch (tsearch.c:337) ==156984== by 0x4A6D258: tsearch (tsearch.c:290) ==156984== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156984== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156984== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156984== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156984== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156984== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156984== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156984== by 0x498986B: setlocale (setlocale.c:337) ==156984== by 0x109058: main (first.c:160) ==156984== ==156984== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==156984== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156984== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156984== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156984== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156984== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156984== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==156984== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==156984== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156984== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156984== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156984== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156984== by 0x498986B: setlocale (setlocale.c:337) ==156984== by 0x109058: main (first.c:160) ==156984== ==156984== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==156984== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156984== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156984== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==156984== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==156984== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156984== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156984== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156984== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156984== by 0x498986B: setlocale (setlocale.c:337) ==156984== by 0x109058: main (first.c:160) ==156984== ==156984== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==156984== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==156984== by 0x48EA143: Curl_open (url.c:510) ==156984== by 0x4880EEF: curl_easy_init (easy.c:370) ==156984== by 0x1090D1: UnknownInlinedFun (lib1541.c:125) ==156984== by 0x1090D1: main (first.c:220) ==156984== ==156984== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==156984== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156984== by 0x4A6D258: __tsearch (tsearch.c:337) ==156984== by 0x4A6D258: tsearch (tsearch.c:290) ==156984== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==156984== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156984== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156984== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156984== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156984== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480)CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1542 ./libtest/lib1542 http://127.0.0.1:43753/1542 > log/7/stdout1542 2> log/7/stderr1542 ==156984== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156984== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156984== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156984== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156984== by 0x498986B: setlocale (setlocale.c:337) ==156984== by 0x109058: main (first.c:160) ==156984== ==156984== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==156984== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==156984== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==156984== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==156984== by 0x497DBB2: add_alias (gconv_conf.c:178) ==156984== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==156984== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==156984== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==156984== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==156984== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==156984== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==156984== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==156984== by 0x498986B: setlocale (setlocale.c:337) ==156984== by 0x109058: main (first.c:160) ==156984== === End of file valgrind1541 test 1542...[connection reuse with CURLOPT_MAXLIFETIME_CONN] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1542 ./libtest/lib1542 http://127.0.0.1:43753/1542 > log/7/stdout1542 2> log/7/stderr1542 1542: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1542 === Start of file http_server.log 02:03:26.649160 ====> Client connect 02:03:26.649194 accept_connection 3 returned 4 02:03:26.649212 accept_connection 3 returned 0 02:03:26.649227 Read 93 bytes 02:03:26.649238 Process 93 bytes request 02:03:26.649251 Got request: GET /verifiedserver HTTP/1.1 02:03:26.649261 Are-we-friendly question received 02:03:26.649287 Wrote request (93 bytes) input to log/7/server.input 02:03:26.649306 Identifying ourselves as friends 02:03:26.649408 Response sent (56 bytes) and written to log/7/server.response 02:03:26.649421 special request received, no persistency 02:03:26.649432 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1542 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr1542 URL: http://127.0.0.1:43753/1542 === End of file stderr1542 === Start of file valgrind1542 ==157067== ==157067== Process terminating with default action of signal 4 (SIGILL) ==157067== Illegal opcode at address 0x48EA16B ==157067== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157067== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157067== by 0x48EA16B: Curl_open (url.c:519) ==157067== by 0x4880EEF: curl_easy_init (easy.c:370) ==157067== by 0x109091: UnknownInlinedFun (lib1542.c:46) ==157067== by 0x109091: UnknownInlinedFun (lib1542.c:39) ==157067== by 0x109091: main (first.c:220) ==157067== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==157067== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157067== by 0x4A6D258: __tsearch (tsearch.c:337) ==157067== by 0x4A6D258: tsearch (tsearch.c:290) ==157067== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157067== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157067== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157067== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157067== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157067== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157067== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157067== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157067== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157067== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157067== by 0x498986B: setlocale (setlocale.c:337) ==157067== by 0x10904B: main (first.c:160) ==157067== ==157067== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==157067== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157067== by 0x4A6D258: __tsearch (tsearch.c:337) ==157067== by 0x4A6D258: tsearch (tsearch.c:290) ==157067== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157067== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157067== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157067== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157067== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157067== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157067== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157067== by 0x498986B: setlocale (setlocale.c:337) ==157067== by 0x10904B: main (first.c:160) ==157067== ==157067== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==157067== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157067== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157067== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157067== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157067== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157067== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157067== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157067== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157067== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157067== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157067== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157067== by 0x498986B: setlocale (setlocale.c:337) ==157067== by 0x10904B: main (first.c:160) ==157067== ==157067== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==157067== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157067== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157067== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157067== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157067== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157067== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157067== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157067== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157067== by 0x498986B: setlocale (setlocale.c:337) ==157067== by 0x10904B: main (first.c:160) ==157067== ==157067== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==157067== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157067== by 0x48EA143: Curl_open (url.c:510) ==157067== by 0x4880EEF: curl_easy_init (easy.c:370) ==157067== by 0x109091: UnknownInlinedFun (lib1542.c:46) ==157067== by 0x109091: UnknownInlinedFun (lib1542.c:39) ==157067== by 0x109091: main (first.c:220) ==157067== ==157067== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==157067== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157067== by 0x4A6D258: __tsearch (tsearch.c:337) ==157067== by 0x4A6D258: tsearch (tsearch.c:290)CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1543 ./libtest/lib1543 "http://127.0.0.1:34527/ /with/ space/ /file" > log/3/stdout1543 2> log/3/stderr1543 ==157067== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157067== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157067== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157067== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157067== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157067== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157067== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157067== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157067== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157067== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157067== by 0x498986B: setlocale (setlocale.c:337) ==157067== by 0x10904B: main (first.c:160) ==157067== ==157067== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==157067== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157067== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157067== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157067== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157067== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157067== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157067== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157067== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157067== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157067== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157067== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157067== by 0x498986B: setlocale (setlocale.c:337) ==157067== by 0x10904B: main (first.c:160) ==157067== === End of file valgrind1542 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1550 ./libtest/lib1550 http://127.0.0.1:47/1550 > log/4/stdout1550 2> log/4/stderr1550 test 1543...[CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1543 ./libtest/lib1543 "http://127.0.0.1:34527/ /with/ space/ /file" > log/3/stdout1543 2> log/3/stderr1543 1543: stdout FAILED: --- log/3/check-expected 2024-12-15 02:03:27.480375652 +0000 +++ log/3/check-generated 2024-12-15 02:03:27.480375652 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 200[LF] -redirects 1[LF] -effectiveurl http://127.0.0.1:34527/%20/with/%20space/15430002[LF] -redirecturl blank[LF] == Contents of files in the log/3/ dir after test 1543 === Start of file check-expected res 0[LF] status 200[LF] redirects 1[LF] effectiveurl http://127.0.0.1:34527/%20/with/%20space/15430002[LF] redirecturl blank[LF] === End of file check-expected === Start of file http_server.log 02:03:26.646437 ====> Client connect 02:03:26.646470 accept_connection 3 returned 4 02:03:26.646487 accept_connection 3 returned 0 02:03:26.646502 Read 93 bytes 02:03:26.646513 Process 93 bytes request 02:03:26.646528 Got request: GET /verifiedserver HTTP/1.1 02:03:26.646538 Are-we-friendly question received 02:03:26.646561 Wrote request (93 bytes) input to log/3/server.input 02:03:26.646579 Identifying ourselves as friends 02:03:26.646644 Response sent (56 bytes) and written to log/3/server.response 02:03:26.646655 special request received, no persistency 02:03:26.646664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1543 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr1543 URL: http://127.0.0.1:34527/ /with/ space/ /file === End of file stderr1543 === Start of file valgrind1543 ==157070== ==157070== Process terminating with default action of signal 4 (SIGILL) ==157070== Illegal opcode at address 0x48EA16B ==157070== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157070== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157070== by 0x48EA16B: Curl_open (url.c:519) ==157070== by 0x4880EEF: curl_easy_init (easy.c:370) ==157070== by 0x109096: UnknownInlinedFun (lib1518.c:51) ==157070== by 0x109096: main (first.c:220) ==157070== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==157070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157070== by 0x4A6D258: __tsearch (tsearch.c:337) ==157070== by 0x4A6D258: tsearch (tsearch.c:290) ==157070== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157070== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157070== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157070== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157070== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157070== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157070== by 0x498986B: setlocale (setlocale.c:337) ==157070== by 0x109056: main (first.c:160) ==157070== ==157070== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==157070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157070== by 0x4A6D258: __tsearch (tsearch.c:337) ==157070== by 0x4A6D258: tsearch (tsearch.c:290) ==157070== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157070== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157070== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157070== by 0x498986B: setlocale (setlocale.c:337) ==157070== by 0x109056: main (first.c:160) ==157070== ==157070== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==157070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157070== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157070== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157070== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157070== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157070== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157070== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157070== by 0x498986B: setlocale (setlocale.c:337) ==157070== by 0x109056: main (first.c:160) ==157070== ==157070== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==157070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157070== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157070== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157070== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157070== by 0x498986B: setlocale (setlocale.c:337) ==157070== by 0x109056: main (first.c:160) ==157070== ==157070== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==157070== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157070== by 0x48EA143: Curl_open (url.c:510) ==157070== by 0x4880EEF: curl_easy_init (easy.c:370) ==157070== by 0x109096: UnknownInlinedFun (lib1518.c:51) ==157070== by 0x109096: main (first.c:220) ==157070== ==157070== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==157070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157070== by 0x4A6D258: __tsearch (tsearch.c:337) ==157070== by 0x4A6D258: tsearch (tsearch.c:290) ==157070== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157070== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157070== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157070== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157070== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157070== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157070== by 0x498986B: setlocale (setlocale.c:337) ==157070== by 0x109056: main (first.c:160) ==157070== ==157070== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==157070== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157070== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157070== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157070== by 0x497CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1545 ./libtest/lib1545 http://127.0.0.1:34719/1545 > log/5/stdout1545 2> log/5/stderr1545 DBB2: add_alias (gconv_conf.c:178) ==157070== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157070== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157070== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157070== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157070== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157070== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157070== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157070== by 0x498986B: setlocale (setlocale.c:337) ==157070== by 0x109056: main (first.c:160) ==157070== === End of file valgrind1543 * starts no server test 1550...[verify setting pipeling blocklisting options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1550 ./libtest/lib1550 http://127.0.0.1:47/1550 > log/4/stdout1550 2> log/4/stderr1550 lib1550 returned 132, when expecting 0 1550: exit FAILED == Contents of files in the log/4/ dir after test 1550 === Start of file server.cmd Testnum 1550 === End of file server.cmd === Start of file stderr1550 URL: http://127.0.0.1:47/1550 === End of file stderr1550 === Start of file valgrind1550 ==157135== ==157135== Process terminating with default action of signal 4 (SIGILL) ==157135== Illegal opcode at address 0x48EA16B ==157135== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157135== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157135== by 0x48EA16B: Curl_open (url.c:519) ==157135== by 0x4880EEF: curl_easy_init (easy.c:370) ==157135== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==157135== by 0x48BF363: Curl_multi_handle (multi.c:416) ==157135== by 0x109086: UnknownInlinedFun (lib1550.c:40) ==157135== by 0x109086: UnknownInlinedFun (lib1550.c:30) ==157135== by 0x109086: main (first.c:220) ==157135== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==157135== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157135== by 0x4A6D258: __tsearch (tsearch.c:337) ==157135== by 0x4A6D258: tsearch (tsearch.c:290) ==157135== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157135== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157135== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157135== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157135== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157135== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157135== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157135== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157135== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157135== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157135== by 0x498986B: setlocale (setlocale.c:337) ==157135== by 0x109047: main (first.c:160) ==157135== ==157135== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==157135== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157135== by 0x4A6D258: __tsearch (tsearch.c:337) ==157135== by 0x4A6D258: tsearch (tsearch.c:290) ==157135== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157135== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157135== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157135== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157135== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157135== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157135== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157135== by 0x498986B: setlocale (setlocale.c:337) ==157135== by 0x109047: main (first.c:160) ==157135== ==157135== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==157135== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157135== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157135== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157135== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157135== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157135== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157135== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157135== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157135== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157135== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157135== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157135== by 0x498986B: setlocale (setlocale.c:337) ==157135== by 0x109047: main (first.c:160) ==157135== ==157135== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==157135== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157135== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157135== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157135== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157135== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157135== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157135== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157135== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157135== by 0x498986B: setlocale (setlocale.c:337) ==157135== by 0x109047: main (first.c:160) ==157135== ==157135== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==157135== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157135== by 0x48EA143: Curl_open (url.c:510) ==157135== by 0x4880EEF: curl_easy_init (easy.c:370) ==157135== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==157135== by 0x48BF363: Curl_multi_handle (multi.c:416) ==157135== by 0x109086: UnknownInlinedFun (lib1550.c:40) ==157135== by 0x109086: UnknownInlinedFun (lib1550.c:30) ==157135== by 0x109086: main (first.c:220) ==157135== ==157135== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==157135== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157135== by 0x4A6D258: __tsearch (tsearch.c:337) ==157135== by 0x4A6D258: tsearch (tsearch.c:290) ==157135== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157135== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157135== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157135== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157135== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157135== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157135== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157135== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157135== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157135== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157135== by 0x498986B: setlocale (setlocale.c:337) ==157135== by 0x109047: main (first.c:160) ==157135== ==157135== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==157135== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157135== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157135== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157135== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157135== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157135== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157135== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157135== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157135== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157135== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157135== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157135== by 0x498986B: setlocale (setlocale.c:337) ==157135== by 0x109047: main (first.c:160) ==157135== === End of file valgrind1550 test 1545...[use curl_formadd() data twice with unreadable file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1545 ./libtest/lib1545 http://127.0.0.1:34719/1545 > log/5/stdout1545 2> log/5/stderr1545 lib1545 returned 132, when expecting 0 1545: exit FAILED == Contents of files in the log/5/ dir after test 1545 === Start of file http_server.log 02:03:26.682200 ====> Client connect 02:03:26.682230 accept_connection 3 returned 4 02:03:26.682245 accept_connection 3 returned 0 02:03:26.682258 Read 93 bytes 02:03:26.682268 Process 93 bytes request 02:03:26.682281 Got request: GET /verifiedserver HTTP/1.1 02:03:26.682290 Are-we-friendly question received 02:03:26.682312 Wrote request (93 bytes) input to log/5/server.input 02:03:26.682329 Identifying ourselves as friends 02:03:26.682411 Response sent (57 bytes) and written to log/5/server.response 02:03:26.682422 special request received, no persistency 02:03:26.682430 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1545 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file stderr1545 URL: http://127.0.0.1:34719/1545 === End of file stderr1545 === Start of file valgrind1545 ==157168== ==157168== Process terminating with default action of signal 4 (SIGILL) ==157168== Illegal opcode at address 0x48EA16B ==157168== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157168== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157168== by 0x48EA16B: Curl_open (url.c:519) ==157168== by 0x4880EEF: curl_easy_init (easy.c:370) ==157168== by 0x1090AB: UnknownInlinedFun (lib1545.c:35) ==157168== by 0x1090AB: main (first.c:220) ==157168== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==157168== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157168== by 0x4A6D258: __tsearch (tsearch.c:337) ==157168== by 0x4A6D258: tsearch (tsearch.c:290) ==157168== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157168== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157168== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157168== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157168== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157168== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157168== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157168== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157168== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157168== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157168== by 0x498986B: setlocale (setlocale.c:337) ==157168== by 0x109056: main (first.c:160) ==157168== ==157168== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==157168== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157168== by 0x4A6D258: __tsearch (tsearch.c:337) ==157168== by 0x4A6D258: tsearch (tsearch.c:290) ==157168== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157168== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157168== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157168== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157168== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157168== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157168== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157168== by 0x498986B: setlocale (setlocale.c:337) ==157168== by 0x109056: main (first.c:160) ==157168== ==157168== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==157168== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157168== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157168== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157168== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157168== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157168== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157168== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157168== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157168== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157168== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157168== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157168== by 0x498986B: setlocale (setlocale.c:337) ==157168== by 0x109056: main (first.c:160) ==157168== ==157168== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==157168== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157168== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157168== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157168== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157168== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157168== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157168== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157168== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157168== by 0x498986B: setlocale (setlocale.c:337) ==157168== by 0x109056: main (first.c:160) ==157168== ==157168== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==157168== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157168== by 0x48EA143: Curl_open (url.c:510) ==157168== by 0x4880EEF: curl_easy_init (easy.c:370) ==157168== by 0x1090AB: UnknownInlinedFun (lib1545.c:35) ==157168== by 0x1090AB: main (first.c:220) ==157168== ==157168== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==157168== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157168== by 0x4A6D258: __tsearch (tsearch.c:337) ==157168== by 0x4A6D258: tsearch (tsearch.c:290) ==157168== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157168== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157168== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157168== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157168== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157168== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157168== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157168== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157168== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157168== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157168== by 0x498986B: setlocale (setlocale.c:337) ==157168== by 0x109056: main (first.c:160) ==157168== ==157168== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==157168== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157168== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157168== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157168== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157168== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157168== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157168== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157168== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157168== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157168== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157168== by 0x4986CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1551 ./libtest/lib1551 http://127.0.0.1:38509/1551 > log/9/stdout1551 2> log/9/stderr1551 E9D: _nl_find_locale (findlocale.c:298) ==157168== by 0x498986B: setlocale (setlocale.c:337) ==157168== by 0x109056: main (first.c:160) ==157168== === End of file valgrind1545 test 1551...[re-run redirected transfer without setting URL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1551 ./libtest/lib1551 http://127.0.0.1:38509/1551 > log/9/stdout1551 2> log/9/stderr1551 1551: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 1551 === Start of file http_server.log 02:03:26.852894 ====> Client connect 02:03:26.852929 accept_connection 3 returned 4 02:03:26.852947 accept_connection 3 returned 0 02:03:26.852962 Read 93 bytes 02:03:26.852973 Process 93 bytes request 02:03:26.852987 Got request: GET /verifiedserver HTTP/1.1 02:03:26.852998 Are-we-friendly question received 02:03:26.853024 Wrote request (93 bytes) input to log/9/server.input 02:03:26.853043 Identifying ourselves as friends 02:03:26.853118 Response sent (56 bytes) and written to log/9/server.response 02:03:26.853130 special request received, no persistency 02:03:26.853140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1551 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr1551 URL: http://127.0.0.1:38509/1551 === End of file stderr1551 === Start of file valgrind1551 ==157343== ==157343== Process terminating with default action of signal 4 (SIGILL) ==157343== Illegal opcode at address 0x48EA16B ==157343== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157343== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157343== by 0x48EA16B: Curl_open (url.c:519) ==157343== by 0x4880EEF: curl_easy_init (easy.c:370) ==157343== by 0x10908B: UnknownInlinedFun (lib1551.c:36) ==157343== by 0x10908B: UnknownInlinedFun (lib1551.c:30) ==157343== by 0x10908B: main (first.c:220) ==157343== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==157343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157343== by 0x4A6D258: __tsearch (tsearch.c:337) ==157343== by 0x4A6D258: tsearch (tsearch.c:290) ==157343== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157343== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157343== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157343== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157343== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157343== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157343== by 0x498986B: setlocale (setlocale.c:337) ==157343== by 0x109045: main (first.c:160) ==157343== ==157343== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==157343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157343== by 0x4A6D258: __tsearch (tsearch.c:337) ==157343== by 0x4A6D258: tsearch (tsearch.c:290) ==157343== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157343== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157343== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157343== by 0x498986B: setlocale (setlocale.c:337) ==157343== by 0x109045: main (first.c:160) ==157343== ==157343== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==157343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157343== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157343== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157343== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157343== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157343== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157343== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157343== by 0x498986B: setlocale (setlocale.c:337) ==157343== by 0x109045: main (first.c:160) ==157343== ==157343== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==157343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157343== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157343== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157343== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157343== by 0x498986B: setlocale (setlocale.c:337) ==157343== by 0x109045: main (first.c:160) ==157343== ==157343== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==157343== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157343== by 0x48EA143: Curl_open (url.c:510) ==157343== by 0x4880EEF: curl_easy_init (easy.c:370) ==157343== by 0x10908B: UnknownInlinedFun (lib1551.c:36) ==157343== by 0x10908B: UnknownInlinedFun (lib1551.c:30) ==157343== by 0x10908B: main (first.c:220) ==157343== ==157343== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==157343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157343== by 0x4A6D258: __tsearch (tsearch.c:337) ==157343== by 0x4A6D258: tsearch (tsearch.c:290) ==157343== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157343== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157343== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157343== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157343== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157343== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157343== by 0x498986B: setlocale (setlocale.c:337) ==157343== by 0x109045: main (first.c:160) ==157343== ==157343== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==157343== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157343== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157343== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157343== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157343== by 0x497DBB2: read_conf_file.isra.0 (gcoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1536 ./libtest/lib1536 http://127.0.0.1:38805/1536 > log/8/stdout1536 2> log/8/stderr1536 nv_parseconfdir.h:101) ==157343== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157343== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157343== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157343== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157343== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157343== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157343== by 0x498986B: setlocale (setlocale.c:337) ==157343== by 0x109045: main (first.c:160) ==157343== === End of file valgrind1551 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/8/server/http_server.pid" --logfile "log/8/http_server.log" --logdir "log/8" --portfile log/8/server/http_server.port --config log/8/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/8/http_verify.out --silent --verbose --globoff "http://127.0.0.1:38805/verifiedserver" 2>log/8/http_verify.log RUN: HTTP server is on PID 156665 port 38805 * pid http => 156665 156665 test 1536...[Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1536 ./libtest/lib1536 http://127.0.0.1:38805/1536 > log/8/stdout1536 2> log/8/stderr1536 1536: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1536 === Start of file http_server.log 02:03:25.958686 Running HTTP IPv4 version on port 38805 02:03:25.958772 Wrote pid 156665 to log/8/server/http_server.pid 02:03:25.958808 Wrote port 38805 to log/8/server/http_server.port 02:03:26.963236 ====> Client connect 02:03:26.963256 accept_connection 3 returned 4 02:03:26.963272 accept_connection 3 returned 0 02:03:26.963286 Read 93 bytes 02:03:26.963298 Process 93 bytes request 02:03:26.963318 Got request: GET /verifiedserver HTTP/1.1 02:03:26.963328 Are-we-friendly question received 02:03:26.963354 Wrote request (93 bytes) input to log/8/server.input 02:03:26.963379 Identifying ourselves as friends 02:03:26.963452 Response sent (57 bytes) and written to log/8/server.response 02:03:26.963464 special request received, no persistency 02:03:26.963474 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 1536 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file stderr1536 URL: http://127.0.0.1:38805/1536 === End of file stderr1536 === Start of file valgrind1536 ==157422== ==157422== Process terminating with default action of signal 4 (SIGILL) ==157422== Illegal opcode at address 0x48EA16B ==157422== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157422== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157422== by 0x48EA16B: Curl_open (url.c:519) ==157422== by 0x4880EEF: curl_easy_init (easy.c:370) ==157422== by 0x10909F: UnknownInlinedFun (lib1536.c:38) ==157422== by 0x10909F: UnknownInlinedFun (lib1536.c:30) ==157422== by 0x10909F: main (first.c:220) ==157422== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==157422== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157422== by 0x4A6D258: __tsearch (tsearch.c:337) ==157422== by 0x4A6D258: tsearch (tsearch.c:290) ==157422== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157422== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157422== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157422== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157422== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157422== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157422== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157422== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157422== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157422== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157422== by 0x498986B: setlocale (setlocale.c:337) ==157422== by 0x109059: main (first.c:160) ==157422== ==157422== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==157422== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157422== by 0x4A6D258: __tsearch (tsearch.c:337) ==157422== by 0x4A6D258: tsearch (tsearch.c:290) ==157422== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157422== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157422== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157422== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157422== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157422== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157422== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157422== by 0x498986B: setlocale (setlocale.c:337) ==157422== by 0x109059: main (first.c:160) ==157422== ==157422== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==157422== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157422== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157422== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157422== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157422== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157422== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157422== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157422== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157422== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157422== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157422== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157422== by 0x498986B: setlocale (setlocale.c:337) ==157422== by 0x109059: main (first.c:160) ==157422== ==157422== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==157422== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157422== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157422== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157422== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157422== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157422== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157422== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157422== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157422== by 0x498986B: setlocale (setlocale.c:337) ==157422== by 0x109059: main (first.c:160) ==157422== ==157422== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==157422== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157422== by 0x48EA143: Curl_open (url.c:510) ==157422== by 0x4880EEF: curl_easy_init (easy.c:370) ==157422== by 0x10909F: UnknownInlinedFun (lib1536.c:38) ==157422== by 0x10909F: UnknownInlinedFun (lib1536.c:30) ==157422== by 0x10909F: main (first.c:220) ==157422== ==157422== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==157422== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157422== by 0x4A6D258: __tsearch (tsearch.c:337) ==157422== by 0x4A6D258: tsearch (tsearch.c:290) ==157422== by 0x497D877: add_alias2.part.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1552 ./libtest/lib1552 'imap://127.0.0.1:35147/1552/;MAILINDEX=1' > log/10/stdout1552 2> log/10/stderr1552 (gconv_conf.c:142) ==157422== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157422== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157422== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157422== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157422== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157422== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157422== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157422== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157422== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157422== by 0x498986B: setlocale (setlocale.c:337) ==157422== by 0x109059: main (first.c:160) ==157422== ==157422== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==157422== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157422== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157422== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157422== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157422== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157422== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157422== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157422== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157422== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157422== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157422== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157422== by 0x498986B: setlocale (setlocale.c:337) ==157422== by 0x109059: main (first.c:160) ==157422== === End of file valgrind1536 test 1552...[IMAP multi transfer error without curl_multi_remove_handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1552 ./libtest/lib1552 'imap://127.0.0.1:35147/1552/;MAILINDEX=1' > log/10/stdout1552 2> log/10/stderr1552 lib1552 returned 132, when expecting 0 1552: exit FAILED == Contents of files in the log/10/ dir after test 1552 === Start of file imap_server.log 02:03:26.750229 ====> Client connect 02:03:26.750392 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:03:26.750706 < "A001 CAPABILITY" 02:03:26.750745 > "A001 BAD Command[CR][LF]" 02:03:26.750934 < "A002 LIST "verifiedserver" *" 02:03:26.750962 LIST_imap got "verifiedserver" * 02:03:26.750988 > "* LIST () "/" "WE ROOLZ: 114662"[CR][LF]" 02:03:26.751005 > "A002 OK LIST Completed[CR][LF]" 02:03:26.751018 return proof we are we 02:03:26.793410 < "A003 LOGOUT" 02:03:26.793460 > "* BYE curl IMAP server signing off[CR][LF]" 02:03:26.793478 > "A003 OK LOGOUT completed[CR][LF]" 02:03:26.842409 MAIN sockfilt said DISC 02:03:26.842470 ====> Client disconnected 02:03:26.842537 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:03:26.950126 ====> Client connect 02:03:26.950546 Received DATA (on stdin) 02:03:26.950563 > 178 bytes data, server => client 02:03:26.950577 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:03:26.950590 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:03:26.950601 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:03:26.950611 'rve\r\n' 02:03:26.950695 < 17 bytes data, client => server 02:03:26.950713 'A001 CAPABILITY\r\n' 02:03:26.950889 Received DATA (on stdin) 02:03:26.950903 > 18 bytes data, server => client 02:03:26.950914 'A001 BAD Command\r\n' 02:03:26.950978 < 30 bytes data, client => server 02:03:26.950995 'A002 LIST "verifiedserver" *\r\n' 02:03:26.951156 Received DATA (on stdin) 02:03:26.951170 > 34 bytes data, server => client 02:03:26.951181 '* LIST () "/" "WE ROOLZ: 114662"\r\n' 02:03:26.951207 Received DATA (on stdin) 02:03:26.951218 > 24 bytes data, server => client 02:03:26.951229 'A002 OK LIST Completed\r\n' 02:03:26.993366 < 13 bytes data, client => server 02:03:26.993397 'A003 LOGOUT\r\n' 02:03:26.993617 Received DATA (on stdin) 02:03:26.993630 > 36 bytes data, server => client 02:03:26.993642 '* BYE curl IMAP server signing off\r\n' 02:03:26.993670 Received DATA (on stdin) 02:03:26.993681 > 26 bytes data, server => client 02:03:26.993692 'A003 OK LOGOUT completed\r\n' 02:03:27.042473 ====> Client disconnect 02:03:27.042677 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1552 === End of file server.cmd === Start of file stderr1552 URL: imap://127.0.0.1:35147/1552/;MAILINDEX=1 === End of file stderr1552 === Start of file valgrind1552 ==157470== ==157470== Process terminating with default action of signal 4 (SIGILL) ==157470== Illegal opcode at address 0x48EA16B ==157470== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157470== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157470== by 0x48EA16B: Curl_open (url.c:519) ==157470== by 0x4880EEF: curl_easy_init (easy.c:370) ==157470== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==157470== by 0x48BF363: Curl_multi_handle (multi.c:416) ==157470== by 0x1090B2: UnknownInlinedFun (lib1552.c:46) ==157470== by 0x1090B2: UnknownInlinedFun (lib1552.c:32) ==157470== by 0x1090B2: main (first.c:220) ==157470== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==157470== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157470== by 0x4A6D258: __tsearch (tsearch.c:337) ==157470== by 0x4A6D258: tsearch (tsearch.c:290) ==157470== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157470== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157470== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157470== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157470== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157470== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157470== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157470== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157470== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157470== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157470== by 0x498986B: setlocale (setlocale.c:337) ==157470== by 0x109059: main (first.c:160) ==157470== ==157470== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==157470== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157470== by 0x4A6D258: __tsearch (tsearch.c:337) ==157470== by 0x4A6D258: tsearch (tsearch.c:290) ==157470== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157470== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157470== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157470== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157470== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157470== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157470== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157470== by 0x498986B: setlocale (setlocale.c:337) ==157470== by 0x109059: main (first.c:160) ==157470== ==157470== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==157470== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157470== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157470== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157470== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157470== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157470== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157470== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157470== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157470== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157470== by 0x497C99CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1563 ../src/curl -q --output log/4/curl1563.out --include --trace-ascii log/4/trace1563 --trace-config all --trace-time http://127.0.0.1:36813/15630001 -L -H "Host: www.example.com" > log/4/stdout1563 2> log/4/stderr1563 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1553 ./libtest/lib1553 imap://non-existing-host.haxx.se:39155/1553 > log/1/stdout1553 2> log/1/stderr1553 : __gconv_compare_alias (gconv_db.c:692) ==157470== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157470== by 0x498986B: setlocale (setlocale.c:337) ==157470== by 0x109059: main (first.c:160) ==157470== ==157470== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==157470== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157470== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157470== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157470== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157470== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157470== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157470== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157470== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157470== by 0x498986B: setlocale (setlocale.c:337) ==157470== by 0x109059: main (first.c:160) ==157470== ==157470== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==157470== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157470== by 0x48EA143: Curl_open (url.c:510) ==157470== by 0x4880EEF: curl_easy_init (easy.c:370) ==157470== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==157470== by 0x48BF363: Curl_multi_handle (multi.c:416) ==157470== by 0x1090B2: UnknownInlinedFun (lib1552.c:46) ==157470== by 0x1090B2: UnknownInlinedFun (lib1552.c:32) ==157470== by 0x1090B2: main (first.c:220) ==157470== ==157470== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==157470== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157470== by 0x4A6D258: __tsearch (tsearch.c:337) ==157470== by 0x4A6D258: tsearch (tsearch.c:290) ==157470== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157470== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157470== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157470== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157470== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157470== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157470== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157470== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157470== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157470== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157470== by 0x498986B: setlocale (setlocale.c:337) ==157470== by 0x109059: main (first.c:160) ==157470== ==157470== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==157470== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157470== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157470== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157470== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157470== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157470== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157470== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157470== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157470== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157470== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157470== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157470== by 0x498986B: setlocale (setlocale.c:337) ==157470== by 0x109059: main (first.c:160) ==157470== === End of file valgrind1552 test 1563...[Make sure redirects to CURLPROTO_GOPHER are forbidden by default] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1563 ../src/curl -q --output log/4/curl1563.out --include --trace-ascii log/4/trace1563 --trace-config all --trace-time http://127.0.0.1:36813/15630001 -L -H "Host: www.example.com" > log/4/stdout1563 2> log/4/stderr1563 1563: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1563 === Start of file http_server.log 02:03:27.765860 ====> Client connect 02:03:27.765892 accept_connection 3 returned 4 02:03:27.765907 accept_connection 3 returned 0 02:03:27.765920 Read 93 bytes 02:03:27.765934 Process 93 bytes request 02:03:27.765947 Got request: GET /verifiedserver HTTP/1.1 02:03:27.765956 Are-we-friendly question received 02:03:27.765977 Wrote request (93 bytes) input to log/4/server.input 02:03:27.765994 Identifying ourselves as friends 02:03:27.766056 Response sent (56 bytes) and written to log/4/server.response 02:03:27.766067 special request received, no persistency 02:03:27.766076 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1563 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1563 ==157969== ==157969== Process terminating with default action of signal 4 (SIGILL) ==157969== Illegal opcode at address 0x10B08D ==157969== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==157969== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1563 test 1553...[IMAP cleanup before a connection was created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1553 ./libtest/lib1553 imap://non-existing-host.haxx.se:39155/1553 > log/1/stdout1553 2> log/1/stderr1553 lib1553 returned 132, when expecting 0 1553: exit FAILED == Contents of files in the log/1/ dir after test 1553 === Start of file imap_server.log 02:03:26.975577 ====> Client connect 02:03:26.975741 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:03:26.978072 < "A001 CAPABILITY" 02:03:26.978112 > "A001 BAD Command[CR][LF]" 02:03:26.978304 < "A002 LIST "verifiedserver" *" 02:03:26.978332 LIST_imap got "verifiedserver" * 02:03:26.978366 > "* LIST () "/" "WE ROOLZ: 109828"[CR][LF]" 02:03:26.978386 > "A002 OK LIST Completed[CR][LF]" 02:03:26.978400 return proof we are we 02:03:27.029000 < "A003 LOGOUT" 02:03:27.029052 > "* BYE curl IMAP server signing off[CR][LF]" 02:03:27.029070 > "A003 OK LOGOUT completed[CR][LF]" 02:03:27.072951 MAIN sockfilt said DISC 02:03:27.073016 ====> Client disconnected 02:03:27.073087 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:03:27.175558 ====> Client connect 02:03:27.175894 Received DATA (on stdin) 02:03:27.175910 > 178 bytes data, server => client 02:03:27.175923 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:03:27.175935 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:03:27.175947 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:03:27.175957 'rve\r\n' 02:03:27.176039 < 17 bytes data, client => server 02:03:27.176055 'A001 CAPABILITY\r\n' 02:03:27.178256 Received DATA (on stdin) 02:03:27.178271 > 18 bytes data, server => client 02:03:27.178283 'A001 BAD Command\r\n' 02:03:27.178349 < 30 bytes data, client => server 02:03:27.178364 'A002 LIST "verifiedserver" *\r\n' 02:03:27.178540 Received DATA (on stdin) 02:03:27.178553 > 34 bytes data, server => client 02:03:27.178565 '* LIST ()CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1554 ./libtest/lib1554 http://127.0.0.1:44137/1554 > log/11/stdout1554 2> log/11/stderr1554 "/" "WE ROOLZ: 109828"\r\n' 02:03:27.178593 Received DATA (on stdin) 02:03:27.178604 > 24 bytes data, server => client 02:03:27.178616 'A002 OK LIST Completed\r\n' 02:03:27.228958 < 13 bytes data, client => server 02:03:27.228987 'A003 LOGOUT\r\n' 02:03:27.229211 Received DATA (on stdin) 02:03:27.229225 > 36 bytes data, server => client 02:03:27.229237 '* BYE curl IMAP server signing off\r\n' 02:03:27.229263 Received DATA (on stdin) 02:03:27.229274 > 26 bytes data, server => client 02:03:27.229285 'A003 OK LOGOUT completed\r\n' 02:03:27.272942 ====> Client disconnect 02:03:27.273262 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1553 === End of file server.cmd === Start of file stderr1553 URL: imap://non-existing-host.haxx.se:39155/1553 === End of file stderr1553 === Start of file valgrind1553 ==157545== ==157545== Process terminating with default action of signal 4 (SIGILL) ==157545== Illegal opcode at address 0x48EA16B ==157545== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157545== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157545== by 0x48EA16B: Curl_open (url.c:519) ==157545== by 0x4880EEF: curl_easy_init (easy.c:370) ==157545== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==157545== by 0x48BF363: Curl_multi_handle (multi.c:416) ==157545== by 0x1090B1: UnknownInlinedFun (lib1553.c:61) ==157545== by 0x1090B1: UnknownInlinedFun (lib1553.c:46) ==157545== by 0x1090B1: main (first.c:220) ==157545== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==157545== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157545== by 0x4A6D258: __tsearch (tsearch.c:337) ==157545== by 0x4A6D258: tsearch (tsearch.c:290) ==157545== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157545== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157545== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157545== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157545== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157545== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157545== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157545== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157545== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157545== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157545== by 0x498986B: setlocale (setlocale.c:337) ==157545== by 0x109058: main (first.c:160) ==157545== ==157545== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==157545== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157545== by 0x4A6D258: __tsearch (tsearch.c:337) ==157545== by 0x4A6D258: tsearch (tsearch.c:290) ==157545== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157545== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157545== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157545== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157545== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157545== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157545== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157545== by 0x498986B: setlocale (setlocale.c:337) ==157545== by 0x109058: main (first.c:160) ==157545== ==157545== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==157545== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157545== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157545== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157545== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157545== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157545== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157545== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157545== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157545== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157545== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157545== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157545== by 0x498986B: setlocale (setlocale.c:337) ==157545== by 0x109058: main (first.c:160) ==157545== ==157545== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==157545== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157545== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157545== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157545== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157545== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157545== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157545== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157545== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157545== by 0x498986B: setlocale (setlocale.c:337) ==157545== by 0x109058: main (first.c:160) ==157545== ==157545== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==157545== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157545== by 0x48EA143: Curl_open (url.c:510) ==157545== by 0x4880EEF: curl_easy_init (easy.c:370) ==157545== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==157545== by 0x48BF363: Curl_multi_handle (multi.c:416) ==157545== by 0x1090B1: UnknownInlinedFun (lib1553.c:61) ==157545== by 0x1090B1: UnknownInlinedFun (lib1553.c:46) ==157545== by 0x1090B1: main (first.c:220) ==157545== ==157545== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==157545== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157545== by 0x4A6D258: __tsearch (tsearch.c:337) ==157545== by 0x4A6D258: tsearch (tsearch.c:290) ==157545== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157545== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157545== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157545== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157545== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157545== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157545== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157545== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157545== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157545== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157545== by 0x498986B: setlocale (setlocale.c:337) ==157545== by 0x109058: main (first.c:160) ==157545== ==157545== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==157545== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157545== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157545== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157545== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157545== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157545== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157545== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157545== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157545== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157545== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157545== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157545== by 0x498986B: setlocale (setlocale.c:337) ==157545== by 0x109058: main (first.c:160) ==157545== === End of file valgrind1553 test 1554...[HTTP with shared connection cache] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1554 ./libtest/lib1554 http://127.0.0.1:44137/1554 > log/11/stdout1554 2> log/11/stderr1554 1554: data FAILED: --- log/11/check-expected 2024-12-15 02:03:28.197055046 +0000 +++ log/11/check-generated 2024-12-15 02:03:28.197055046 +0000 @@ -1,51 +0,0 @@ --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] --> Mutex lock SHARE[LF] -<- Mutex unlock SHARE[LF] --> Mutex lock SHARE[LF] --> Mutex lock CONNECT[LF] -<- Mutex unlock CONNECT[LF] -<- Mutex unlock SHARE[LF] == Contents of files in the log/11/ dir after test 1554 === Start of file check-expected -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] -> Mutex lock SHARE[LF] <- Mutex unlock SHARE[LF] -> Mutex lock SHARE[LF] -> Mutex lock CONNECT[LF] <- Mutex unlock CONNECT[LF] <- Mutex unlock SHARE[LF] === End of file check-expected === Start of file http_server.log 02:03:27.339028 ====> Client connect 02:03:27.339060 accept_connection 3 returned 4 02:03:27.339077 accept_connection 3 returned 0 02:03:27.339093 Read 93 bytes 02:03:27.339103 Process 93 bytes request 02:03:27.339118 Got request: GET /verifiedserver HTTP/1.1 02:03:27.339132 Are-we-friendly question received 02:03:27.339159 Wrote request (93 bytes) input to log/11/server.input 02:03:27.339176 Identifying ourselves as friends 02:03:27.339239 Response sent (56 bytes) and written to log/11/server.response 02:03:27.339250 special request received, no persistency 02:03:27.339260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1554 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr1554 URL: http://127.0.0.1:44137/1554 === End of file stderr1554 === Start of file valgrind1554 ==157599== ==157599== Process terminating with default action of signal 4 (SIGILL) ==157599== Illegal opcode at address 0x48EA16B ==157599== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157599== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157599== by 0x48EA16B: Curl_open (url.c:519) ==157599== by 0x4880EEF: curl_easy_init (easy.c:370) ==157599== by 0x48DE3BF: UnknownInlinedFun (conncache.c:163) ==157599== by 0x48DE3BF: curl_share_setopt (share.c:127) ==157599== by 0x1090B1: UnknownInlinedFun (lib1554.c:72) ==157599== by 0x1090B1: UnknownInlinedFun (lib1554.c:58) ==157599== by 0x1090B1: main (first.c:220) ==157599== 408 bytes in 17 blocks are possibly lost in loss record 604 of 655 ==157599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157599== by 0x4A6D258: __tsearch (tsearch.c:337) ==157599== by 0x4A6D258: tsearch (tsearch.c:290) ==157599== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157599== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157599== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157599== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157599== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157599== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157599== by 0x498986B: setlocale (setlocale.c:337) ==157599== by 0x10904B: main (first.c:160) ==157599== ==157599== 552 bytes in 23 blocks are possibly lost in loss record 609 of 655 ==157599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157599== by 0x4A6D258: __tsearch (tsearch.c:337) ==157599== by 0x4A6D258: tsearch (tsearch.c:290) ==157599== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157599== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157599== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157599== by 0x498986B: setlocale (setlocale.c:337) ==157599== by 0x10904B: main (first.c:160) ==157599== ==157599== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==157599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157599== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157599== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157599== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157599== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157599== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157599== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1556 ./libtest/lib1556 http://127.0.0.1:39167/1556 > log/6/stdout1556 2> log/6/stderr1556 57599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157599== by 0x498986B: setlocale (setlocale.c:337) ==157599== by 0x10904B: main (first.c:160) ==157599== ==157599== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==157599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157599== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157599== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157599== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157599== by 0x498986B: setlocale (setlocale.c:337) ==157599== by 0x10904B: main (first.c:160) ==157599== ==157599== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==157599== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157599== by 0x48EA143: Curl_open (url.c:510) ==157599== by 0x4880EEF: curl_easy_init (easy.c:370) ==157599== by 0x48DE3BF: UnknownInlinedFun (conncache.c:163) ==157599== by 0x48DE3BF: curl_share_setopt (share.c:127) ==157599== by 0x1090B1: UnknownInlinedFun (lib1554.c:72) ==157599== by 0x1090B1: UnknownInlinedFun (lib1554.c:58) ==157599== by 0x1090B1: main (first.c:220) ==157599== ==157599== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==157599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157599== by 0x4A6D258: __tsearch (tsearch.c:337) ==157599== by 0x4A6D258: tsearch (tsearch.c:290) ==157599== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157599== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157599== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157599== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157599== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157599== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157599== by 0x498986B: setlocale (setlocale.c:337) ==157599== by 0x10904B: main (first.c:160) ==157599== ==157599== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==157599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157599== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157599== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157599== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157599== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157599== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157599== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157599== by 0x498986B: setlocale (setlocale.c:337) ==157599== by 0x10904B: main (first.c:160) ==157599== === End of file valgrind1554 test 1556...[send long HTTP headers to header callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1556 ./libtest/lib1556 http://127.0.0.1:39167/1556 > log/6/stdout1556 2> log/6/stderr1556 1556: stdout FAILED: --- log/6/check-expected 2024-12-15 02:03:28.417058954 +0000 +++ log/6/check-generated 2024-12-15 02:03:28.417058954 +0000 @@ -1,2 +0,0 @@ --foo-[LF] -Max = 100009[LF] == Contents of files in the log/6/ dir after test 1556 === Start of file check-expected -foo-[LF] Max = 100009[LF] === End of file check-expected === Start of file http_server.log 02:03:27.567943 ====> Client connect 02:03:27.567973 accept_connection 3 returned 4 02:03:27.567990 accept_connection 3 returned 0 02:03:27.568004 Read 93 bytes 02:03:27.568016 Process 93 bytes request 02:03:27.568028 Got request: GET /verifiedserver HTTP/1.1 02:03:27.568038 Are-we-friendly question received 02:03:27.568060 Wrote request (93 bytes) input to log/6/server.input 02:03:27.568077 Identifying ourselves as friends 02:03:27.568140 Response sent (57 bytes) and written to log/6/server.response 02:03:27.568151 special request received, no persistency 02:03:27.568161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 1556 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr1556 URL: http://127.0.0.1:39167/1556 === End of file stderr1556 === Start of file valgrind1556 ==157694== ==157694== Process terminating with default action of signal 4 (SIGILL) ==157694== Illegal opcode at address 0x48EA16B ==157694== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157694== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157694== by 0x48EA16B: Curl_open (url.c:519) ==157694== by 0x4880EEF: curl_easy_init (easy.c:370) ==157694== by 0x1090A3: UnknownInlinedFun (lib1556.c:56) ==157694== by 0x1090A3: main (first.c:220) ==157694== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==157694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157694== by 0x4A6D258: __tsearch (tsearch.c:337) ==157694== by 0x4A6D258: tsearch (tsearch.c:290) ==157694== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157694== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157694== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157694== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157694== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157694== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157694== by 0x498986B: setlocale (setlocale.c:337) ==157694== by 0x109056: main (first.c:160) ==157694== ==157694== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==157694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157694== by 0x4A6D258: __tsearch (tsearch.c:337) ==157694== by 0x4A6D258: tsearch (tsearch.c:290) ==157694== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157694== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157694== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157694== by 0x498986B: setlocale (setlocale.c:337) ==157694== by 0x109056: main (first.c:160) ==157694== ==157694== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==157694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157694== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157694== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157694== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157694== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157694== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157694== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157694== by 0x498986B: setlocale (setlocale.c:337) ==157694== by 0x109056: main (first.c:160) ==157694== ==157694== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==157694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157694== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157694== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157694== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157694== by 0x498986B: setlocale (setlocale.c:337) ==157694== by 0x109056: main (first.c:160) ==157694== ==157694== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==157694== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157694== by 0x48EA143: Curl_open (url.c:510) ==157694== by 0x4880EEF: curl_easy_init (easy.c:370) ==157694== by 0x1090A3: UnknownInlinedFun (lib1556.c:56) ==157694== by 0x1090A3: main (first.c:220) ==157694== ==157694== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==157694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157694== by 0x4A6D258: __tsearch (tsearch.c:337) ==157694== by 0x4A6D258: tsearch (tsearch.c:290) ==157694== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157694== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157694== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157694== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157694== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157694== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157694== by 0x498986B: setlocale (setlocale.c:337) ==157694== by 0x109056: main (first.c:160) ==157694== ==157694== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==157694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157694== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157694== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157694== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157694== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157694== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157694== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==15CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1555 ./libtest/lib1555 http://127.0.0.1:38781/1555 > log/2/stdout1555 2> log/2/stderr1555 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1566 ../src/curl -q --trace-ascii log/8/trace1566 --trace-config all --trace-time http://127.0.0.1:38805/1566 -o log/8/output1566 --etag-compare log/8/etag1566 > log/8/stdout1566 2> log/8/stderr1566 7694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157694== by 0x498986B: setlocale (setlocale.c:337) ==157694== by 0x109056: main (first.c:160) ==157694== === End of file valgrind1556 test 1555...[verify api is protected against calls from callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1555 ./libtest/lib1555 http://127.0.0.1:38781/1555 > log/2/stdout1555 2> log/2/stderr1555 1555: stdout FAILED: --- log/2/check-expected 2024-12-15 02:03:28.433725918 +0000 +++ log/2/check-generated 2024-12-15 02:03:28.433725918 +0000 @@ -1,2 +0,0 @@ -curl_easy_recv returned 93[LF] -curl_easy_send returned 93[LF] == Contents of files in the log/2/ dir after test 1555 === Start of file check-expected curl_easy_recv returned 93[LF] curl_easy_send returned 93[LF] === End of file check-expected === Start of file http_server.log 02:03:27.567656 ====> Client connect 02:03:27.567691 accept_connection 3 returned 4 02:03:27.567708 accept_connection 3 returned 0 02:03:27.567722 Read 93 bytes 02:03:27.567732 Process 93 bytes request 02:03:27.567747 Got request: GET /verifiedserver HTTP/1.1 02:03:27.567757 Are-we-friendly question received 02:03:27.567782 Wrote request (93 bytes) input to log/2/server.input 02:03:27.567800 Identifying ourselves as friends 02:03:27.567870 Response sent (56 bytes) and written to log/2/server.response 02:03:27.567882 special request received, no persistency 02:03:27.567892 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1555 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1555 URL: http://127.0.0.1:38781/1555 === End of file stderr1555 === Start of file valgrind1555 ==157693== ==157693== Process terminating with default action of signal 4 (SIGILL) ==157693== Illegal opcode at address 0x48EA16B ==157693== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157693== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157693== by 0x48EA16B: Curl_open (url.c:519) ==157693== by 0x4880EEF: curl_easy_init (easy.c:370) ==157693== by 0x10908D: UnknownInlinedFun (lib1555.c:62) ==157693== by 0x10908D: UnknownInlinedFun (lib1555.c:56) ==157693== by 0x10908D: main (first.c:220) ==157693== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==157693== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157693== by 0x4A6D258: __tsearch (tsearch.c:337) ==157693== by 0x4A6D258: tsearch (tsearch.c:290) ==157693== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157693== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157693== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157693== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157693== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157693== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157693== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157693== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157693== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157693== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157693== by 0x498986B: setlocale (setlocale.c:337) ==157693== by 0x109047: main (first.c:160) ==157693== ==157693== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==157693== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157693== by 0x4A6D258: __tsearch (tsearch.c:337) ==157693== by 0x4A6D258: tsearch (tsearch.c:290) ==157693== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157693== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157693== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157693== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157693== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157693== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157693== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157693== by 0x498986B: setlocale (setlocale.c:337) ==157693== by 0x109047: main (first.c:160) ==157693== ==157693== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==157693== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157693== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157693== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157693== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157693== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157693== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157693== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157693== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157693== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157693== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157693== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157693== by 0x498986B: setlocale (setlocale.c:337) ==157693== by 0x109047: main (first.c:160) ==157693== ==157693== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==157693== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157693== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157693== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157693== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157693== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157693== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157693== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157693== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157693== by 0x498986B: setlocale (setlocale.c:337) ==157693== by 0x109047: main (first.c:160) ==157693== ==157693== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==157693== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157693== by 0x48EA143: Curl_open (url.c:510) ==157693== by 0x4880EEF: curl_easy_init (easy.c:370) ==157693== by 0x10908D: UnknownInlinedFun (lib1555.c:62) ==157693== by 0x10908D: UnknownInlinedFun (lib1555.c:56) ==157693== by 0x10908D: main (first.c:220) ==157693== ==157693== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==157693== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157693== by 0x4A6D258: __tsearch (tsearch.c:337) ==157693== by 0x4A6D258: tsearch (tsearch.c:290) ==157693== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157693== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157693== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157693== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157693== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157693== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157693== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157693== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157693== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157693== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157693== by 0x498986B: setlocale (setlocale.c:337) ==157693== by 0x109047: main (first.c:160) ==157693== ==157693== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==157693== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157693== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157693== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157693== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157693== by 0x497CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1557 ./libtest/lib1557 nothing > log/12/stdout1557 2> log/12/stderr1557 DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157693== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157693== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157693== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157693== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157693== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157693== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157693== by 0x498986B: setlocale (setlocale.c:337) ==157693== by 0x109047: main (first.c:160) ==157693== === End of file valgrind1555 test 1566...[--etag-compare that gets a 304 back shouldn't overwrite the file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1566 ../src/curl -q --trace-ascii log/8/trace1566 --trace-config all --trace-time http://127.0.0.1:38805/1566 -o log/8/output1566 --etag-compare log/8/etag1566 > log/8/stdout1566 2> log/8/stderr1566 1566: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1566 === Start of file etag1566 "123456" === End of file etag1566 === Start of file http_server.log 02:03:27.983129 ====> Client connect 02:03:27.983161 accept_connection 3 returned 4 02:03:27.983177 accept_connection 3 returned 0 02:03:27.983191 Read 93 bytes 02:03:27.983202 Process 93 bytes request 02:03:27.983215 Got request: GET /verifiedserver HTTP/1.1 02:03:27.983225 Are-we-friendly question received 02:03:27.983247 Wrote request (93 bytes) input to log/8/server.input 02:03:27.983263 Identifying ourselves as friends 02:03:27.983325 Response sent (57 bytes) and written to log/8/server.response 02:03:27.983335 special request received, no persistency 02:03:27.983345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file output1566 downloaded already === End of file output1566 === Start of file server.cmd Testnum 1566 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file valgrind1566 ==158114== ==158114== Process terminating with default action of signal 4 (SIGILL) ==158114== Illegal opcode at address 0x10B08D ==158114== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==158114== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1566 * starts no server test 1557...[Removing easy handle that's in the pending connections list doesn't leave behind a dangling entry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1557 ./libtest/lib1557 nothing > log/12/stdout1557 2> log/12/stderr1557 lib1557 returned 132, when expecting 0 1557: exit FAILED == Contents of files in the log/12/ dir after test 1557 === Start of file server.cmd Testnum 1557 === End of file server.cmd === Start of file stderr1557 URL: nothing === End of file stderr1557 === Start of file valgrind1557 ==157784== ==157784== Process terminating with default action of signal 4 (SIGILL) ==157784== Illegal opcode at address 0x48EA16B ==157784== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157784== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157784== by 0x48EA16B: Curl_open (url.c:519) ==157784== by 0x4880EEF: curl_easy_init (easy.c:370) ==157784== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==157784== by 0x48BF363: Curl_multi_handle (multi.c:416) ==157784== by 0x1090A6: UnknownInlinedFun (lib1557.c:40) ==157784== by 0x1090A6: main (first.c:220) ==157784== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==157784== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157784== by 0x4A6D258: __tsearch (tsearch.c:337) ==157784== by 0x4A6D258: tsearch (tsearch.c:290) ==157784== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157784== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157784== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157784== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157784== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157784== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157784== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157784== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157784== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157784== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157784== by 0x498986B: setlocale (setlocale.c:337) ==157784== by 0x109059: main (first.c:160) ==157784== ==157784== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==157784== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157784== by 0x4A6D258: __tsearch (tsearch.c:337) ==157784== by 0x4A6D258: tsearch (tsearch.c:290) ==157784== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157784== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157784== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157784== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157784== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157784== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157784== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157784== by 0x498986B: setlocale (setlocale.c:337) ==157784== by 0x109059: main (first.c:160) ==157784== ==157784== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==157784== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157784== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157784== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157784== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157784== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157784== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157784== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157784== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157784== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157784== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157784== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157784== by 0x498986B: setlocale (setlocale.c:337) ==157784== by 0x109059: main (first.c:160) ==157784== ==157784== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==157784== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157784== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157784== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157784== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157784== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157784== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157784== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157784== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157784== by 0x498986B: setlocale (setlocale.c:337) ==157784== by 0x109059: main (first.c:160) ==157784== ==157784== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==157784== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157784== by 0x48EA143: Curl_open (url.c:510) ==157784== by 0x4880EEF: curl_easy_init (eaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1559 ./libtest/lib1559 - > log/3/stdout1559 2> log/3/stderr1559 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1558 ./libtest/lib1558 file:///startdir/src/build-curl/tests/log/7/data1558 > log/7/stdout1558 2> log/7/stderr1558 sy.c:370) ==157784== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==157784== by 0x48BF363: Curl_multi_handle (multi.c:416) ==157784== by 0x1090A6: UnknownInlinedFun (lib1557.c:40) ==157784== by 0x1090A6: main (first.c:220) ==157784== ==157784== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==157784== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157784== by 0x4A6D258: __tsearch (tsearch.c:337) ==157784== by 0x4A6D258: tsearch (tsearch.c:290) ==157784== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157784== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157784== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157784== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157784== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157784== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157784== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157784== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157784== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157784== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157784== by 0x498986B: setlocale (setlocale.c:337) ==157784== by 0x109059: main (first.c:160) ==157784== ==157784== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==157784== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157784== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157784== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157784== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157784== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157784== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157784== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157784== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157784== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157784== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157784== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157784== by 0x498986B: setlocale (setlocale.c:337) ==157784== by 0x109059: main (first.c:160) ==157784== === End of file valgrind1557 * starts no server test 1559...[Set excessive URL lengths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1559 ./libtest/lib1559 - > log/3/stdout1559 2> log/3/stderr1559 1559: stdout FAILED: --- log/3/check-expected 2024-12-15 02:03:28.633729468 +0000 +++ log/3/check-generated 2024-12-15 02:03:28.633729468 +0000 @@ -1,5 +0,0 @@ -CURLOPT_URL 10000000 bytes URL == 43[LF] -CURLOPT_POSTFIELDS 10000000 bytes data == 0[LF] -CURLUPART_URL 10000000 bytes URL == 3 (Malformed input to a URL function)[LF] -CURLUPART_SCHEME 10000000 bytes scheme == 3 (Malformed input to a URL function)[LF] -CURLUPART_USER 10000000 bytes user == 3 (Malformed input to a URL function)[LF] == Contents of files in the log/3/ dir after test 1559 === Start of file check-expected CURLOPT_URL 10000000 bytes URL == 43[LF] CURLOPT_POSTFIELDS 10000000 bytes data == 0[LF] CURLUPART_URL 10000000 bytes URL == 3 (Malformed input to a URL function)[LF] CURLUPART_SCHEME 10000000 bytes scheme == 3 (Malformed input to a URL function)[LF] CURLUPART_USER 10000000 bytes user == 3 (Malformed input to a URL function)[LF] === End of file check-expected === Start of file server.cmd Testnum 1559 === End of file server.cmd === Start of file stderr1559 URL: - === End of file stderr1559 === Start of file valgrind1559 ==157837== ==157837== Process terminating with default action of signal 4 (SIGILL) ==157837== Illegal opcode at address 0x48EA16B ==157837== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157837== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157837== by 0x48EA16B: Curl_open (url.c:519) ==157837== by 0x4880EEF: curl_easy_init (easy.c:370) ==157837== by 0x1090C1: UnknownInlinedFun (lib1559.c:46) ==157837== by 0x1090C1: main (first.c:220) ==157837== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==157837== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157837== by 0x4A6D258: __tsearch (tsearch.c:337) ==157837== by 0x4A6D258: tsearch (tsearch.c:290) ==157837== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157837== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157837== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157837== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157837== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157837== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157837== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157837== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157837== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157837== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157837== by 0x498986B: setlocale (setlocale.c:337) ==157837== by 0x10904B: main (first.c:160) ==157837== ==157837== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==157837== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157837== by 0x4A6D258: __tsearch (tsearch.c:337) ==157837== by 0x4A6D258: tsearch (tsearch.c:290) ==157837== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157837== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157837== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157837== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157837== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157837== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157837== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157837== by 0x498986B: setlocale (setlocale.c:337) ==157837== by 0x10904B: main (first.c:160) ==157837== ==157837== 681 bytes in 17 blocks are possibly lost in loss record 614 of 655 ==157837== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157837== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157837== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157837== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157837== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157837== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157837== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157837== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157837== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157837== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157837== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157837== by 0x498986B: setlocale (setlocale.c:337) ==157837== by 0x10904B: main (first.c:160) ==157837== ==157837== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 655 ==157837== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157837== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157837== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157837== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157837== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157837== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157837== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157837== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157837== by 0x498986B: setlocale (setlocale.c:337) ==157837== by 0x10904B: main (first.c:160) ==157837== ==157837== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 655 ==157837== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157837== by 0x48EA143: Curl_open (url.c:510) ==157837== by 0x4880EEF: curl_easy_init (easy.c:370) ==157837== by 0x1090C1: UnknownInlinedFun (lib1559.c:46) ==157837== by 0x1090C1: main (first.c:220) ==157837== ==157837== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 655 ==157837== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157837== by 0x4A6D258: __tsearch (tsearch.c:337) ==157837== by 0x4A6D258: tsearch (tsearch.c:290) ==157837== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157837== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157837== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157837== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157837== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157837== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157837== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157837== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157837== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157837== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157837== by 0x498986B: setlocale (setlocale.c:337) ==157837== by 0x10904B: main (first.c:160) ==157837== ==157837== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 655 ==157837== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157837== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157837== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157837== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157837== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157837== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157837== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157837== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157837== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157837== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157837== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157837== by 0x498986B: setlocale (setlocale.c:337) ==157837== by 0x10904B: main (first.c:160) ==157837== === End of file valgrind1559 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1564 ./libtest/lib1564 - > log/5/stdout1564 2> log/5/stderr1564 * starts no server test 1558...[CURLINFO_PROTOCOL for file:// transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1558 ./libtest/lib1558 file:///startdir/src/build-curl/tests/log/7/data1558 > log/7/stdout1558 2> log/7/stderr1558 1558: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:28.640396253 +0000 +++ log/7/check-generated 2024-12-15 02:03:28.640396253 +0000 @@ -1,2 +0,0 @@ -hello[LF] -Protocol: 400[LF] == Contents of files in the log/7/ dir after test 1558 === Start of file check-expected hello[LF] Protocol: 400[LF] === End of file check-expected === Start of file data1558 hello === End of file data1558 === Start of file server.cmd Testnum 1558 === End of file server.cmd === Start of file stderr1558 URL: file:///startdir/src/build-curl/tests/log/7/data1558 === End of file stderr1558 === Start of file valgrind1558 ==157798== ==157798== Process terminating with default action of signal 4 (SIGILL) ==157798== Illegal opcode at address 0x48EA16B ==157798== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==157798== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==157798== by 0x48EA16B: Curl_open (url.c:519) ==157798== by 0x4880EEF: curl_easy_init (easy.c:370) ==157798== by 0x1090A3: UnknownInlinedFun (lib1558.c:37) ==157798== by 0x1090A3: main (first.c:220) ==157798== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==157798== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157798== by 0x4A6D258: __tsearch (tsearch.c:337) ==157798== by 0x4A6D258: tsearch (tsearch.c:290) ==157798== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157798== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157798== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157798== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157798== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157798== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157798== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157798== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157798== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157798== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157798== by 0x498986B: setlocale (setlocale.c:337) ==157798== by 0x109056: main (first.c:160) ==157798== ==157798== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==157798== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157798== by 0x4A6D258: __tsearch (tsearch.c:337) ==157798== by 0x4A6D258: tsearch (tsearch.c:290) ==157798== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157798== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157798== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157798== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157798== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157798== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157798== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157798== by 0x498986B: setlocale (setlocale.c:337) ==157798== by 0x109056: main (first.c:160) ==157798== ==157798== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==157798== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157798== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157798== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157798== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157798== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157798== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==157798== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==157798== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157798== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157798== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157798== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157798== by 0x498986B: setlocale (setlocale.c:337) ==157798== by 0x109056: main (first.c:160) ==157798== ==157798== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==157798== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157798== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157798== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==157798== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==157798== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157798== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157798== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157798== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157798== by 0x498986B: setlocale (setlocale.c:337) ==157798== by 0x109056: main (first.c:160) ==157798== ==157798== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==157798== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==157798== by 0x48EA143: Curl_open (url.c:510) ==157798== by 0x4880EEF: curl_easy_init (easy.c:370) ==157798== by 0x1090A3: UnknownInlinedFun (lib1558.c:37) ==157798== by 0x1090A3: main (first.c:220) ==157798== ==157798== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==157798== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157798== by 0x4A6D258: __tsearch (tsearch.c:337) ==157798== by 0x4A6D258: tsearch (tsearch.c:290) ==157798== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==157798== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157798== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157798== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157798== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157798== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157798== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157798== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157798== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157798== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157798== by 0x498986B: setlocale (setlocale.c:337) ==157798== by 0x109056: main (first.c:160) ==157798== ==157798== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==157798== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==157798== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==157798== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==157798== by 0x497DBB2: add_alias (gconv_conf.c:178) ==157798== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==157798== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==157798== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==157798== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==157798== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==157798== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==157798== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==157798== by 0x498986B: setlocale (setlocale.c:337) ==157798== by 0x109056: main (first.c:160) ==157798== === End of file valgrind1558 * starts no server test 1564...[wakeup before poll with no easy handles] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1564 ./libtest/lib1564 - > log/5/stdout1564 2> log/5/stderr1564 lib1564 returned 132, when expecting 0 1564: exit FAILED == Contents of files in the log/5/ dir after test 1564 === Start of file server.cmd Testnum 1564 === End of file server.cmd === Start of file stderr1564 URL: - === End of file stderr1564 === Start of file valgrind1564 ==158027== ==158027== Process terminating with default action of signal 4 (SIGILL) ==158027== Illegal opcode at address 0x48EA16B ==158027== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1565 ./libtest/lib1565 http://127.0.0.1:38509/1 > log/9/stdout1565 2> log/9/stderr1565 at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158027== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158027== by 0x48EA16B: Curl_open (url.c:519) ==158027== by 0x4880EEF: curl_easy_init (easy.c:370) ==158027== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==158027== by 0x48BF363: Curl_multi_handle (multi.c:416) ==158027== by 0x1090AD: UnknownInlinedFun (lib1564.c:47) ==158027== by 0x1090AD: UnknownInlinedFun (lib1564.c:33) ==158027== by 0x1090AD: main (first.c:220) ==158027== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==158027== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158027== by 0x4A6D258: __tsearch (tsearch.c:337) ==158027== by 0x4A6D258: tsearch (tsearch.c:290) ==158027== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158027== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158027== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158027== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158027== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158027== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158027== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158027== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158027== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158027== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158027== by 0x498986B: setlocale (setlocale.c:337) ==158027== by 0x109058: main (first.c:160) ==158027== ==158027== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==158027== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158027== by 0x4A6D258: __tsearch (tsearch.c:337) ==158027== by 0x4A6D258: tsearch (tsearch.c:290) ==158027== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158027== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158027== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158027== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158027== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158027== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158027== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158027== by 0x498986B: setlocale (setlocale.c:337) ==158027== by 0x109058: main (first.c:160) ==158027== ==158027== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==158027== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158027== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158027== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158027== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158027== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158027== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158027== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158027== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158027== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158027== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158027== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158027== by 0x498986B: setlocale (setlocale.c:337) ==158027== by 0x109058: main (first.c:160) ==158027== ==158027== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==158027== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158027== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158027== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158027== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158027== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158027== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158027== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158027== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158027== by 0x498986B: setlocale (setlocale.c:337) ==158027== by 0x109058: main (first.c:160) ==158027== ==158027== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==158027== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158027== by 0x48EA143: Curl_open (url.c:510) ==158027== by 0x4880EEF: curl_easy_init (easy.c:370) ==158027== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==158027== by 0x48BF363: Curl_multi_handle (multi.c:416) ==158027== by 0x1090AD: UnknownInlinedFun (lib1564.c:47) ==158027== by 0x1090AD: UnknownInlinedFun (lib1564.c:33) ==158027== by 0x1090AD: main (first.c:220) ==158027== ==158027== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==158027== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158027== by 0x4A6D258: __tsearch (tsearch.c:337) ==158027== by 0x4A6D258: tsearch (tsearch.c:290) ==158027== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158027== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158027== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158027== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158027== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158027== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158027== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158027== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158027== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158027== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158027== by 0x498986B: setlocale (setlocale.c:337) ==158027== by 0x109058: main (first.c:160) ==158027== ==158027== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==158027== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158027== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158027== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158027== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158027== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158027== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158027== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158027== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158027== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158027== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158027== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158027== by 0x498986B: setlocale (setlocale.c:337) ==158027== by 0x109058: main (first.c:160) ==158027== === End of file valgrind1564 test 1565...[wakeup from another thread] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1565 ./libtest/lib1565 http://127.0.0.1:38509/1 > log/9/stdout1565 2> log/9/stderr1565 lib1565 returned 132, when expecting 0 1565: exit FAILED == Contents of files in the log/9/ dir after test 1565 === Start of file http_server.log 02:03:27.966832 ====> Client connect 02:03:27.966866 accept_connection 3 returned 4 02:03:27.966884 accept_connection 3 returned 0 02:03:27.966898 Read 93 bytes 02:03:27.966908 Process 93 bytes request 02:03:27.966923 Got request: GET /verifiedserver HTTP/1.1 02:03:27.966933 Are-we-friendly question received 02:03:27.966958 Wrote request (93 bytes) input to log/9/server.input 02:03:27.966975 Identifying ourselves as friends 02:03:27.967042 Response sent (56 bytes) and written to log/9/server.response 02:03:27.967054 special request received, no persistency 02:03:27.967064 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file httpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1567 ./libtest/lib1567 http://127.0.0.1:42929/1567 > log/10/stdout1567 2> log/10/stderr1567 _verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1565 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr1565 URL: http://127.0.0.1:38509/1 === End of file stderr1565 === Start of file valgrind1565 ==158092== ==158092== Process terminating with default action of signal 4 (SIGILL) ==158092== Illegal opcode at address 0x48EA16B ==158092== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158092== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158092== by 0x48EA16B: Curl_open (url.c:519) ==158092== by 0x4880EEF: curl_easy_init (easy.c:370) ==158092== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==158092== by 0x48BF363: Curl_multi_handle (multi.c:416) ==158092== by 0x1090B1: UnknownInlinedFun (lib1565.c:110) ==158092== by 0x1090B1: UnknownInlinedFun (lib1565.c:92) ==158092== by 0x1090B1: main (first.c:220) ==158092== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==158092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158092== by 0x4A6D258: __tsearch (tsearch.c:337) ==158092== by 0x4A6D258: tsearch (tsearch.c:290) ==158092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158092== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158092== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158092== by 0x498986B: setlocale (setlocale.c:337) ==158092== by 0x109058: main (first.c:160) ==158092== ==158092== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==158092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158092== by 0x4A6D258: __tsearch (tsearch.c:337) ==158092== by 0x4A6D258: tsearch (tsearch.c:290) ==158092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158092== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158092== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158092== by 0x498986B: setlocale (setlocale.c:337) ==158092== by 0x109058: main (first.c:160) ==158092== ==158092== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==158092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158092== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158092== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158092== by 0x498986B: setlocale (setlocale.c:337) ==158092== by 0x109058: main (first.c:160) ==158092== ==158092== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==158092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158092== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158092== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158092== by 0x498986B: setlocale (setlocale.c:337) ==158092== by 0x109058: main (first.c:160) ==158092== ==158092== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==158092== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158092== by 0x48EA143: Curl_open (url.c:510) ==158092== by 0x4880EEF: curl_easy_init (easy.c:370) ==158092== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==158092== by 0x48BF363: Curl_multi_handle (multi.c:416) ==158092== by 0x1090B1: UnknownInlinedFun (lib1565.c:110) ==158092== by 0x1090B1: UnknownInlinedFun (lib1565.c:92) ==158092== by 0x1090B1: main (first.c:220) ==158092== ==158092== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==158092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158092== by 0x4A6D258: __tsearch (tsearch.c:337) ==158092== by 0x4A6D258: tsearch (tsearch.c:290) ==158092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158092== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158092== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158092== by 0x498986B: setlocale (setlocale.c:337) ==158092== by 0x109058: main (first.c:160) ==158092== ==158092== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==158092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158092== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158092== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158092== by 0x498986B: setlocale (setlocale.c:337) ==158092== by 0x109058: main (first.c:160) ==158092== === End of file valgrind1565 test 1567...[re-run redirected transfer without setting CURLU URL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1567 ./libtest/lib1567 http://127.0.0.1:42929/1567 > log/10/stdout1567 2> log/10/stderr1567 1567: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1567 === Start of file http_server.log 02:03:28.160992 ====> Client connect 02:03:28.161027 accept_connection 3 returned 4 02:03:28.161044 accept_connection 3 returned 0 02:03:28.161059 Read 93 bytes 02:03:28.161070 Process 93 bytes request 02:03:28.161083 Got request: GET /verifiedserver HTTP/1.1 02:03:28.161093 Are-we-friendly question received 02:03:28.161115 Wrote request (93 bytes) input to log/10/sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1568 ./libtest/lib1568 http://127.0.0.1/1568 36813 > log/4/stdout1568 2> log/4/stderr1568 erver.input 02:03:28.161132 Identifying ourselves as friends 02:03:28.161197 Response sent (56 bytes) and written to log/10/server.response 02:03:28.161208 special request received, no persistency 02:03:28.161217 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1567 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr1567 URL: http://127.0.0.1:42929/1567 === End of file stderr1567 === Start of file valgrind1567 ==158224== ==158224== Process terminating with default action of signal 4 (SIGILL) ==158224== Illegal opcode at address 0x48EA16B ==158224== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158224== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158224== by 0x48EA16B: Curl_open (url.c:519) ==158224== by 0x4880EEF: curl_easy_init (easy.c:370) ==158224== by 0x109091: UnknownInlinedFun (lib1567.c:37) ==158224== by 0x109091: UnknownInlinedFun (lib1567.c:30) ==158224== by 0x109091: main (first.c:220) ==158224== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158224== by 0x4A6D258: __tsearch (tsearch.c:337) ==158224== by 0x4A6D258: tsearch (tsearch.c:290) ==158224== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158224== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158224== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158224== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158224== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158224== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158224== by 0x498986B: setlocale (setlocale.c:337) ==158224== by 0x10904B: main (first.c:160) ==158224== ==158224== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158224== by 0x4A6D258: __tsearch (tsearch.c:337) ==158224== by 0x4A6D258: tsearch (tsearch.c:290) ==158224== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158224== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158224== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158224== by 0x498986B: setlocale (setlocale.c:337) ==158224== by 0x10904B: main (first.c:160) ==158224== ==158224== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158224== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158224== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158224== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158224== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158224== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158224== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158224== by 0x498986B: setlocale (setlocale.c:337) ==158224== by 0x10904B: main (first.c:160) ==158224== ==158224== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158224== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158224== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158224== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158224== by 0x498986B: setlocale (setlocale.c:337) ==158224== by 0x10904B: main (first.c:160) ==158224== ==158224== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158224== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158224== by 0x48EA143: Curl_open (url.c:510) ==158224== by 0x4880EEF: curl_easy_init (easy.c:370) ==158224== by 0x109091: UnknownInlinedFun (lib1567.c:37) ==158224== by 0x109091: UnknownInlinedFun (lib1567.c:30) ==158224== by 0x109091: main (first.c:220) ==158224== ==158224== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158224== by 0x4A6D258: __tsearch (tsearch.c:337) ==158224== by 0x4A6D258: tsearch (tsearch.c:290) ==158224== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158224== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158224== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158224== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158224== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158224== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158224== by 0x498986B: setlocale (setlocale.c:337) ==158224== by 0x10904B: main (first.c:160) ==158224== ==158224== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158224== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158224== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158224== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158224== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158224== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158224== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158224== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158224== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158224== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158224== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158224== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158224== by 0x498986B: setlocale (setlocale.c:337) ==158224== by 0x10904B: main (first.c:160) ==158224== === End of file valgrind1567 test 1568...[HTTP with Digest authorization on custom CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1568 ./libtest/lib1568 http://127.0.0.1/1568 36813 > log/4/stdout1568 2> log/4/stderr1568 1568: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1568CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1570 ./libtest/lib1569 "ftp://127.0.0.1:45687/1570;type=D" ftp://127.0.0.1:45687/1570 > log/11/stdout1570 2> log/11/stderr1570 === Start of file http_server.log 02:03:28.417612 ====> Client connect 02:03:28.417647 accept_connection 3 returned 4 02:03:28.417664 accept_connection 3 returned 0 02:03:28.417680 Read 93 bytes 02:03:28.417691 Process 93 bytes request 02:03:28.417707 Got request: GET /verifiedserver HTTP/1.1 02:03:28.417717 Are-we-friendly question received 02:03:28.417739 Wrote request (93 bytes) input to log/4/server.input 02:03:28.417757 Identifying ourselves as friends 02:03:28.417830 Response sent (56 bytes) and written to log/4/server.response 02:03:28.417843 special request received, no persistency 02:03:28.417853 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1568 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr1568 URL: http://127.0.0.1/1568 === End of file stderr1568 === Start of file valgrind1568 ==158327== ==158327== Process terminating with default action of signal 4 (SIGILL) ==158327== Illegal opcode at address 0x48EA16B ==158327== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158327== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158327== by 0x48EA16B: Curl_open (url.c:519) ==158327== by 0x4880EEF: curl_easy_init (easy.c:370) ==158327== by 0x109094: UnknownInlinedFun (lib1568.c:35) ==158327== by 0x109094: main (first.c:220) ==158327== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158327== by 0x4A6D258: __tsearch (tsearch.c:337) ==158327== by 0x4A6D258: tsearch (tsearch.c:290) ==158327== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158327== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158327== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158327== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158327== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158327== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158327== by 0x498986B: setlocale (setlocale.c:337) ==158327== by 0x109047: main (first.c:160) ==158327== ==158327== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158327== by 0x4A6D258: __tsearch (tsearch.c:337) ==158327== by 0x4A6D258: tsearch (tsearch.c:290) ==158327== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158327== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158327== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158327== by 0x498986B: setlocale (setlocale.c:337) ==158327== by 0x109047: main (first.c:160) ==158327== ==158327== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158327== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158327== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158327== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158327== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158327== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158327== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158327== by 0x498986B: setlocale (setlocale.c:337) ==158327== by 0x109047: main (first.c:160) ==158327== ==158327== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158327== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158327== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158327== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158327== by 0x498986B: setlocale (setlocale.c:337) ==158327== by 0x109047: main (first.c:160) ==158327== ==158327== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158327== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158327== by 0x48EA143: Curl_open (url.c:510) ==158327== by 0x4880EEF: curl_easy_init (easy.c:370) ==158327== by 0x109094: UnknownInlinedFun (lib1568.c:35) ==158327== by 0x109094: main (first.c:220) ==158327== ==158327== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158327== by 0x4A6D258: __tsearch (tsearch.c:337) ==158327== by 0x4A6D258: tsearch (tsearch.c:290) ==158327== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158327== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158327== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158327== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158327== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158327== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158327== by 0x498986B: setlocale (setlocale.c:337) ==158327== by 0x109047: main (first.c:160) ==158327== ==158327== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158327== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158327== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158327== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158327== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158327== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158327== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158327== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158327== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158327== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158327== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158327== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158327== by 0x498986B: setlocale (setlocale.c:337) ==158327== by 0x109047: main (first.c:160) ==158327== === End of file valgrind1568 test 1570...[FTP first type=D then regular URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1570 ./libtest/lib1569 "ftp://127.0.0.1:45687/1570;type=D" ftp://127.0.0.1:45687/1570 > log/11/stdout1570 2> log/11/stderr1570 1570: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1570 === Start of file ftp_server.log 02:03:28.236048 ====> Client connect 02:03:28.236185 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:28.236467 < "USER anonymous" 02:03:28.236500 > "331 We are happy you popped in![CR][LF]" 02:03:28.236672 < "PASS ftp@example.com" 02:03:28.236697 > "230 Welcome you silly person[CR][LF]" 02:03:28.236849 < "PWD" 02:03:28.236881 > "257 "/" is current directory[CR][LF]" 02:03:28.237053 < "EPSV" 02:03:28.237079 ====> Passive DATA channel requested by client 02:03:28.237092 DATA sockfilt for passive data channel starting... 02:03:28.239659 DATA sockfilt for passive data channel started (pid 158328) 02:03:28.239760 DATA sockfilt for passive data channel listens on port 42761 02:03:28.239794 > "229 Entering Passive Mode (|||42761|)[LF]" 02:03:28.239810 Client has been notified that DATA conn will be accepted on port 42761 02:03:28.240053 Client connects to port 42761 02:03:28.240082 ====> Client established passive DATA connection on port 42761 02:03:28.240146 < "TYPE I" 02:03:28.240173 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:28.240334 < "SIZE verifiedserver" 02:03:28.240369 > "213 17[CR][LF]" 02:03:28.240524 < "RETR verifiedserver" 02:03:28.240556 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:28.240632 =====> Closing passive DATA connection... 02:03:28.240649 Server disconnects passive DATA connection 02:03:28.240895 Server disconnected passive DATA connection 02:03:28.240923 DATA sockfilt for passive data channel quits (pid 158328) 02:03:28.241117 DATA sockfilt for passive data channel quit (pid 158328) 02:03:28.241141 =====> Closed passive DATA connection 02:03:28.241166 > "226 File transfer complete[CR][LF]" 02:03:28.291886 < "QUIT" 02:03:28.291933 > "221 bye bye baby[CR][LF]" 02:03:28.292853 MAIN sockfilt said DISC 02:03:28.292883 ====> Client disconnected 02:03:28.292939 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:28.436093 ====> Client connect 02:03:28.436333 Received DATA (on stdin) 02:03:28.436349 > 160 bytes data, server => client 02:03:28.436362 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:28.436374 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:28.436385 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:28.436463 < 16 bytes data, client => server 02:03:28.436478 'USER anonymous\r\n' 02:03:28.436643 Received DATA (on stdin) 02:03:28.436656 > 33 bytes data, server => client 02:03:28.436667 '331 We are happy you popped in!\r\n' 02:03:28.436721 < 22 bytes data, client => server 02:03:28.436736 'PASS ftp@example.com\r\n' 02:03:28.436836 Received DATA (on stdin) 02:03:28.436848 > 30 bytes data, server => client 02:03:28.436859 '230 Welcome you silly person\r\n' 02:03:28.436908 < 5 bytes data, client => server 02:03:28.436919 'PWD\r\n' 02:03:28.437021 Received DATA (on stdin) 02:03:28.437034 > 30 bytes data, server => client 02:03:28.437046 '257 "/" is current directory\r\n' 02:03:28.437107 < 6 bytes data, client => server 02:03:28.437120 'EPSV\r\n' 02:03:28.439952 Received DATA (on stdin) 02:03:28.439966 > 38 bytes data, server => client 02:03:28.439978 '229 Entering Passive Mode (|||42761|)\n' 02:03:28.440112 < 8 bytes data, client => server 02:03:28.440127 'TYPE I\r\n' 02:03:28.440312 Received DATA (on stdin) 02:03:28.440325 > 33 bytes data, server => client 02:03:28.440336 '200 I modify TYPE as you wanted\r\n' 02:03:28.440390 < 21 bytes data, client => server 02:03:28.440402 'SIZE verifiedserver\r\n' 02:03:28.440508 Received DATA (on stdin) 02:03:28.440520 > 8 bytes data, server => client 02:03:28.440530 '213 17\r\n' 02:03:28.440581 < 21 bytes data, client => server 02:03:28.440593 'RETR verifiedserver\r\n' 02:03:28.440789 Received DATA (on stdin) 02:03:28.440802 > 29 bytes data, server => client 02:03:28.440813 '150 Binary junk (17 bytes).\r\n' 02:03:28.441307 Received DATA (on stdin) 02:03:28.441321 > 28 bytes data, server => client 02:03:28.441332 '226 File transfer complete\r\n' 02:03:28.491872 < 6 bytes data, client => server 02:03:28.491896 'QUIT\r\n' 02:03:28.492079 Received DATA (on stdin) 02:03:28.492094 > 18 bytes data, server => client 02:03:28.492105 '221 bye bye baby\r\n' 02:03:28.492939 ====> Client disconnect 02:03:28.493080 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:28.438452 Running IPv4 version 02:03:28.438539 Listening on port 42761 02:03:28.438574 Wrote pid 158328 to log/11/server/ftp_sockdata.pid 02:03:28.439735 Received PING (on stdin) 02:03:28.439822 Received PORT (on stdin) 02:03:28.440147 ====> Client connect 02:03:28.440862 Received DATA (on stdin) 02:03:28.440878 > 17 bytes data, server => client 02:03:28.440890 'WE ROOLZ: 80480\r\n' 02:03:28.440919 Received DISC (on stdin) 02:03:28.440932 ====> Client forcibly disconnected 02:03:28.441071 Received QUIT (on stdin) 02:03:28.441084 quits 02:03:28.441138 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1570 === End of file server.cmd === Start of file stderr1570 URL: ftp://127.0.0.1:45687/1570;type=D === End of file stderr1570 === Start of file valgrind1570 ==158388== ==158388== Process terminating with default action of signal 4 (SIGILL) ==158388== Illegal opcode at address 0x48EA16B ==158388== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158388== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158388== by 0x48EA16B: Curl_open (url.c:519) ==158388== by 0x4880EEF: curl_easy_init (easy.c:370) ==158388== by 0x10909C: UnknownInlinedFun (lib1569.c:35) ==158388== by 0x10909C: UnknownInlinedFun (lib1569.c:29) ==158388== by 0x10909C: main (first.c:220) ==158388== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158388== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158388== by 0x4A6D258: __tsearch (tsearch.c:337) ==158388== by 0x4A6D258: tsearch (tsearch.c:290) ==158388== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158388== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158388== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158388== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158388== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158388== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158388== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158388== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158388== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158388== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158388== by 0x498986B: setlocale (setlocale.c:337) ==158388== by 0x109045: main (first.c:160) ==158388== ==158388== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158388== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158388== by 0x4A6D258: __tsearch (tsearch.c:337) ==158388== by 0x4A6D258: tsearch (tsearch.c:290) ==158388== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158388== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158388== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158388== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158388== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158388== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158388== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158388== by 0x498986B: setlocale (setlocale.c:337) ==158388== by 0x109045: main (first.c:160) ==1583CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1569 ./libtest/lib1569 "ftp://127.0.0.1:44405/1569;type=A" ftp://127.0.0.1:44405/1569 > log/1/stdout1569 2> log/1/stderr1569 88== ==158388== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158388== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158388== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158388== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158388== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158388== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158388== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158388== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158388== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158388== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158388== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158388== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158388== by 0x498986B: setlocale (setlocale.c:337) ==158388== by 0x109045: main (first.c:160) ==158388== ==158388== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158388== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158388== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158388== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158388== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158388== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158388== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158388== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158388== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158388== by 0x498986B: setlocale (setlocale.c:337) ==158388== by 0x109045: main (first.c:160) ==158388== ==158388== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158388== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158388== by 0x48EA143: Curl_open (url.c:510) ==158388== by 0x4880EEF: curl_easy_init (easy.c:370) ==158388== by 0x10909C: UnknownInlinedFun (lib1569.c:35) ==158388== by 0x10909C: UnknownInlinedFun (lib1569.c:29) ==158388== by 0x10909C: main (first.c:220) ==158388== ==158388== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158388== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158388== by 0x4A6D258: __tsearch (tsearch.c:337) ==158388== by 0x4A6D258: tsearch (tsearch.c:290) ==158388== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158388== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158388== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158388== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158388== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158388== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158388== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158388== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158388== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158388== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158388== by 0x498986B: setlocale (setlocale.c:337) ==158388== by 0x109045: main (first.c:160) ==158388== ==158388== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158388== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158388== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158388== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158388== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158388== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158388== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158388== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158388== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158388== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158388== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158388== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158388== by 0x498986B: setlocale (setlocale.c:337) ==158388== by 0x109045: main (first.c:160) ==158388== === End of file valgrind1570 test 1569...[FTP first type=A then regular URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1569 ./libtest/lib1569 "ftp://127.0.0.1:44405/1569;type=A" ftp://127.0.0.1:44405/1569 > log/1/stdout1569 2> log/1/stderr1569 1569: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1569 === Start of file ftp_server.log 02:03:28.242683 ====> Client connect 02:03:28.242807 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:28.243048 < "USER anonymous" 02:03:28.243078 > "331 We are happy you popped in![CR][LF]" 02:03:28.243234 < "PASS ftp@example.com" 02:03:28.243418 > "230 Welcome you silly person[CR][LF]" 02:03:28.243469 < "PWD" 02:03:28.243498 > "257 "/" is current directory[CR][LF]" 02:03:28.243648 < "EPSV" 02:03:28.243671 ====> Passive DATA channel requested by client 02:03:28.243684 DATA sockfilt for passive data channel starting... 02:03:28.245175 DATA sockfilt for passive data channel started (pid 158336) 02:03:28.245269 DATA sockfilt for passive data channel listens on port 35071 02:03:28.245308 > "229 Entering Passive Mode (|||35071|)[LF]" 02:03:28.245324 Client has been notified that DATA conn will be accepted on port 35071 02:03:28.245556 Client connects to port 35071 02:03:28.245585 ====> Client established passive DATA connection on port 35071 02:03:28.245645 < "TYPE I" 02:03:28.245670 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:28.245834 < "SIZE verifiedserver" 02:03:28.245868 > "213 17[CR][LF]" 02:03:28.246027 < "RETR verifiedserver" 02:03:28.246061 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:28.246141 =====> Closing passive DATA connection... 02:03:28.246157 Server disconnects passive DATA connection 02:03:28.246323 Server disconnected passive DATA connection 02:03:28.246352 DATA sockfilt for passive data channel quits (pid 158336) 02:03:28.246531 DATA sockfilt for passive data channel quit (pid 158336) 02:03:28.246554 =====> Closed passive DATA connection 02:03:28.246579 > "226 File transfer complete[CR][LF]" 02:03:28.288761 < "QUIT" 02:03:28.288810 > "221 bye bye baby[CR][LF]" 02:03:28.289712 MAIN sockfilt said DISC 02:03:28.289744 ====> Client disconnected 02:03:28.289810 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:28.442735 ====> Client connect 02:03:28.442955 Received DATA (on stdin) 02:03:28.442969 > 160 bytes data, server => client 02:03:28.442981 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:28.442992 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:28.443003 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:28.443068 < 16 bytes data, client => server 02:03:28.443080 'USER anonymous\r\n' 02:03:28.443218 Received DATA (on stdin) 02:03:28.443230 > 33 bytes data, server => client 02:03:28.443240 '331 We are happy you popped in!\r\n' 02:03:28.443294 < 22 bytes data, client => server 02:03:28.443306 'PASS ftp@example.com\r\n' 02:03:28.443438 Received DATA (on stdin) 02:03:28.443455 > 30 bytes data, server => client 02:03:28.443466 '230 Welcome you silly person\r\n' 02:03:28.443513 < 5 bytes data, client => server 02:03:28.443524 'PWD\r\n' 02:03:28.443636 Received DATA (on stdin) 02:03:28.443646 > 30 bytes data, server => client 02:03:28.443657 '257 "/" is current directory\r\n' 02:03:28.443713 < 6 bytes data, client => server 02:03:28.443723 'EPSV\r\n' 02:03:28.445468 Received DATA (on stdin) 02:03:28.445482 > 38 bytes data, server => client 02:03:28.445494 '229 Entering Passive Mode (|||35071|)\n' 02:03:28.445615 < 8 bytes data, client => server 02:03:28.445631 'TYPE I\r\n' 02:03:28.445810 Received DATA (on stdin) 02:03:28.445824 > 33 bytes data, server => client 02:03:28.445835 '200 I modify TYPE as you wanted\r\n' 02:03:28.445889 < 21 bytes data, client => server 02:03:28.445901 'SIZE verifiedserver\r\n' 02:03:28.446007 Received DATA (on stdin) 02:03:28.446019 > 8 bytes data, server => client 02:03:28.446029 '213 17\r\n' 02:03:28.446081 < 21 bytes data, client => server 02:03:28.446095 'RETR verifiedserver\r\n' 02:03:28.446221 Received DATA (on stdin) 02:03:28.446236 > 29 bytes data, server => client 02:03:28.446247 '150 Binary junk (17 bytes).\r\n' 02:03:28.446719 Received DATA (on stdin) 02:03:28.446733 > 28 bytes data, server => client 02:03:28.446744 '226 File transfer complete\r\n' 02:03:28.488702 < 6 bytes data, client => server 02:03:28.488745 'QUIT\r\n' 02:03:28.488953 Received DATA (on stdin) 02:03:28.488966 > 18 bytes data, server => client 02:03:28.488978 '221 bye bye baby\r\n' 02:03:28.489802 ====> Client disconnect 02:03:28.489949 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:28.445045 Running IPv4 version 02:03:28.445094 Listening on port 35071 02:03:28.445132 Wrote pid 158336 to log/1/server/ftp_sockdata.pid 02:03:28.445260 Received PING (on stdin) 02:03:28.445332 Received PORT (on stdin) 02:03:28.445650 ====> Client connect 02:03:28.446297 Received DATA (on stdin) 02:03:28.446311 > 17 bytes data, server => client 02:03:28.446322 'WE ROOLZ: 88524\r\n' 02:03:28.446352 Received DISC (on stdin) 02:03:28.446364 ====> Client forcibly disconnected 02:03:28.446497 Received QUIT (on stdin) 02:03:28.446510 quits 02:03:28.446559 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1569 === End of file server.cmd === Start of file stderr1569 URL: ftp://127.0.0.1:44405/1569;type=A === End of file stderr1569 === Start of file valgrind1569 ==158378== ==158378== Process terminating with default action of signal 4 (SIGILL) ==158378== Illegal opcode at address 0x48EA16B ==158378== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158378== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158378== by 0x48EA16B: Curl_open (url.c:519) ==158378== by 0x4880EEF: curl_easy_init (easy.c:370) ==158378== by 0x10909C: UnknownInlinedFun (lib1569.c:35) ==158378== by 0x10909C: UnknownInlinedFun (lib1569.c:29) ==158378== by 0x10909C: main (first.c:220) ==158378== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158378== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158378== by 0x4A6D258: __tsearch (tsearch.c:337) ==158378== by 0x4A6D258: tsearch (tsearch.c:290) ==158378== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158378== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158378== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158378== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158378== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158378== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158378== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158378== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158378== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158378== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158378== by 0x498986B: setlocale (setlocale.c:337) ==158378== by 0x109045: main (first.c:160) ==158378== ==158378== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158378== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158378== by 0x4A6D258: __tsearch (tsearch.c:337) ==158378== by 0x4A6D258: tsearch (tsearch.c:290) ==158378== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158378== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158378== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158378== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158378== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158378== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158378== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158378== by 0x498986B: setlocale (setlocale.c:337) ==158378== by 0x109045: main (first.c:160) ==158378== ==158378== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158378== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158378== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158378== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158378== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158378== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158378== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158378== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158378== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158378== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158378== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158378== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158378== by 0x498986B: setlocale (setlocale.c:337) ==158378== by 0x109045: main (first.c:160) ==158378== ==158378== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158378== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158378== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158378== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158378== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158378== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158378== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158378== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158378== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158378== by 0x498986B: setlocale (setlocale.c:337) ==158378== by 0x109045: main (first.c:160) ==158378== ==158378== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158378== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158378== by 0x48EA143: Curl_open (url.c:510) ==158378== by 0x4880EEF: curl_easy_init (easy.c:370) ==158378== by 0x10909C: UnknownInlinedFun (lib1569.c:35) ==158378== by 0x10909C: UnknownInlinedFun (lib1569.c:29) ==158378== by 0x10909C: main (first.c:220) ==158378== ==158378== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158378== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158378== by 0x4A6D258: __tsearch (tsearch.c:337) ==158378== by 0x4A6D258: tsearch (tsearch.c:290) ==158378== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158378== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158378== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158378== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158378== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158378== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158378== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158378== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158378== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158378== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158378== by 0x498986B: setlocale (setlocale.c:337) ==158378== by 0x109045: main (first.c:160) ==158378== ==158378== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158378== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158378== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158378== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158378== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158378== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158378== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158378== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158378== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:11CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1592 ./libtest/lib1592 http://a-site-never-accessed.example.org/1592 > log/8/stdout1592 2> log/8/stderr1592 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1593 ./libtest/lib1593 http://127.0.0.1:40653/1593 > log/12/stdout1593 2> log/12/stderr1593 6) ==158378== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158378== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158378== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158378== by 0x498986B: setlocale (setlocale.c:337) ==158378== by 0x109045: main (first.c:160) ==158378== === End of file valgrind1569 * starts no server test 1592...[HTTP request, remove handle while resolving, don't block] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1592 ./libtest/lib1592 http://a-site-never-accessed.example.org/1592 > log/8/stdout1592 2> log/8/stderr1592 lib1592 returned 132, when expecting 0 1592: exit FAILED == Contents of files in the log/8/ dir after test 1592 === Start of file server.cmd Testnum 1592 === End of file server.cmd === Start of file stderr1592 URL: http://a-site-never-accessed.example.org/1592 === End of file stderr1592 === Start of file valgrind1592 ==158501== ==158501== Process terminating with default action of signal 4 (SIGILL) ==158501== Illegal opcode at address 0x48EA16B ==158501== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158501== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158501== by 0x48EA16B: Curl_open (url.c:519) ==158501== by 0x4880EEF: curl_easy_init (easy.c:370) ==158501== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==158501== by 0x48BF363: Curl_multi_handle (multi.c:416) ==158501== by 0x10909D: UnknownInlinedFun (lib1592.c:55) ==158501== by 0x10909D: UnknownInlinedFun (lib1592.c:44) ==158501== by 0x10909D: main (first.c:220) ==158501== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==158501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158501== by 0x4A6D258: __tsearch (tsearch.c:337) ==158501== by 0x4A6D258: tsearch (tsearch.c:290) ==158501== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158501== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158501== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158501== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158501== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158501== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158501== by 0x498986B: setlocale (setlocale.c:337) ==158501== by 0x109058: main (first.c:160) ==158501== ==158501== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==158501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158501== by 0x4A6D258: __tsearch (tsearch.c:337) ==158501== by 0x4A6D258: tsearch (tsearch.c:290) ==158501== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158501== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158501== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158501== by 0x498986B: setlocale (setlocale.c:337) ==158501== by 0x109058: main (first.c:160) ==158501== ==158501== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==158501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158501== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158501== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158501== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158501== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158501== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158501== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158501== by 0x498986B: setlocale (setlocale.c:337) ==158501== by 0x109058: main (first.c:160) ==158501== ==158501== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==158501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158501== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158501== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158501== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158501== by 0x498986B: setlocale (setlocale.c:337) ==158501== by 0x109058: main (first.c:160) ==158501== ==158501== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==158501== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158501== by 0x48EA143: Curl_open (url.c:510) ==158501== by 0x4880EEF: curl_easy_init (easy.c:370) ==158501== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==158501== by 0x48BF363: Curl_multi_handle (multi.c:416) ==158501== by 0x10909D: UnknownInlinedFun (lib1592.c:55) ==158501== by 0x10909D: UnknownInlinedFun (lib1592.c:44) ==158501== by 0x10909D: main (first.c:220) ==158501== ==158501== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==158501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158501== by 0x4A6D258: __tsearch (tsearch.c:337) ==158501== by 0x4A6D258: tsearch (tsearch.c:290) ==158501== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158501== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158501== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158501== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158501== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158501== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158501== by 0x498986B: setlocale (setlocale.c:337) ==158501== by 0x109058: main (first.c:160) ==158501== ==158501== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==158501== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158501== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158501== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158501== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158501== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158501== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158501== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158501== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158501== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158501== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158501== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158501== by 0x498986B: setlocale (setlocale.c:337) ==158501== by 0x109058: main (first.c:160) ==158501== === End of file valgrind1592 test 1593...[HTTP custom header overrides CURLOPT_TIMECONDITION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1593 ./libtest/lib1593 http://127.0.0.1:40653/1593 > log/12/stdout1593 2> log/12/stderr1593 1593: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 1593 === Start of file http_server.log 02:03:28.687027 ====> Client connect 02:03:28.687062 accept_connection 3 returned 4 02:03:28.687104 accept_connection 3 returned 0 02:03:28.687128 Read 93 bytes 02:03:28.687140 Process 93 bytes request 02:03:28.687155 Got request: GET /verifiedserver HTTP/1.1 02:03:28.687165 Are-we-friendly question received 02:03:28.687191 Wrote request (93 bytes) input to log/12/server.input 02:03:28.687210 Identifying ourselves as friends 02:03:28.687271 Response sent (56 bytes) and written to log/12/server.response 02:03:28.687282 special request received, no persistency 02:03:28.687292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1593 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr1593 URL: http://127.0.0.1:40653/1593 === End of file stderr1593 === Start of file valgrind1593 ==158599== ==158599== Process terminating with default action of signal 4 (SIGILL) ==158599== Illegal opcode at address 0x48EA16B ==158599== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158599== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158599== by 0x48EA16B: Curl_open (url.c:519) ==158599== by 0x4880EEF: curl_easy_init (easy.c:370) ==158599== by 0x10909B: UnknownInlinedFun (lib1593.c:40) ==158599== by 0x10909B: UnknownInlinedFun (lib1593.c:31) ==158599== by 0x10909B: main (first.c:220) ==158599== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158599== by 0x4A6D258: __tsearch (tsearch.c:337) ==158599== by 0x4A6D258: tsearch (tsearch.c:290) ==158599== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158599== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158599== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158599== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158599== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158599== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158599== by 0x498986B: setlocale (setlocale.c:337) ==158599== by 0x109056: main (first.c:160) ==158599== ==158599== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158599== by 0x4A6D258: __tsearch (tsearch.c:337) ==158599== by 0x4A6D258: tsearch (tsearch.c:290) ==158599== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158599== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158599== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158599== by 0x498986B: setlocale (setlocale.c:337) ==158599== by 0x109056: main (first.c:160) ==158599== ==158599== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158599== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158599== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158599== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158599== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158599== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158599== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158599== by 0x498986B: setlocale (setlocale.c:337) ==158599== by 0x109056: main (first.c:160) ==158599== ==158599== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158599== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158599== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158599== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158599== by 0x498986B: setlocale (setlocale.c:337) ==158599== by 0x109056: main (first.c:160) ==158599== ==158599== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158599== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158599== by 0x48EA143: Curl_open (url.c:510) ==158599== by 0x4880EEF: curl_easy_init (easy.c:370) ==158599== by 0x10909B: UnknownInlinedFun (lib1593.c:40) ==158599== by 0x10909B: UnknownInlinedFun (lib1593.c:31) ==158599== by 0x10909B: main (first.c:220) ==158599== ==158599== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158599== by 0x4A6D258: __tsearch (tsearch.c:337) ==158599== by 0x4A6D258: tsearch (tsearch.c:290) ==158599== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158599== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158599== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158599== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158599== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158599== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158599== by 0x498986B: setlocale (setlocale.c:337) ==158599== by 0x109056: main (first.c:160) ==158599== ==158599== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158599== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158599== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158599== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158599== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158599== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158599== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158599== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158599== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158599== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158599== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158599== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158599== by 0x498986B: sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1591 ./libtest/lib1591 http://127.0.0.1:38781/bzz/1591 log/2/stdout1591 2> log/2/stderr1591 etlocale (setlocale.c:337) ==158599== by 0x109056: main (first.c:160) ==158599== === End of file valgrind1593 test 1591...[HTTP PUT with trailers at the end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1591 ./libtest/lib1591 http://127.0.0.1:38781/bzz/1591 log/2/stdout1591 2> log/2/stderr1591 1591: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1591 === Start of file http_server.log 02:03:28.664479 ====> Client connect 02:03:28.664514 accept_connection 3 returned 4 02:03:28.664531 accept_connection 3 returned 0 02:03:28.664545 Read 93 bytes 02:03:28.664557 Process 93 bytes request 02:03:28.664572 Got request: GET /verifiedserver HTTP/1.1 02:03:28.664582 Are-we-friendly question received 02:03:28.664608 Wrote request (93 bytes) input to log/2/server.input 02:03:28.664627 Identifying ourselves as friends 02:03:28.664697 Response sent (56 bytes) and written to log/2/server.response 02:03:28.664708 special request received, no persistency 02:03:28.664719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1591 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1591 URL: http://127.0.0.1:38781/bzz/1591 === End of file stderr1591 === Start of file stdin-for-1591 more than one byte === End of file stdin-for-1591 === Start of file valgrind1591 ==158554== ==158554== Process terminating with default action of signal 4 (SIGILL) ==158554== Illegal opcode at address 0x48EA16B ==158554== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158554== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158554== by 0x48EA16B: Curl_open (url.c:519) ==158554== by 0x4880EEF: curl_easy_init (easy.c:370) ==158554== by 0x109088: UnknownInlinedFun (lib1591.c:89) ==158554== by 0x109088: main (first.c:220) ==158554== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158554== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158554== by 0x4A6D258: __tsearch (tsearch.c:337) ==158554== by 0x4A6D258: tsearch (tsearch.c:290) ==158554== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158554== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158554== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158554== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158554== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158554== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158554== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158554== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158554== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158554== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158554== by 0x498986B: setlocale (setlocale.c:337) ==158554== by 0x109045: main (first.c:160) ==158554== ==158554== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158554== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158554== by 0x4A6D258: __tsearch (tsearch.c:337) ==158554== by 0x4A6D258: tsearch (tsearch.c:290) ==158554== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158554== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158554== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158554== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158554== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158554== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158554== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158554== by 0x498986B: setlocale (setlocale.c:337) ==158554== by 0x109045: main (first.c:160) ==158554== ==158554== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158554== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158554== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158554== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158554== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158554== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158554== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158554== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158554== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158554== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158554== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158554== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158554== by 0x498986B: setlocale (setlocale.c:337) ==158554== by 0x109045: main (first.c:160) ==158554== ==158554== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158554== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158554== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158554== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158554== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158554== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158554== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158554== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158554== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158554== by 0x498986B: setlocale (setlocale.c:337) ==158554== by 0x109045: main (first.c:160) ==158554== ==158554== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158554== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158554== by 0x48EA143: Curl_open (url.c:510) ==158554== by 0x4880EEF: curl_easy_init (easy.c:370) ==158554== by 0x109088: UnknownInlinedFun (lib1591.c:89) ==158554== by 0x109088: main (first.c:220) ==158554== ==158554== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158554== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158554== by 0x4A6D258: __tsearch (tsearch.c:337) ==158554== by 0x4A6D258: tsearch (tsearch.c:290) ==158554== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158554== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158554== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158554== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158554== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158554== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158554== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158554== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158554== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158554== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158554== by 0x498986B: setlocale (setlocale.c:337) ==158554== by 0x109045: main (first.c:160) ==158554== ==158554== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158554== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158554== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158554== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158554== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158554== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158554== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170)CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1590 ./libtest/lib1553 imap://localhost:39533/1590 > log/6/stdout1590 2> log/6/stderr1590 ==158554== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158554== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158554== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158554== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158554== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158554== by 0x498986B: setlocale (setlocale.c:337) ==158554== by 0x109045: main (first.c:160) ==158554== === End of file valgrind1591 test 1590...[IMAP cleanup before a connection was created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1590 ./libtest/lib1553 imap://localhost:39533/1590 > log/6/stdout1590 2> log/6/stderr1590 lib1553 returned 132, when expecting 0 1590: exit FAILED == Contents of files in the log/6/ dir after test 1590 === Start of file imap_server.log 02:03:28.451454 ====> Client connect 02:03:28.451682 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 02:03:28.451955 < "A001 CAPABILITY" 02:03:28.451985 > "A001 BAD Command[CR][LF]" 02:03:28.452136 < "A002 LIST "verifiedserver" *" 02:03:28.452160 LIST_imap got "verifiedserver" * 02:03:28.452183 > "* LIST () "/" "WE ROOLZ: 114667"[CR][LF]" 02:03:28.452201 > "A002 OK LIST Completed[CR][LF]" 02:03:28.452213 return proof we are we 02:03:28.497906 < "A003 LOGOUT" 02:03:28.497957 > "* BYE curl IMAP server signing off[CR][LF]" 02:03:28.497974 > "A003 OK LOGOUT completed[CR][LF]" 02:03:28.542639 MAIN sockfilt said DISC 02:03:28.542702 ====> Client disconnected 02:03:28.542775 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 02:03:28.651508 ====> Client connect 02:03:28.651840 Received DATA (on stdin) 02:03:28.651855 > 178 bytes data, server => client 02:03:28.651868 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 02:03:28.651880 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 02:03:28.651891 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 02:03:28.651900 'rve\r\n' 02:03:28.651974 < 17 bytes data, client => server 02:03:28.651985 'A001 CAPABILITY\r\n' 02:03:28.652123 Received DATA (on stdin) 02:03:28.652134 > 18 bytes data, server => client 02:03:28.652145 'A001 BAD Command\r\n' 02:03:28.652198 < 30 bytes data, client => server 02:03:28.652209 'A002 LIST "verifiedserver" *\r\n' 02:03:28.652349 Received DATA (on stdin) 02:03:28.652360 > 34 bytes data, server => client 02:03:28.652371 '* LIST () "/" "WE ROOLZ: 114667"\r\n' 02:03:28.652393 Received DATA (on stdin) 02:03:28.652403 > 24 bytes data, server => client 02:03:28.652414 'A002 OK LIST Completed\r\n' 02:03:28.697856 < 13 bytes data, client => server 02:03:28.697887 'A003 LOGOUT\r\n' 02:03:28.698113 Received DATA (on stdin) 02:03:28.698125 > 36 bytes data, server => client 02:03:28.698136 '* BYE curl IMAP server signing off\r\n' 02:03:28.698188 Received DATA (on stdin) 02:03:28.698197 > 26 bytes data, server => client 02:03:28.698208 'A003 OK LOGOUT completed\r\n' 02:03:28.742691 ====> Client disconnect 02:03:28.742922 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1590 === End of file server.cmd === Start of file stderr1590 URL: imap://localhost:39533/1590 === End of file stderr1590 === Start of file valgrind1590 ==158663== ==158663== Process terminating with default action of signal 4 (SIGILL) ==158663== Illegal opcode at address 0x48EA16B ==158663== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158663== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158663== by 0x48EA16B: Curl_open (url.c:519) ==158663== by 0x4880EEF: curl_easy_init (easy.c:370) ==158663== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==158663== by 0x48BF363: Curl_multi_handle (multi.c:416) ==158663== by 0x1090B1: UnknownInlinedFun (lib1553.c:61) ==158663== by 0x1090B1: UnknownInlinedFun (lib1553.c:46) ==158663== by 0x1090B1: main (first.c:220) ==158663== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==158663== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158663== by 0x4A6D258: __tsearch (tsearch.c:337) ==158663== by 0x4A6D258: tsearch (tsearch.c:290) ==158663== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158663== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158663== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158663== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158663== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158663== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158663== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158663== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158663== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158663== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158663== by 0x498986B: setlocale (setlocale.c:337) ==158663== by 0x109058: main (first.c:160) ==158663== ==158663== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==158663== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158663== by 0x4A6D258: __tsearch (tsearch.c:337) ==158663== by 0x4A6D258: tsearch (tsearch.c:290) ==158663== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158663== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158663== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158663== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158663== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158663== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158663== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158663== by 0x498986B: setlocale (setlocale.c:337) ==158663== by 0x109058: main (first.c:160) ==158663== ==158663== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==158663== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158663== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158663== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158663== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158663== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158663== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158663== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158663== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158663== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158663== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158663== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158663== by 0x498986B: setlocale (setlocale.c:337) ==158663== by 0x109058: main (first.c:160) ==158663== ==158663== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==158663== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158663== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158663== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158663== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158663== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158663== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158663== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158663== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158663== by 0x498986B: setlocale (setlocale.c:337) ==158663== by 0x109058: main (first.c:160) ==158663== ==158663== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==158663== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158663== by 0x48EA143: Curl_open (url.c:510) ==158663== by 0x4880EEF: curl_easy_init (easy.c:370) ==158663== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==15866CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1595 ./libtest/lib1594 http://127.0.0.1:43753/1595 > log/7/stdout1595 2> log/7/stderr1595 3== by 0x48BF363: Curl_multi_handle (multi.c:416) ==158663== by 0x1090B1: UnknownInlinedFun (lib1553.c:61) ==158663== by 0x1090B1: UnknownInlinedFun (lib1553.c:46) ==158663== by 0x1090B1: main (first.c:220) ==158663== ==158663== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==158663== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158663== by 0x4A6D258: __tsearch (tsearch.c:337) ==158663== by 0x4A6D258: tsearch (tsearch.c:290) ==158663== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158663== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158663== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158663== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158663== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158663== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158663== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158663== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158663== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158663== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158663== by 0x498986B: setlocale (setlocale.c:337) ==158663== by 0x109058: main (first.c:160) ==158663== ==158663== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==158663== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158663== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158663== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158663== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158663== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158663== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158663== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158663== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158663== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158663== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158663== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158663== by 0x498986B: setlocale (setlocale.c:337) ==158663== by 0x109058: main (first.c:160) ==158663== === End of file valgrind1590 test 1595...[HTTP Retry-After header extraction (without header)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1595 ./libtest/lib1594 http://127.0.0.1:43753/1595 > log/7/stdout1595 2> log/7/stderr1595 1595: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:29.687081509 +0000 +++ log/7/check-generated 2024-12-15 02:03:29.687081509 +0000 @@ -1 +0,0 @@ -Retry-After 0[LF] == Contents of files in the log/7/ dir after test 1595 === Start of file check-expected Retry-After 0[LF] === End of file check-expected === Start of file http_server.log 02:03:28.878142 ====> Client connect 02:03:28.878171 accept_connection 3 returned 4 02:03:28.878186 accept_connection 3 returned 0 02:03:28.878199 Read 93 bytes 02:03:28.878210 Process 93 bytes request 02:03:28.878222 Got request: GET /verifiedserver HTTP/1.1 02:03:28.878232 Are-we-friendly question received 02:03:28.878255 Wrote request (93 bytes) input to log/7/server.input 02:03:28.878272 Identifying ourselves as friends 02:03:28.878334 Response sent (56 bytes) and written to log/7/server.response 02:03:28.878345 special request received, no persistency 02:03:28.878355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1595 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr1595 URL: http://127.0.0.1:43753/1595 === End of file stderr1595 === Start of file valgrind1595 ==158747== ==158747== Process terminating with default action of signal 4 (SIGILL) ==158747== Illegal opcode at address 0x48EA16B ==158747== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158747== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158747== by 0x48EA16B: Curl_open (url.c:519) ==158747== by 0x4880EEF: curl_easy_init (easy.c:370) ==158747== by 0x10909B: UnknownInlinedFun (lib1594.c:40) ==158747== by 0x10909B: UnknownInlinedFun (lib1594.c:31) ==158747== by 0x10909B: main (first.c:220) ==158747== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158747== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158747== by 0x4A6D258: __tsearch (tsearch.c:337) ==158747== by 0x4A6D258: tsearch (tsearch.c:290) ==158747== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158747== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158747== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158747== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158747== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158747== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158747== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158747== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158747== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158747== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158747== by 0x498986B: setlocale (setlocale.c:337) ==158747== by 0x109056: main (first.c:160) ==158747== ==158747== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158747== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158747== by 0x4A6D258: __tsearch (tsearch.c:337) ==158747== by 0x4A6D258: tsearch (tsearch.c:290) ==158747== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158747== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158747== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158747== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158747== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158747== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158747== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158747== by 0x498986B: setlocale (setlocale.c:337) ==158747== by 0x109056: main (first.c:160) ==158747== ==158747== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158747== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158747== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158747== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158747== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158747== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158747== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158747== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158747== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158747== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158747== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158747== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158747== by 0x498986B: setlocale (setlocale.c:337) ==158747== by 0x109056: main (first.c:160) ==158747== ==158747== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158747== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158747== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158747== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158747== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158747== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158747== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158747== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158747== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158747== by 0x498986B: setlocale (setlocale.c:337) ==158747== by 0x109056: main (first.c:160) ==158747== ==158747== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158747== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158747== by 0x48EA143: Curl_open (url.c:510) ==158747== by 0x4880EEF: curl_easy_init (easy.c:370) ==158747== by 0x10909B: UnknownInlinedFun (lib1594.c:40) ==158747== by 0x10909B: UnknownInlinedFun (lib1594.c:31) ==158747== by 0x10909B: main (first.c:220) ==158747== ==158747== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158747== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158747== by 0x4A6D258: __tsearch (tsearch.c:337) ==158747== by 0x4A6D258: tsearch (tsearch.c:290) ==158747== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158747== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158747== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158747== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158747== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158747== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158747== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158747== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158747== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158747== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158747== by 0x498986B: setlocale (setlocale.c:337) ==158747== by 0x109056: main (first.c:160) ==158747== ==158747== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158747== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158747== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158747== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158747== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158747== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158747== by 0x497DF71: gconv_parCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1594 ./libtest/lib1594 http://127.0.0.1:34527/1594 > log/3/stdout1594 2> log/3/stderr1594 seconfdir (gconv_parseconfdir.h:170) ==158747== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158747== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158747== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158747== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158747== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158747== by 0x498986B: setlocale (setlocale.c:337) ==158747== by 0x109056: main (first.c:160) ==158747== === End of file valgrind1595 test 1594...[HTTP Retry-After header parsing and extraction] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1594 ./libtest/lib1594 http://127.0.0.1:34527/1594 > log/3/stdout1594 2> log/3/stderr1594 1594: stdout FAILED: --- log/3/check-expected 2024-12-15 02:03:29.697081685 +0000 +++ log/3/check-generated 2024-12-15 02:03:29.697081685 +0000 @@ -1 +0,0 @@ -Retry-After 22[LF] == Contents of files in the log/3/ dir after test 1594 === Start of file check-expected Retry-After 22[LF] === End of file check-expected === Start of file http_server.log 02:03:28.877939 ====> Client connect 02:03:28.877973 accept_connection 3 returned 4 02:03:28.877989 accept_connection 3 returned 0 02:03:28.878004 Read 93 bytes 02:03:28.878016 Process 93 bytes request 02:03:28.878032 Got request: GET /verifiedserver HTTP/1.1 02:03:28.878042 Are-we-friendly question received 02:03:28.878068 Wrote request (93 bytes) input to log/3/server.input 02:03:28.878086 Identifying ourselves as friends 02:03:28.878148 Response sent (56 bytes) and written to log/3/server.response 02:03:28.878159 special request received, no persistency 02:03:28.878169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1594 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr1594 URL: http://127.0.0.1:34527/1594 === End of file stderr1594 === Start of file valgrind1594 ==158748== ==158748== Process terminating with default action of signal 4 (SIGILL) ==158748== Illegal opcode at address 0x48EA16B ==158748== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158748== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158748== by 0x48EA16B: Curl_open (url.c:519) ==158748== by 0x4880EEF: curl_easy_init (easy.c:370) ==158748== by 0x10909B: UnknownInlinedFun (lib1594.c:40) ==158748== by 0x10909B: UnknownInlinedFun (lib1594.c:31) ==158748== by 0x10909B: main (first.c:220) ==158748== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158748== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158748== by 0x4A6D258: __tsearch (tsearch.c:337) ==158748== by 0x4A6D258: tsearch (tsearch.c:290) ==158748== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158748== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158748== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158748== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158748== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158748== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158748== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158748== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158748== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158748== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158748== by 0x498986B: setlocale (setlocale.c:337) ==158748== by 0x109056: main (first.c:160) ==158748== ==158748== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158748== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158748== by 0x4A6D258: __tsearch (tsearch.c:337) ==158748== by 0x4A6D258: tsearch (tsearch.c:290) ==158748== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158748== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158748== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158748== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158748== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158748== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158748== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158748== by 0x498986B: setlocale (setlocale.c:337) ==158748== by 0x109056: main (first.c:160) ==158748== ==158748== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158748== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158748== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158748== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158748== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158748== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158748== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158748== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158748== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158748== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158748== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158748== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158748== by 0x498986B: setlocale (setlocale.c:337) ==158748== by 0x109056: main (first.c:160) ==158748== ==158748== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158748== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158748== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158748== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158748== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158748== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158748== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158748== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158748== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158748== by 0x498986B: setlocale (setlocale.c:337) ==158748== by 0x109056: main (first.c:160) ==158748== ==158748== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158748== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158748== by 0x48EA143: Curl_open (url.c:510) ==158748== by 0x4880EEF: curl_easy_init (easy.c:370) ==158748== by 0x10909B: UnknownInlinedFun (lib1594.c:40) ==158748== by 0x10909B: UnknownInlinedFun (lib1594.c:31) ==158748== by 0x10909B: main (first.c:220) ==158748== ==158748== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158748== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158748== by 0x4A6D258: __tsearch (tsearch.c:337) ==158748== by 0x4A6D258: tsearch (tsearch.c:290) ==158748== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158748== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158748== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158748== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158748== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158748== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158748== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158748== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158748== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158748== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158748== by 0x498986B: setlocale (setlocale.c:337) ==158748== by 0x109056: main (first.c:160) ==158748== ==158748== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158748== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158748== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158748== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158748== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158748== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158748== by 0x497DF71: gconv_parsecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1597 ./libtest/lib1597 - > log/9/stdout1597 2> log/9/stderr1597 onfdir (gconv_parseconfdir.h:170) ==158748== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158748== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158748== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158748== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158748== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158748== by 0x498986B: setlocale (setlocale.c:337) ==158748== by 0x109056: main (first.c:160) ==158748== === End of file valgrind1594 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1596 ./libtest/lib1596 http://127.0.0.1:34719/1596 > log/5/stdout1596 2> log/5/stderr1596 * starts no server test 1597...[CURLOPT_PROTOCOLS_STR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1597 ./libtest/lib1597 - > log/9/stdout1597 2> log/9/stderr1597 1597: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:29.810417032 +0000 +++ log/9/check-generated 2024-12-15 02:03:29.810417032 +0000 @@ -1 +0,0 @@ -Tested 15 strings[LF] == Contents of files in the log/9/ dir after test 1597 === Start of file check-expected Tested 15 strings[LF] === End of file check-expected === Start of file server.cmd Testnum 1597 === End of file server.cmd === Start of file stderr1597 URL: - === End of file stderr1597 === Start of file valgrind1597 ==158843== ==158843== Process terminating with default action of signal 4 (SIGILL) ==158843== Illegal opcode at address 0x48EA16B ==158843== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158843== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158843== by 0x48EA16B: Curl_open (url.c:519) ==158843== by 0x4880EEF: curl_easy_init (easy.c:370) ==158843== by 0x10908D: UnknownInlinedFun (lib1597.c:74) ==158843== by 0x10908D: UnknownInlinedFun (lib1597.c:36) ==158843== by 0x10908D: main (first.c:220) ==158843== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158843== by 0x4A6D258: __tsearch (tsearch.c:337) ==158843== by 0x4A6D258: tsearch (tsearch.c:290) ==158843== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158843== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158843== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158843== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158843== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158843== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158843== by 0x498986B: setlocale (setlocale.c:337) ==158843== by 0x10904B: main (first.c:160) ==158843== ==158843== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158843== by 0x4A6D258: __tsearch (tsearch.c:337) ==158843== by 0x4A6D258: tsearch (tsearch.c:290) ==158843== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158843== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158843== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158843== by 0x498986B: setlocale (setlocale.c:337) ==158843== by 0x10904B: main (first.c:160) ==158843== ==158843== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158843== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158843== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158843== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158843== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158843== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158843== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158843== by 0x498986B: setlocale (setlocale.c:337) ==158843== by 0x10904B: main (first.c:160) ==158843== ==158843== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158843== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158843== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158843== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158843== by 0x498986B: setlocale (setlocale.c:337) ==158843== by 0x10904B: main (first.c:160) ==158843== ==158843== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158843== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158843== by 0x48EA143: Curl_open (url.c:510) ==158843== by 0x4880EEF: curl_easy_init (easy.c:370) ==158843== by 0x10908D: UnknownInlinedFun (lib1597.c:74) ==158843== by 0x10908D: UnknownInlinedFun (lib1597.c:36) ==158843== by 0x10908D: main (first.c:220) ==158843== ==158843== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158843== by 0x4A6D258: __tsearch (tsearch.c:337) ==158843== by 0x4A6D258: tsearch (tsearch.c:290) ==158843== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158843== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158843== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158843== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158843== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158843== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158843== by 0x498986B: setlocale (setlocale.c:337) ==158843== by 0x10904B: main (first.c:160) ==158843== ==158843== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158843== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158843== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158843== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158843== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158843== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158843== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158843== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158843== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158843== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158843== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158843== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158843== by 0x498986B: setlocale (setlocale.c:337) ==158843== by 0x10904B: main (first.c:160) ==158843== === End of file valgrind1597 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1613 ../src/curl -q --output log/4/curl1613.out --include --trace-ascii log/4/trace1613 --trace-config all --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:36813/ -H "Testno: 1613" http://www.example.org/ > log/4/stdout1613 2> log/4/stderr1613 test 1596...[HTTP Retry-After header parsing using a date] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1596 ./libtest/lib1596 http://127.0.0.1:34719/1596 > log/5/stdout1596 2> log/5/stderr1596 1596: stdout FAILED: --- log/5/check-expected 2024-12-15 02:03:29.910418808 +0000 +++ log/5/check-generated 2024-12-15 02:03:29.910418808 +0000 @@ -1 +0,0 @@ -Retry-After 172066[LF] == Contents of files in the log/5/ dir after test 1596 === Start of file check-expected Retry-After 172066[LF] === End of file check-expected === Start of file http_server.log 02:03:29.023652 ====> Client connect 02:03:29.023683 accept_connection 3 returned 4 02:03:29.023700 accept_connection 3 returned 0 02:03:29.023715 Read 93 bytes 02:03:29.023726 Process 93 bytes request 02:03:29.023740 Got request: GET /verifiedserver HTTP/1.1 02:03:29.023750 Are-we-friendly question received 02:03:29.023773 Wrote request (93 bytes) input to log/5/server.input 02:03:29.023790 Identifying ourselves as friends 02:03:29.023857 Response sent (57 bytes) and written to log/5/server.response 02:03:29.023868 special request received, no persistency 02:03:29.023877 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 1596 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file stderr1596 URL: http://127.0.0.1:34719/1596 === End of file stderr1596 === Start of file valgrind1596 ==158893== ==158893== Process terminating with default action of signal 4 (SIGILL) ==158893== Illegal opcode at address 0x48EA16B ==158893== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158893== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158893== by 0x48EA16B: Curl_open (url.c:519) ==158893== by 0x4880EEF: curl_easy_init (easy.c:370) ==158893== by 0x10909B: UnknownInlinedFun (lib1594.c:40) ==158893== by 0x10909B: UnknownInlinedFun (lib1594.c:31) ==158893== by 0x10909B: main (first.c:220) ==158893== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158893== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158893== by 0x4A6D258: __tsearch (tsearch.c:337) ==158893== by 0x4A6D258: tsearch (tsearch.c:290) ==158893== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158893== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158893== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158893== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158893== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158893== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158893== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158893== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158893== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158893== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158893== by 0x498986B: setlocale (setlocale.c:337) ==158893== by 0x109056: main (first.c:160) ==158893== ==158893== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158893== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158893== by 0x4A6D258: __tsearch (tsearch.c:337) ==158893== by 0x4A6D258: tsearch (tsearch.c:290) ==158893== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158893== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158893== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158893== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158893== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158893== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158893== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158893== by 0x498986B: setlocale (setlocale.c:337) ==158893== by 0x109056: main (first.c:160) ==158893== ==158893== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158893== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158893== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158893== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158893== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158893== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158893== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158893== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158893== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158893== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158893== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158893== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158893== by 0x498986B: setlocale (setlocale.c:337) ==158893== by 0x109056: main (first.c:160) ==158893== ==158893== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158893== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158893== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158893== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158893== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158893== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158893== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158893== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158893== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158893== by 0x498986B: setlocale (setlocale.c:337) ==158893== by 0x109056: main (first.c:160) ==158893== ==158893== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158893== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158893== by 0x48EA143: Curl_open (url.c:510) ==158893== by 0x4880EEF: curl_easy_init (easy.c:370) ==158893== by 0x10909B: UnknownInlinedFun (lib1594.c:40) ==158893== by 0x10909B: UnknownInlinedFun (lib1594.c:31) ==158893== by 0x10909B: main (first.c:220) ==158893== ==158893== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158893== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158893== by 0x4A6D258: __tsearch (tsearch.c:337) ==158893== by 0x4A6D258: tsearch (tsearch.c:290) ==158893== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158893== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158893== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158893== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158893== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158893== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158893== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158893== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158893== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158893== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158893== by 0x498986B: setlocale (setlocale.c:337) ==158893== by 0x109056: main (first.c:160) ==158893== ==158893== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158893== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158893== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158893== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158893== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158893== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158893== by 0x497DF71: gconCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1633 ../src/curl -q --output log/1/curl1633.out --include --trace-ascii log/1/trace1633 --trace-config all --trace-time http://127.0.0.1:34215/1633 -d moo --retry 1 -L > log/1/stdout1633 2> log/1/stderr1633 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1635 ../src/curl -q --trace-ascii log/8/trace1635 --trace-config all --trace-time http://127.0.0.1:38805/1635 --retry 1 --fail-with-body > log/8/stdout1635 2> log/8/stderr1635 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1634 ../src/curl -q --output log/11/curl1634.out --include --trace-ascii log/11/trace1634 --trace-config all --trace-time http://127.0.0.1:44137/1634 --retry 1 --fail > log/11/stdout1634 2> log/11/stderr1634 v_parseconfdir (gconv_parseconfdir.h:170) ==158893== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158893== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158893== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158893== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158893== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158893== by 0x498986B: setlocale (setlocale.c:337) ==158893== by 0x109056: main (first.c:160) ==158893== === End of file valgrind1596 test 1613...[Send "OPTIONS *" with --request-target to a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1613 ../src/curl -q --output log/4/curl1613.out --include --trace-ascii log/4/trace1613 --trace-config all --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:36813/ -H "Testno: 1613" http://www.example.org/ > log/4/stdout1613 2> log/4/stderr1613 1613: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 1613 === Start of file http_server.log 02:03:29.489409 ====> Client connect 02:03:29.489443 accept_connection 3 returned 4 02:03:29.489460 accept_connection 3 returned 0 02:03:29.489475 Read 93 bytes 02:03:29.489487 Process 93 bytes request 02:03:29.489502 Got request: GET /verifiedserver HTTP/1.1 02:03:29.489513 Are-we-friendly question received 02:03:29.489536 Wrote request (93 bytes) input to log/4/server.input 02:03:29.489556 Identifying ourselves as friends 02:03:29.489628 Response sent (56 bytes) and written to log/4/server.response 02:03:29.489642 special request received, no persistency 02:03:29.489652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 1613 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind1613 ==159043== ==159043== Process terminating with default action of signal 4 (SIGILL) ==159043== Illegal opcode at address 0x10B08D ==159043== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159043== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1613 test 1633...[--retry with a 429 response and Retry-After:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1633 ../src/curl -q --output log/1/curl1633.out --include --trace-ascii log/1/trace1633 --trace-config all --trace-time http://127.0.0.1:34215/1633 -d moo --retry 1 -L > log/1/stdout1633 2> log/1/stderr1633 1633: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 1633 === Start of file http_server.log 02:03:29.666102 ====> Client connect 02:03:29.666134 accept_connection 3 returned 4 02:03:29.666152 accept_connection 3 returned 0 02:03:29.666166 Read 93 bytes 02:03:29.666177 Process 93 bytes request 02:03:29.666191 Got request: GET /verifiedserver HTTP/1.1 02:03:29.666201 Are-we-friendly question received 02:03:29.666224 Wrote request (93 bytes) input to log/1/server.input 02:03:29.666243 Identifying ourselves as friends 02:03:29.666310 Response sent (56 bytes) and written to log/1/server.response 02:03:29.666322 special request received, no persistency 02:03:29.666332 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 1633 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind1633 ==159197== ==159197== Process terminating with default action of signal 4 (SIGILL) ==159197== Illegal opcode at address 0x10B08D ==159197== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159197== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1633 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1670 ../src/curl -q --include --trace-ascii log/12/trace1670 --trace-config all --trace-time http://127.0.0.1:40653/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/12/1670.out > log/12/stdout1670 2> log/12/stderr1670 test 1635...[--retry with a 429 response and Retry-After: and --fail-with-body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1635 ../src/curl -q --trace-ascii log/8/trace1635 --trace-config all --trace-time http://127.0.0.1:38805/1635 --retry 1 --fail-with-body > log/8/stdout1635 2> log/8/stderr1635 1635: stdout FAILED: --- log/8/check-expected 2024-12-15 02:03:30.107088965 +0000 +++ log/8/check-generated 2024-12-15 02:03:30.107088965 +0000 @@ -1,2 +0,0 @@ -moo[LF] -hey[LF] == Contents of files in the log/8/ dir after test 1635 === Start of file check-expected moo[LF] hey[LF] === End of file check-expected === Start of file http_server.log 02:03:29.698542 ====> Client connect 02:03:29.698577 accept_connection 3 returned 4 02:03:29.698596 accept_connection 3 returned 0 02:03:29.698611 Read 93 bytes 02:03:29.698622 Process 93 bytes request 02:03:29.698637 Got request: GET /verifiedserver HTTP/1.1 02:03:29.698647 Are-we-friendly question received 02:03:29.698671 Wrote request (93 bytes) input to log/8/server.input 02:03:29.698694 Identifying ourselves as friends 02:03:29.698774 Response sent (57 bytes) and written to log/8/server.response 02:03:29.698786 special request received, no persistency 02:03:29.698796 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 1635 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file valgrind1635 ==159262== ==159262== Process terminating with default action of signal 4 (SIGILL) ==159262== Illegal opcode at address 0x10B08D ==159262== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159262== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1635 test 1634...[--retry with a 429 response and Retry-After: and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1634 ../src/curl -q --output log/11/curl1634.out --include --trace-ascii log/11/trace1634 --trace-config all --trace-time http://127.0.0.1:44137/1634 --retry 1 --fail > log/11/stdout1634 2> log/11/stderr1634 1634: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1634 === Start of file http_server.log 02:03:29.689086 ====> Client connect 02:03:29.689118 accept_connection 3 returned 4 02:03:29.689135 accept_connection 3 returned 0 02:03:29.689150 Read 93 bytes 02:03:29.689161 Process 93 bytes request 02:03:29.689176 Got request: GET /verifiedserver HTTP/1.1 02:03:29.689186 Are-we-friendly question received 02:03:29.689214 Wrote request (93 bytes) input to log/11/server.input 02:03:29.689233 Identifying ourselves as friends 02:03:29.689308 Response sent (56 bytes) and written to log/11/server.response 02:03:29.689320 special request received, no persistency 02:03:29.689329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1634 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind1634 ==159242== ==159242== Process terminating with default action of signal 4 (SIGILL) ==159242== Illegal opcode at address 0x10B08D ==159242== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159242== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1634 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1671 ../src/curl -q --include --trace-ascii log/2/trace1671 --trace-config all --trace-time http://127.0.0.1:38781/1671 -w '%{header_json}\n' -o log/2/1671.out > log/2/stdout1671 2> log/2/stderr1671 test 1670...[-w individual header output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1670 ../src/curl -q --include --trace-ascii log/12/trace1670 --trace-config all --trace-time http://127.0.0.1:40653/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/12/1670.out > log/12/stdout1670 2> log/12/stderr1670 1670: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:30.117089144 +0000 +++ log/12/check-generated 2024-12-15 02:03:30.117089144 +0000 @@ -1 +0,0 @@ -"21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] == Contents of files in the log/12/ dir after test 1670 === Start of file check-expected "21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] === End of file check-expected === Start of file http_server.log 02:03:29.708352 ====> Client connect 02:03:29.708384 accept_connection 3 returned 4 02:03:29.708400 accept_connection 3 returned 0 02:03:29.708413 Read 93 bytes 02:03:29.708424 Process 93 bytes request 02:03:29.708436 Got request: GET /verifiedserver HTTP/1.1 02:03:29.708446 Are-we-friendly question received 02:03:29.708471 Wrote request (93 bytes) input to log/12/server.input 02:03:29.708496 Identifying ourselves as friends 02:03:29.708564 Response sent (56 bytes) and written to log/12/server.response 02:03:29.708575 special request received, no persistency 02:03:29.708585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1670 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind1670 ==159299== ==159299== Process terminating with default action of signal 4 (SIGILL) ==159299== Illegal opcode at address 0x10B08D ==159299== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159299== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1670 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/11 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/11/stdout1705 2> log/11/stderr1705 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1598 ./libtest/lib1598 http://127.0.0.1:42929/bzz/1598 log/10/stdout1598 2> log/10/stderr1598 test 1671...[-w header JSON output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1671 ../src/curl -q --include --trace-ascii log/2/trace1671 --trace-config all --trace-time http://127.0.0.1:38781/1671 -w '%{header_json}\n' -o log/2/1671.out > log/2/stdout1671 2> log/2/stderr1671 1671: stdout FAILED: --- log/2/check-expected 2024-12-15 02:03:30.120422535 +0000 +++ log/2/check-generated 2024-12-15 02:03:30.120422535 +0000 @@ -1,11 +0,0 @@ -{"date":["Tue, 09 Nov 2010 14:49:00 GMT"],[CR][LF] -"server":["test-server/fake"],[CR][LF] -"last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],[CR][LF] -"etag":["\"21025-dc7-39462498\""],[CR][LF] -"accept-ranges":["bytes"],[CR][LF] -"set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],[CR][LF] -"funny-head":["yesyes"],[CR][LF] -"content-type":["text/html"],[CR][LF] -"content-length":["6"],[CR][LF] -"connection":["close"][CR][LF] -}[CR][LF] == Contents of files in the log/2/ dir after test 1671 === Start of file check-expected {"date":["Tue, 09 Nov 2010 14:49:00 GMT"],[CR][LF] "server":["test-server/fake"],[CR][LF] "last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],[CR][LF] "etag":["\"21025-dc7-39462498\""],[CR][LF] "accept-ranges":["bytes"],[CR][LF] "set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],[CR][LF] "funny-head":["yesyes"],[CR][LF] "content-type":["text/html"],[CR][LF] "content-length":["6"],[CR][LF] "connection":["close"][CR][LF] }[CR][LF] === End of file check-expected === Start of file http_server.log 02:03:29.707141 ====> Client connect 02:03:29.707175 accept_connection 3 returned 4 02:03:29.707192 accept_connection 3 returned 0 02:03:29.707207 Read 93 bytes 02:03:29.707218 Process 93 bytes request 02:03:29.707232 Got request: GET /verifiedserver HTTP/1.1 02:03:29.707242 Are-we-friendly question received 02:03:29.707285 Wrote request (93 bytes) input to log/2/server.input 02:03:29.707302 Identifying ourselves as friends 02:03:29.707373 Response sent (56 bytes) and written to log/2/server.response 02:03:29.707384 special request received, no persistency 02:03:29.707394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1671 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1671 ==159300== ==159300== Process terminating with default action of signal 4 (SIGILL) ==159300== Illegal opcode at address 0x10B08D ==159300== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159300== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1671 * starts no server test 1705...[managen makes manpage] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/11 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/11/stdout1705 2> log/11/stderr1705 valgrind SKIPPED sr-----e--- OK (1435 out of 1584, remaining: 00:14, took 0.052s, duration: 02:22) test 1598...[HTTP POST with trailers at the end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1598 ./libtest/lib1598 http://127.0.0.1:42929/bzz/1598 log/10/stdout1598 2> log/10/stderr1598 1598: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1598 === Start of file http_server.log 02:03:29.331873 ====> Client connect 02:03:29.331915 accept_connection 3 returned 4 02:03:29.331934 accept_connection 3 returned 0 02:03:29.331950 Read 93 bytes 02:03:29.331962 Process 93 bytes request 02:03:29.331977 Got request: GET /verifiedserver HTTP/1.1 02:03:29.331990 Are-we-friendly question received 02:03:29.332013 Wrote request (93 bytes) input to log/10/server.input 02:03:29.332030 Identifying ourselves as friends 02:03:29.332111 Response sent (56 bytes) and written to log/10/server.response 02:03:29.332123 special request received, no persistency 02:03:29.332132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1598 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr1598 URL: http://127.0.0.1:42929/bzz/1598 === End of file stderr1598 === Start of file stdin-for-1598 more than one byte === End of file stdin-for-1598 === Start of file valgrind1598 ==158977== ==158977== Process terminating with default action of signal 4 (SIGILL) ==158977== Illegal opcode at address 0x48EA16B ==158977== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==158977== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==158977== by 0x48EA16B: Curl_open (url.c:519) ==158977== by 0x4880EEF: curl_easy_init (easy.c:370) ==158977== by 0x10908F: UnknownInlinedFun (lib1598.c:70) ==158977== by 0x10908F: main (first.c:220) ==158977== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==158977== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158977== by 0x4A6D258: __tsearch (tsearch.c:337) ==158977== by 0x4A6D258: tsearch (tsearch.c:290) ==158977== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158977== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158977== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158977== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158977== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158977== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158977== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158977== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158977== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158977== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158977== by 0x498986B: setlocale (setlocale.c:337) ==158977== by 0x10904B: main (first.c:160) ==158977== ==158977== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==158977== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158977== by 0x4A6D258: __tsearch (tsearch.c:337) ==158977== by 0x4A6D258: tsearch (tsearch.c:290) ==158977== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158977== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158977== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158977== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158977== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158977== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158977== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158977== by 0x498986B: setlocale (setlocale.c:337) ==158977== by 0x10904B: main (first.c:160) =CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/12 ascii option1.md option2.md > log/12/stdout1706 2> log/12/stderr1706 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1682 ../src/curl -q --include --trace-ascii log/3/trace1682 --trace-config all --trace-time http://127.0.0.1:34527/1682 --output-dir log/3 -o exist1682 --no-clobber > log/3/stdout1682 2> log/3/stderr1682 =158977== ==158977== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==158977== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158977== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158977== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158977== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158977== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158977== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==158977== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==158977== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158977== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158977== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158977== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158977== by 0x498986B: setlocale (setlocale.c:337) ==158977== by 0x10904B: main (first.c:160) ==158977== ==158977== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==158977== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158977== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158977== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==158977== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==158977== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158977== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158977== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158977== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158977== by 0x498986B: setlocale (setlocale.c:337) ==158977== by 0x10904B: main (first.c:160) ==158977== ==158977== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==158977== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==158977== by 0x48EA143: Curl_open (url.c:510) ==158977== by 0x4880EEF: curl_easy_init (easy.c:370) ==158977== by 0x10908F: UnknownInlinedFun (lib1598.c:70) ==158977== by 0x10908F: main (first.c:220) ==158977== ==158977== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==158977== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158977== by 0x4A6D258: __tsearch (tsearch.c:337) ==158977== by 0x4A6D258: tsearch (tsearch.c:290) ==158977== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==158977== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158977== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158977== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158977== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158977== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158977== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158977== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158977== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158977== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158977== by 0x498986B: setlocale (setlocale.c:337) ==158977== by 0x10904B: main (first.c:160) ==158977== ==158977== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==158977== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==158977== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==158977== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==158977== by 0x497DBB2: add_alias (gconv_conf.c:178) ==158977== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==158977== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==158977== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==158977== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==158977== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==158977== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==158977== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==158977== by 0x498986B: setlocale (setlocale.c:337) ==158977== by 0x10904B: main (first.c:160) ==158977== === End of file valgrind1598 * starts no server test 1706...[managen makes ASCII page] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/12 ascii option1.md option2.md > log/12/stdout1706 2> log/12/stderr1706 valgrind SKIPPED sr-----e--- OK (1436 out of 1584, remaining: 00:14, took 0.055s, duration: 02:22) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1681 ../src/curl -q --include --trace-ascii log/7/trace1681 --trace-config all --trace-time http://127.0.0.1:43753/1681 -o log/7/exist1681 --no-clobber -w '%{filename_effective}\n' > log/7/stdout1681 2> log/7/stderr1681 test 1682...[HTTP GET without clobber and --output-dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1682 ../src/curl -q --include --trace-ascii log/3/trace1682 --trace-config all --trace-time http://127.0.0.1:34527/1682 --output-dir log/3 -o exist1682 --no-clobber > log/3/stdout1682 2> log/3/stderr1682 1682: output (log/3/exist1682.1) FAILED: --- log/3/check-expected 2024-12-15 02:03:30.413761078 +0000 +++ log/3/check-generated 2024-12-15 02:03:30.413761078 +0000 @@ -1,6 +0,0 @@ -HTTP/1.0 200 OK[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -Content-Length: 4[LF] -[LF] -foo[LF] == Contents of files in the log/3/ dir after test 1682 === Start of file check-expected HTTP/1.0 200 OK[LF] Connection: close[LF] Content-Type: text/plain[LF] Content-Length: 4[LF] [LF] foo[LF] === End of file check-expected === Start of file exist1682 to stay the same === End of file exist1682 === Start of file http_server.log 02:03:29.945253 ====> Client connect 02:03:29.945293 accept_connection 3 returned 4 02:03:29.945310 accept_connection 3 returned 0 02:03:29.945325 Read 93 bytes 02:03:29.945336 Process 93 bytes request 02:03:29.945350 Got request: GET /verifiedserver HTTP/1.1 02:03:29.945360 Are-we-friendly question received 02:03:29.945383 Wrote request (93 bytes) input to log/3/server.input 02:03:29.945401 Identifying ourselves as friends 02:03:29.945469 Response sent (56 bytes) and written to log/3/server.response 02:03:29.945480 special request received, no persistency 02:03:29.945490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 1682 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1682 ==159592== ==159592== Process terminating with default action of signal 4 (SIGILL) ==159592== Illegal opcode at address 0x10B08D ==159592== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159592== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1682 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1680 ../src/curl -q --include --trace-ascii log/6/trace1680 --trace-config all --trace-time http://127.0.0.1:39167/1680 -o log/6/exist1680 --clobber > log/6/stdout1680 2> log/6/stderr1680 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1683 ../src/curl -q --include --trace-ascii log/9/trace1683 --trace-config all --trace-time http://127.0.0.1:38509/1683 -o log/9/exist1683 --no-clobber > log/9/stdout1683 2> log/9/stderr1683 test 1681...[HTTP GET without clobber] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1681 ../src/curl -q --include --trace-ascii log/7/trace1681 --trace-config all --trace-time http://127.0.0.1:43753/1681 -o log/7/exist1681 --no-clobber -w '%{filename_effective}\n' > log/7/stdout1681 2> log/7/stderr1681 1681: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:30.420427862 +0000 +++ log/7/check-generated 2024-12-15 02:03:30.420427862 +0000 @@ -1 +0,0 @@ -log/7/exist1681.1[CR][LF] == Contents of files in the log/7/ dir after test 1681 === Start of file check-expected log/7/exist1681.1[CR][LF] === End of file check-expected === Start of file exist1681 to stay the same === End of file exist1681 === Start of file http_server.log 02:03:29.929794 ====> Client connect 02:03:29.929833 accept_connection 3 returned 4 02:03:29.929850 accept_connection 3 returned 0 02:03:29.929864 Read 93 bytes 02:03:29.929876 Process 93 bytes request 02:03:29.929891 Got request: GET /verifiedserver HTTP/1.1 02:03:29.929902 Are-we-friendly question received 02:03:29.929929 Wrote request (93 bytes) input to log/7/server.input 02:03:29.929947 Identifying ourselves as friends 02:03:29.930017 Response sent (56 bytes) and written to log/7/server.response 02:03:29.930030 special request received, no persistency 02:03:29.930040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1681 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind1681 ==159555== ==159555== Process terminating with default action of signal 4 (SIGILL) ==159555== Illegal opcode at address 0x10B08D ==159555== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159555== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1681 CMD (0): /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/9/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' test 1680...[HTTP GET with explicit clobber] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1680 ../src/curl -q --include --trace-ascii log/6/trace1680 --trace-config all --trace-time http://127.0.0.1:39167/1680 -o log/6/exist1680 --clobber > log/6/stdout1680 2> log/6/stderr1680 1680: output (log/6/exist1680) FAILED: --- log/6/check-expected 2024-12-15 02:03:30.427094647 +0000 +++ log/6/check-generated 2024-12-15 02:03:30.427094647 +0000 @@ -1,6 +1 @@ -HTTP/1.0 200 OK[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -Content-Length: 4[LF] -[LF] -foo[LF] +to be overwritten[LF] == Contents of files in the log/6/ dir after test 1680 === Start of file check-expected HTTP/1.0 200 OK[LF] Connection: close[LF] Content-Type: text/plain[LF] Content-Length: 4[LF] [LF] foo[LF] === End of file check-expected === Start of file check-generated to be overwritten[LF] === End of file check-generated === Start of file exist1680 to be overwritten === End of file exist1680 === Start of file http_server.log 02:03:29.897759 ====> Client connect 02:03:29.897789 accept_connection 3 returned 4 02:03:29.897805 accept_connection 3 returned 0 02:03:29.897819 Read 93 bytes 02:03:29.897830 Process 93 bytes request 02:03:29.897843 Got request: GET /verifiedserver HTTP/1.1 02:03:29.897853 Are-we-friendly question received 02:03:29.897875 Wrote request (93 bytes) input to log/6/server.input 02:03:29.897892 Identifying ourselves as friends 02:03:29.897953 Response sent (57 bytes) and written to log/6/server.response 02:03:29.897963 special request received, no persistency 02:03:29.897973 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 1680 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file valgrind1680 ==159506== ==159506== Process terminating with default action of signal 4 (SIGILL) ==159506== Illegal opcode at address 0x10B08D ==159506== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159506== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1680 prechecked /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/9/exist1683.$i"; open(FH, ">", $filename) or die $!; print FH "to stay the same" ; close(FH) }' test 1683...[HTTP GET without clobber when 100 files already exist] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1683 ../src/curl -q --include --trace-ascii log/9/trace1683 --trace-config all --trace-time http://127.0.0.1:38509/1683 -o log/9/exist1683 --no-clobber > log/9/stdout1683 2> log/9/stderr1683 postcheck /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/9/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' curl returned 132, when expecting 23 1683: exit FAILED == Contents of files in the log/9/ dir after test 1683 === Start of file exist1683 to stay the same === End of file exist1683 === Start of file exist1683.1 to stay the same === End of file exist1683.1 === Start of file exist1683.10 to stay the same === End of file exist1683.10 === Start of file exist1683.100 to stay the same === End of file exist1683.100 === Start of file exist1683.11 to stay the same === End of file exist1683.11 === Start of file exist1683.12 to stay the same === End of file exist1683.12 === Start of file exist1683.13 to stay the same === End of file exist1683.13 === Start of file exist1683.14 to stay the same === End of file exist1683.14 === Start of file exist1683.15 to stay the same === End of file exist1683.15 === Start of file exist1683.16 to stay the same === End of file exist1683.16 === Start of file exist1683.17 to stay the same === End of file exist1683.17 === Start of file exist1683.18 to stay the same === End of file exist1683.18 === Start of file exist1683.19 to stay the same === End of file exist1683.19 === Start of file exist1683.2 to stay the same === End of file exist1683.2 === Start of file exist1683.20 to stay the same === End of file exist1683.20 === Start of file exist1683.21 to stay the same === End of file exist1683.21 === Start of file exist1683.22 to stay the same === End of file exist1683.22 === Start of file exist1683.23 to stay the same === End of file exist1683.23 === Start of file exist1683.24 to stay the same === End of file exist1683.24 === Start of file exist1683.25 to stay the same === End of file exist1683.25 === Start of file exist1683.26 to stay the same === End of file exist1683.26 === Start of file exist1683.27 to stay the same === End of file exist1683.27 === Start of file exist1683.28 to stay the same === End of file exist1683.28 === Start of file exist1683.29 to stay the same === End of file exist1683.29 === Start of file exist1683.3 to stay the same === End of file exist1683.3 === Start of file exist1683.30 to stay the same === End of file exist1683.30 === Start of file exist1683.31 to stay the same === End of file exist1683.31 === Start of file exist1683.32 to stay the same === End of file exist1683.32 === Start of file exist1683.33 to stay the same === End of file exist1683.33 === Start of file exist1683.34 to stay the same === End of file exist1683.34 === Start of file exist1683.35 to stay the same === End of file exist1683.35 === Start of file exist1683.36 to stay the same === End of file exist1683.36 === Start of file exist1683.37 to stay the same === End of file exist1683.37 === Start of file exist1683.38 to stay the same === End of file exist1683.38 === Start of file exist1683.39 to stay the same === End of file exist1683.39 === Start of file exist1683.4 to stay the same === End of file exist1683.4 === Start of file exist1683.40 to stay the same === End of file exist1683.40 === Start of file exist1683.41 to stay the same === End of file exist1683.41 === Start of file exist1683.42 to stay the same === End of file exist1683.42 === Start of file exist1683.43 to stay the same === End of file exist1683.43 === Start of file exist1683.44 to stay the same === End of file exist1683.44 === Start of file exist1683.45 to stay the same === End of file exist1683.45 === Start of file exist1683.46 to stay the same === End of file exist1683.46 === Start of file exist1683.47 to stay the same === End of file exist1683.47 === Start of file exist1683.48 to stay the same === End of file exist1683.48 === Start of file exist1683.49 to stay the same === End of file exist1683.49 === Start of file exist1683.5 to stay the same === End of file exist1683.5 === Start of file exist1683.50 to stay the same === End of file exist1683.50 === Start of file exist1683.51 to stay the same === End of file exist1683.51 === Start of file exist1683.52 to stay the same === End of file exist1683.52 === Start of file exist1683.53 to stay the same === End of file exist1683.53 === Start of file exist1683.54 to stay the same === End of file exist1683.54 === Start of file exist1683.55 to stay the same === End of file exist1683.55 === Start of file exist1683.56 to stay the same === End of file exist1683.56 === Start of file exist1683.57 to stay the same === End of file exist1683.57 === Start of file exist1683.58 to stay the same === End of file exist1683.58 === Start of file exist1683.59 to stay the same === End of file exist1683.59 === Start of file exist168CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1704 ../src/curl -q --output log/8/curl1704.out --include --trace-ascii log/8/trace1704 --trace-config all --trace-time http://127.0.0.1:38805/1704 --http2 > log/8/stdout1704 2> log/8/stderr1704 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1800 ../src/curl -q --output log/2/curl1800.out --include --trace-ascii log/2/trace1800 --trace-config all --trace-time http://127.0.0.1:38781/1800 --http2 > log/2/stdout1800 2> log/2/stderr1800 3.6 to stay the same === End of file exist1683.6 === Start of file exist1683.60 to stay the same === End of file exist1683.60 === Start of file exist1683.61 to stay the same === End of file exist1683.61 === Start of file exist1683.62 to stay the same === End of file exist1683.62 === Start of file exist1683.63 to stay the same === End of file exist1683.63 === Start of file exist1683.64 to stay the same === End of file exist1683.64 === Start of file exist1683.65 to stay the same === End of file exist1683.65 === Start of file exist1683.66 to stay the same === End of file exist1683.66 === Start of file exist1683.67 to stay the same === End of file exist1683.67 === Start of file exist1683.68 to stay the same === End of file exist1683.68 === Start of file exist1683.69 to stay the same === End of file exist1683.69 === Start of file exist1683.7 to stay the same === End of file exist1683.7 === Start of file exist1683.70 to stay the same === End of file exist1683.70 === Start of file exist1683.71 to stay the same === End of file exist1683.71 === Start of file exist1683.72 to stay the same === End of file exist1683.72 === Start of file exist1683.73 to stay the same === End of file exist1683.73 === Start of file exist1683.74 to stay the same === End of file exist1683.74 === Start of file exist1683.75 to stay the same === End of file exist1683.75 === Start of file exist1683.76 to stay the same === End of file exist1683.76 === Start of file exist1683.77 to stay the same === End of file exist1683.77 === Start of file exist1683.78 to stay the same === End of file exist1683.78 === Start of file exist1683.79 to stay the same === End of file exist1683.79 === Start of file exist1683.8 to stay the same === End of file exist1683.8 === Start of file exist1683.80 to stay the same === End of file exist1683.80 === Start of file exist1683.81 to stay the same === End of file exist1683.81 === Start of file exist1683.82 to stay the same === End of file exist1683.82 === Start of file exist1683.83 to stay the same === End of file exist1683.83 === Start of file exist1683.84 to stay the same === End of file exist1683.84 === Start of file exist1683.85 to stay the same === End of file exist1683.85 === Start of file exist1683.86 to stay the same === End of file exist1683.86 === Start of file exist1683.87 to stay the same === End of file exist1683.87 === Start of file exist1683.88 to stay the same === End of file exist1683.88 === Start of file exist1683.89 to stay the same === End of file exist1683.89 === Start of file exist1683.9 to stay the same === End of file exist1683.9 === Start of file exist1683.90 to stay the same === End of file exist1683.90 === Start of file exist1683.91 to stay the same === End of file exist1683.91 === Start of file exist1683.92 to stay the same === End of file exist1683.92 === Start of file exist1683.93 to stay the same === End of file exist1683.93 === Start of file exist1683.94 to stay the same === End of file exist1683.94 === Start of file exist1683.95 to stay the same === End of file exist1683.95 === Start of file exist1683.96 to stay the same === End of file exist1683.96 === Start of file exist1683.97 to stay the same === End of file exist1683.97 === Start of file exist1683.98 to stay the same === End of file exist1683.98 === Start of file exist1683.99 to stay the same === End of file exist1683.99 === Start of file http_server.log 02:03:30.046692 ====> Client connect 02:03:30.046726 accept_connection 3 returned 4 02:03:30.046743 accept_connection 3 returned 0 02:03:30.046757 Read 93 bytes 02:03:30.046767 Process 93 bytes request 02:03:30.046782 Got request: GET /verifiedserver HTTP/1.1 02:03:30.046791 Are-we-friendly question received 02:03:30.046816 Wrote request (93 bytes) input to log/9/server.input 02:03:30.046833 Identifying ourselves as friends 02:03:30.046898 Response sent (56 bytes) and written to log/9/server.response 02:03:30.046909 special request received, no persistency 02:03:30.046919 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1683 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind1683 ==159702== ==159702== Process terminating with default action of signal 4 (SIGILL) ==159702== Illegal opcode at address 0x10B08D ==159702== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159702== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1683 test 1704...[HTTP/1 doing HTTP/2 Upgrade: getting a HTTP/2 101 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1704 ../src/curl -q --output log/8/curl1704.out --include --trace-ascii log/8/trace1704 --trace-config all --trace-time http://127.0.0.1:38805/1704 --http2 > log/8/stdout1704 2> log/8/stderr1704 1704: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1704 === Start of file http_server.log 02:03:30.337640 ====> Client connect 02:03:30.337671 accept_connection 3 returned 4 02:03:30.337687 accept_connection 3 returned 0 02:03:30.337701 Read 93 bytes 02:03:30.337711 Process 93 bytes request 02:03:30.337725 Got request: GET /verifiedserver HTTP/1.1 02:03:30.337735 Are-we-friendly question received 02:03:30.337758 Wrote request (93 bytes) input to log/8/server.input 02:03:30.337775 Identifying ourselves as friends 02:03:30.337841 Response sent (57 bytes) and written to log/8/server.response 02:03:30.337852 special request received, no persistency 02:03:30.337863 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 1704 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file valgrind1704 ==159845== ==159845== Process terminating with default action of signal 4 (SIGILL) ==159845== Illegal opcode at address 0x10B08D ==159845== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159845== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1704 test 1800...[HTTP/2 upgrade refused] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1800 ../src/curl -q --output log/2/curl1800.out --include --trace-ascii log/2/trace1800 --trace-config all --trace-time http://127.0.0.1:38781/1800 --http2 > log/2/stdout1800 2> log/2/stderr1800 1800: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1800 === Start of file http_server.log 02:03:30.355142 ====> Client connect 02:03:30.355184 accept_connection 3 returned 4 02:03:30.355201 accept_connection 3 returned 0 02:03:30.355214 RCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1904 ../src/curl -q --output log/3/curl1904.out --include --trace-ascii log/3/trace1904 --trace-config all --trace-time http://test.1904:34527/we/want/that/page/1904 -p --proxy 127.0.0.1:35495 > log/3/stdout1904 2> log/3/stderr1904 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1900 ./libtest/lib1900 http://127.0.0.1:47/not-there/1900 > log/11/stdout1900 2> log/11/stderr1900 ead 93 bytes 02:03:30.355224 Process 93 bytes request 02:03:30.355238 Got request: GET /verifiedserver HTTP/1.1 02:03:30.355247 Are-we-friendly question received 02:03:30.355272 Wrote request (93 bytes) input to log/2/server.input 02:03:30.355288 Identifying ourselves as friends 02:03:30.355352 Response sent (56 bytes) and written to log/2/server.response 02:03:30.355363 special request received, no persistency 02:03:30.355372 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1800 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind1800 ==159870== ==159870== Process terminating with default action of signal 4 (SIGILL) ==159870== Illegal opcode at address 0x10B08D ==159870== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==159870== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1800 test 1904...[HTTP CONNECT with 204 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1904 ../src/curl -q --output log/3/curl1904.out --include --trace-ascii log/3/trace1904 --trace-config all --trace-time http://test.1904:34527/we/want/that/page/1904 -p --proxy 127.0.0.1:35495 > log/3/stdout1904 2> log/3/stderr1904 1904: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 1904 === Start of file http2_server.log 02:03:30.665843 ====> Client connect 02:03:30.665875 accept_connection 3 returned 4 02:03:30.665892 accept_connection 3 returned 0 02:03:30.665906 Read 93 bytes 02:03:30.665917 Process 93 bytes request 02:03:30.665930 Got request: GET /verifiedserver HTTP/1.1 02:03:30.665939 Are-we-friendly question received 02:03:30.665964 Wrote request (93 bytes) input to log/3/proxy.input 02:03:30.665981 Identifying ourselves as friends 02:03:30.666049 Response sent (57 bytes) and written to log/3/proxy.response 02:03:30.666061 special request received, no persistency 02:03:30.666071 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35495... * Connected to 127.0.0.1 (127.0.0.1) port 35495 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35495 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 112673 === End of file http2_verify.out === Start of file http_server.log 02:03:30.645203 ====> Client connect 02:03:30.645235 accept_connection 3 returned 4 02:03:30.645252 accept_connection 3 returned 0 02:03:30.645265 Read 93 bytes 02:03:30.645276 Process 93 bytes request 02:03:30.645291 Got request: GET /verifiedserver HTTP/1.1 02:03:30.645301 Are-we-friendly question received 02:03:30.645323 Wrote request (93 bytes) input to log/3/server.input 02:03:30.645340 Identifying ourselves as friends 02:03:30.645407 Response sent (56 bytes) and written to log/3/server.response 02:03:30.645418 special request received, no persistency 02:03:30.645428 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112673 === End of file proxy.response === Start of file server.cmd Testnum 1904 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind1904 ==160257== ==160257== Process terminating with default action of signal 4 (SIGILL) ==160257== Illegal opcode at address 0x10B08D ==160257== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==160257== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1904 * starts no server test 1900...[HSTS curl_easy_duphandle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1900 ./libtest/lib1900 http://127.0.0.1:47/not-there/1900 > log/11/stdout1900 2> log/11/stderr1900 lib1900 returned 132, when expecting 0 1900: exit FAILED == Contents of files in the log/11/ dir after test 1900 === Start of file server.cmd Testnum 1900 === End of file server.cmd === Start of file stderr1900 URL: http://127.0.0.1:47/not-there/1900 === End of file stderr1900 === Start of file valgrind1900 ==159902== ==159902== Process terminating with default action of signal 4 (SIGILL) ==159902== Illegal opcode at address 0x48EA16B ==159902== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==159902== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==159902== by 0x48EA16B: Curl_open (url.c:519) ==159902== by 0x4880EEF: curl_easy_init (easy.c:370) ==159902== by 0x10908B: UnknownInlinedFun (lib1900.c:38) ==159902== by 0x10908B: UnknownInlinedFun (lib1900.c:30) ==159902== by 0x10908B: main (first.c:220) ==159902== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==159902== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==159902== by 0x4A6D258: __tsearch (tsearch.c:337) ==159902== by 0x4A6D258: tsearch (tsearch.c:290) ==159902== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==159902== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==159902== by 0x497DBB2: add_alias (gconv_conf.c:178) ==159902== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==159902== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==159902== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==159902== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==159902== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==159902== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==159902== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==159902== by 0x498986B: setlocale (setlocale.c:337) ==159902== by 0x109045: main (first.c:160) ==159902== ==159902== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==159902== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==159902== by 0x4A6D258: __tsearch (tsearch.c:337) ==159902== by 0x4A6D258: tsearch (tsearch.c:290) ==159902== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==159902== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==159902== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==159902== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==159902== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==159902== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==159902== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==159902== by 0x498986B: setlocale (setlocale.c:337) ==159902== by 0x109045: main (first.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1907 ./libtest/lib1907 127.0.0.1:38509/hello/../1907 > log/9/stdout1907 2> log/9/stderr1907 c:160) ==159902== ==159902== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==159902== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==159902== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==159902== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==159902== by 0x497DBB2: add_alias (gconv_conf.c:178) ==159902== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==159902== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==159902== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==159902== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==159902== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==159902== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==159902== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==159902== by 0x498986B: setlocale (setlocale.c:337) ==159902== by 0x109045: main (first.c:160) ==159902== ==159902== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==159902== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==159902== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==159902== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==159902== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==159902== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==159902== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==159902== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==159902== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==159902== by 0x498986B: setlocale (setlocale.c:337) ==159902== by 0x109045: main (first.c:160) ==159902== ==159902== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==159902== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==159902== by 0x48EA143: Curl_open (url.c:510) ==159902== by 0x4880EEF: curl_easy_init (easy.c:370) ==159902== by 0x10908B: UnknownInlinedFun (lib1900.c:38) ==159902== by 0x10908B: UnknownInlinedFun (lib1900.c:30) ==159902== by 0x10908B: main (first.c:220) ==159902== ==159902== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==159902== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==159902== by 0x4A6D258: __tsearch (tsearch.c:337) ==159902== by 0x4A6D258: tsearch (tsearch.c:290) ==159902== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==159902== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==159902== by 0x497DBB2: add_alias (gconv_conf.c:178) ==159902== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==159902== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==159902== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==159902== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==159902== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==159902== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==159902== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==159902== by 0x498986B: setlocale (setlocale.c:337) ==159902== by 0x109045: main (first.c:160) ==159902== ==159902== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==159902== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==159902== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==159902== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==159902== by 0x497DBB2: add_alias (gconv_conf.c:178) ==159902== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==159902== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==159902== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==159902== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==159902== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==159902== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==159902== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==159902== by 0x498986B: setlocale (setlocale.c:337) ==159902== by 0x109045: main (first.c:160) ==159902== === End of file valgrind1900 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1906 ./libtest/lib1906 http://127.0.0.1:39167/1906 > log/6/stdout1906 2> log/6/stderr1906 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1903 ./libtest/lib1903 http://127.0.0.1:40653/we/want/1903 log/12/cookies1903 log/12/cookiesout1903 > log/12/stdout1903 2> log/12/stderr1903 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1901 ./libtest/lib1901 http://127.0.0.1:42929/boom > log/10/stdout1901 2> log/10/stderr1901 test 1907...[CURLINFO_EFFECTIVE_URL with non-scheme URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1907 ./libtest/lib1907 127.0.0.1:38509/hello/../1907 > log/9/stdout1907 2> log/9/stderr1907 1907: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:31.073772797 +0000 +++ log/9/check-generated 2024-12-15 02:03:31.073772797 +0000 @@ -1 +0,0 @@ -Effective URL: http://127.0.0.1:38509/1907[LF] == Contents of files in the log/9/ dir after test 1907 === Start of file check-expected Effective URL: http://127.0.0.1:38509/1907[LF] === End of file check-expected === Start of file http_server.log 02:03:30.660130 ====> Client connect 02:03:30.660155 accept_connection 3 returned 4 02:03:30.660168 accept_connection 3 returned 0 02:03:30.660179 Read 93 bytes 02:03:30.660187 Process 93 bytes request 02:03:30.660198 Got request: GET /verifiedserver HTTP/1.1 02:03:30.660206 Are-we-friendly question received 02:03:30.660225 Wrote request (93 bytes) input to log/9/server.input 02:03:30.660250 Identifying ourselves as friends 02:03:30.660301 Response sent (56 bytes) and written to log/9/server.response 02:03:30.660310 special request received, no persistency 02:03:30.660317 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 1907 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file stderr1907 URL: 127.0.0.1:38509/hello/../1907 === End of file stderr1907 === Start of file valgrind1907 ==160227== ==160227== Process terminating with default action of signal 4 (SIGILL) ==160227== Illegal opcode at address 0x1091E8 ==160227== at 0x1091E8: test (lib1907.c:35) ==160227== by 0x109076: main (first.c:220) ==160227== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==160227== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160227== by 0x4A6D258: __tsearch (tsearch.c:337) ==160227== by 0x4A6D258: tsearch (tsearch.c:290) ==160227== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160227== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160227== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160227== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160227== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160227== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160227== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160227== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160227== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160227== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160227== by 0x498986B: setlocale (setlocale.c:337) ==160227== by 0x109047: main (first.c:160) ==160227== ==160227== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==160227== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160227== by 0x4A6D258: __tsearch (tsearch.c:337) ==160227== by 0x4A6D258: tsearch (tsearch.c:290) ==160227== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160227== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160227== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160227== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160227== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160227== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160227== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160227== by 0x498986B: setlocale (setlocale.c:337) ==160227== by 0x109047: main (first.c:160) ==160227== ==160227== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==160227== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160227== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160227== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160227== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160227== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160227== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160227== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160227== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160227== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160227== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160227== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160227== by 0x498986B: setlocale (setlocale.c:337) ==160227== by 0x109047: main (first.c:160) ==160227== ==160227== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==160227== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160227== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160227== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160227== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160227== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160227== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160227== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160227== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160227== by 0x498986B: setlocale (setlocale.c:337) ==160227== by 0x109047: main (first.c:160) ==160227== ==160227== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==160227== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160227== by 0x4A6D258: __tsearch (tsearch.c:337) ==160227== by 0x4A6D258: tsearch (tsearch.c:290) ==160227== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160227== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160227== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160227== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160227== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160227== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160227== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160227== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160227== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160227== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160227== by 0x498986B: setlocale (setlocale.c:337) ==160227== by 0x109047: main (first.c:160) ==160227== ==160227== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==160227== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160227== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160227== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160227== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160227== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160227== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160227== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160227== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160227== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160227== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160227== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160227== by 0x498986B: setlocale (setlocale.c:337) ==160227== by 0x109047: main (first.c:160) ==160227== === End of file valgrind1907 test 1906...[CURLOPT_CURLU and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1906 ./libtest/lib1906 http://127.0.0.1:39167/1906 > log/6/stdout1906 2> log/6/stderr1906 1906: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1906 === Start of file http_server.log 02:03:30.655308 ====> Client connect 02:03:30.655336 accept_connection 3 returned 4 02:03:30.655352 accept_connection 3 returned 0 02:03:30.655365 Read 93 bytes 02:03:30.655375 Process 93 bytes request 02:03:30.655387 Got request: GET /verifiedserver HTTP/1.1 02:03:30.655397 Are-we-friendly question received 02:03:30.655418 Wrote request (93 bytes) input to log/6/server.input 02:03:30.655519 Identifying ourselves as friends 02:03:30.655603 Response sent (57 bytes) and written to log/6/server.response 02:03:30.655616 special request received, no persistency 02:03:30.655628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 1906 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr1906 URL: http://127.0.0.1:39167/1906 === End of file stderr1906 === Start of file valgrind1906 ==160203== ==160203== Process terminating with default action of signal 4 (SIGILL) ==160203== Illegal opcode at address 0x1091FB ==160203== at 0x1091FB: test (lib1906.c:35) ==160203== by 0x109076: main (first.c:220) ==160203== 88 bytes in 1 blocks are definitely lost in loss record 5 of 30 ==160203== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160203== by 0x1091F6: test (lib1906.c:34) ==160203== by 0x109076: main (first.c:220) ==160203== ==160203== 408 bytes in 17 blocks are possibly lost in loss record 10 of 30 ==160203== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160203== by 0x4A6D258: __tsearch (tsearch.c:337) ==160203== by 0x4A6D258: tsearch (tsearch.c:290) ==160203== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160203== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160203== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160203== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160203== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160203== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160203== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160203== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160203== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160203== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160203== by 0x498986B: setlocale (setlocale.c:337) ==160203== by 0x109047: main (first.c:160) ==160203== ==160203== 552 bytes in 23 blocks are possibly lost in loss record 12 of 30 ==160203== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160203== by 0x4A6D258: __tsearch (tsearch.c:337) ==160203== by 0x4A6D258: tsearch (tsearch.c:290) ==160203== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160203== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160203== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160203== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160203== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160203== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160203== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160203== by 0x498986B: setlocale (setlocale.c:337) ==160203== by 0x109047: main (first.c:160) ==160203== ==160203== 681 bytes in 17 blocks are possibly lost in loss record 15 of 30 ==160203== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160203== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160203== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160203== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160203== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160203== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160203== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160203== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160203== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160203== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160203== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160203== by 0x498986B: setlocale (setlocale.c:337) ==160203== by 0x109047: main (first.c:160) ==160203== ==160203== 1,018 bytes in 23 blocks are possibly lost in loss record 20 of 30 ==160203== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160203== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160203== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160203== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160203== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160203== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160203== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160203== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160203== by 0x498986B: setlocale (setlocale.c:337) ==160203== by 0x109047: main (first.c:160) ==160203== ==160203== 11,664 bytes in 486 blocks are possibly lost in loss record 27 of 30 ==160203== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160203== by 0x4A6D258: __tsearch (tsearch.c:337) ==160203== by 0x4A6D258: tsearch (tsearch.c:290) ==160203== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160203== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160203== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160203== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160203== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160203== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160203== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160203== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160203== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160203== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160203== by 0x498986B: setlocale (setlocale.c:337) ==160203== by 0x109047: main (first.c:160) ==160203== ==160203== 18,800 bytes in 486 blocks are possibly lost in loss record 29 of 30 ==160203== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160203== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160203== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160203== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160203== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160203== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160203== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160203== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160203== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160203== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160203== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160203== by 0x498986B: setlocale (setlocale.c:337) ==160203== by 0x109047: main (first.c:160) ==160203== === End of file valgrind1906 test 1901...[Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1901 ./libtest/lib1901 http://127.0.0.1:42929/boom > log/10/stdout1901 2> log/10/stderr1901 1901: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1901 === Start of file http_server.log 02:03:30.390794 ====> Client connect 02:03:30.390824 accept_connection 3 returned 4 02:03:30.390839 accept_connection 3 returned 0 02:03:30.390850 Read 93 bytes 02:03:30.390860 Process 93 bytes request 02:03:30.390873 Got request: GET /verifiedserver HTTP/1.1 02:03:30.390881 Are-we-friendly question received 02:03:30.390900 Wrote request (93 bytes) input to log/10/server.input 02:03:30.390914 Identifying ourselves as friends 02:03:30.390973 Response sent (56 bytes) and written to log/10/server.response 02:03:30.390985 special request received, no persistency 02:03:30.390995 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1901 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr1901 URL: http://127.0.0.1:42929/boom === End of file stderr1901 === Start of file valgrind1901 ==160011== ==160011== Process terminating with default action of signal 4 (SIGILL) ==160011== Illegal opcode at address 0x48EA16B ==160011== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160011== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160011== by 0x48EA16B: Curl_open (url.c:519) ==160011== by 0x4880EEF: curl_easy_init (easy.c:370) ==160011== by 0x109087: UnknownInlinedFun (lib1901.c:64) ==160011== by 0x109087: main (first.c:220) ==160011== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160011== by 0x4A6D258: __tsearch (tsearch.c:337) ==160011== by 0x4A6D258: tsearch (tsearch.c:290) ==160011== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160011== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160011== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160011== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160011== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160011== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160011== by 0x498986B: setlocale (setlocale.c:337) ==160011== by 0x10904B: main (first.c:160) ==160011== ==160011== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160011== by 0x4A6D258: __tsearch (tsearch.c:337) ==160011== by 0x4A6D258: tsearch (tsearch.c:290) ==160011== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160011== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160011== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160011== by 0x498986B: setlocale (setlocale.c:337) ==160011== by 0x10904B: main (first.c:160) ==160011== ==160011== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160011== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160011== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160011== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160011== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160011== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160011== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160011== by 0x498986B: setlocale (setlocale.c:337) ==160011== by 0x10904B: main (first.c:160) ==160011== ==160011== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160011== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160011== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160011== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160011== by 0x498986B: setlocale (setlocale.c:337) ==160011== by 0x10904B: main (first.c:160) ==160011== ==160011== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160011== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160011== by 0x48EA143: Curl_open (url.c:510) ==160011== by 0x4880EEF: curl_easy_init (easy.c:370) ==160011== by 0x109087: UnknownInlinedFun (lib1901.c:64) ==160011== by 0x109087: main (first.c:220) ==160011== ==160011== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160011== by 0x4A6D258: __tsearch (tsearch.c:337) ==160011== by 0x4A6D258: tsearch (tsearch.c:290) ==160011== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160011== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160011== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160011== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160011== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160011== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160011== by 0x498986B: setlocale (setlocale.c:337) ==160011== by 0x10904B: main (first.c:160) ==160011== ==160011== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160011== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160011== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160011== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160011== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160011== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160011== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160011== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160011== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160011== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160011== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160011== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160011== by 0x498986B: setlocale (setlocale.c:337) ==160011== by 0x10904B: main (first.c:160) ==160011== === End of file valgrind1901 test 1903...[CURLOPT_COOKIEFILE then reset then set again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1903 ./libtest/lib1903 http://127.0.0.1:40653/we/want/1903 log/12/cookies1903 log/12/cookiesout1903 > log/12/stdout1903 2> log/12/stderr1903 1903: output (log/12/cookiesout1903) FAILED: --- log/12/check-expected 2024-12-15 02:03:31.083772973 +0000 +++ log/12/check-generated 2024-12-15 02:03:31.083772973 +0000 @@ -1,6 +0,0 @@ -# Netscape HTTP Cookie File[CR][LF] -# https://curl.se/docs/http-cookies.html[CR][LF] -# This file was generated by libcurl! Edit at your own risk.[CR][LF] -[CR][LF] -127.0.0.1%09FALSE%09/we/want/%09FALSE%090%09foobar%09name[CR][LF] -127.0.0.1%09FALSE%09/we/want/%09FALSE%090%09secondcookie%09present[CR][LF] == Contents of files in the log/12/ dir after test 1903 === Start of file check-expected # Netscape HTTP Cookie File[CR][LF] # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] 127.0.0.1%09FALSE%09/we/want/%09FALSE%090%09foobar%09name[CR][LF] 127.0.0.1%09FALSE%09/we/want/%09FALSE%090%09secondcookie%09present[CR][LF] === End of file check-expected === Start of file cookies1903 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. 127.0.0.1 FALSE /we/want/ FALSE 0 secondcookie present 127.0.0.1 FALSE /we/want/ FALSE 0 foobar name === End of file cookies1903 === Start of file http_server.log 02:03:30.399400 ====> Client connect 02:03:30.399444 accept_connection 3 returned 4 02:03:30.399465 accept_connection 3 returned 0 02:03:30.399482 Read 93 bytes 02:03:30.399494 Process 93 bytes request 02:03:30.399511 Got request: GET /verifiedserver HTTP/1.1 02:03:30.399521 Are-we-friendly question received 02:03:30.399544 Wrote request (93 bytes) input to log/12/server.input 02:03:30.399562 Identifying ourselves as friends 02:03:30.399631 Response sent (56 bytes) and written to log/12/server.response 02:03:30.399643 special request received, no persistency 02:03:30.399652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1903 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr1903 URL: http://127.0.0.1:40653/we/want/1903 === End of file stderr1903 === Start of file valgrind1903 ==160032== ==160032== Process terminating with default action of signal 4 (SIGILL) ==160032== Illegal opcode at address 0x48EA16B ==160032== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160032== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160032== by 0x48EA16B: Curl_open (url.c:519) ==160032== by 0x4880EEF: curl_easy_init (easy.c:370) ==160032== by 0x1090AD: UnknownInlinedFun (lib1903.c:37) ==160032== by 0x1090AD: UnknownInlinedFun (lib1903.c:31) ==160032== by 0x1090AD: main (first.c:220) ==160032== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160032== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160032== by 0x4A6D258: __tsearch (tsearch.c:337) ==160032== by 0x4A6D258: tsearch (tsearch.c:290) ==160032== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160032== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160032== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160032== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160032== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160032== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160032== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160032== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160032== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160032== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160032== by 0x498986B: setlocale (setlocale.c:337) ==160032== by 0x109045: main (first.c:160) ==160032== ==160032== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160032== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160032== by 0x4A6D258: __tsearch (tsearch.c:337) ==160032== by 0x4A6D258: tsearch (tsearch.c:290) ==160032== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160032== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160032== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160032== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160032== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160032== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160032== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160032== by 0x498986B: setlocale (setlocale.c:337) ==160032== by 0x109045: main (first.c:160) ==160032== ==160032== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160032== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160032== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160032== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160032== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160032== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160032== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160032== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160032== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160032== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160032== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160032== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160032== by 0x498986B: setlocale (setlocale.c:337) ==160032== by 0x109045: main (first.c:160) ==160032== ==160032== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160032== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160032== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160032== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160032== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160032== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160032== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160032== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160032== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160032== by 0x498986B: setlocale (setlocale.c:337) ==160032== by 0x109045: main (first.c:160) ==160032== ==160032== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160032== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160032== by 0x48EA143: Curl_open (url.c:510) ==160032== by 0x4880EEF: curl_easy_init (easy.c:370) ==160032== by 0x1090AD: UnknownInlinedFun (lib1903.c:37) ==160032== by 0x1090AD: UnknownInlinedFun (lib1903.c:31) ==160032== by 0x1090AD: main (first.c:220) ==160032== ==160032== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160032== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160032== by 0x4A6D258: __tsearch (tsearch.c:337) ==160032== by 0x4A6D258: tsearch (tsearch.c:290) ==160032== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160032== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160032== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160032== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160032== by 0x497DF7CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1909 ../src/curl -q --trace-ascii log/8/trace1909 --trace-config all --trace-time --retry 1 --retry-all-errors -o log/8/outfile1909 http://127.0.0.1:38805/1909 > log/8/stdout1909 2> log/8/stderr1909 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1905 ./libtest/lib1905 http://127.0.0.1:43753/we/want/1905 log/7/cookies1905 > log/7/stdout1905 2> log/7/stderr1905 1: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160032== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160032== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160032== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160032== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160032== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160032== by 0x498986B: setlocale (setlocale.c:337) ==160032== by 0x109045: main (first.c:160) ==160032== ==160032== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160032== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160032== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160032== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160032== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160032== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160032== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160032== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160032== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160032== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160032== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160032== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160032== by 0x498986B: setlocale (setlocale.c:337) ==160032== by 0x109045: main (first.c:160) ==160032== === End of file valgrind1903 test 1909...[HTTP GET --retry-all-errors to overcome partial transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1909 ../src/curl -q --trace-ascii log/8/trace1909 --trace-config all --trace-time --retry 1 --retry-all-errors -o log/8/outfile1909 http://127.0.0.1:38805/1909 > log/8/stdout1909 2> log/8/stderr1909 1909: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1909 === Start of file http_server.log 02:03:30.874847 ====> Client connect 02:03:30.874879 accept_connection 3 returned 4 02:03:30.874896 accept_connection 3 returned 0 02:03:30.874910 Read 93 bytes 02:03:30.874920 Process 93 bytes request 02:03:30.874935 Got request: GET /verifiedserver HTTP/1.1 02:03:30.874945 Are-we-friendly question received 02:03:30.874973 Wrote request (93 bytes) input to log/8/server.input 02:03:30.874991 Identifying ourselves as friends 02:03:30.875050 Response sent (57 bytes) and written to log/8/server.response 02:03:30.875059 special request received, no persistency 02:03:30.875067 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 1909 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file valgrind1909 ==160424== ==160424== Process terminating with default action of signal 4 (SIGILL) ==160424== Illegal opcode at address 0x10B08D ==160424== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==160424== by 0x10B08D: main (tool_main.c:232) === End of file valgrind1909 test 1905...[CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1905 ./libtest/lib1905 http://127.0.0.1:43753/we/want/1905 log/7/cookies1905 > log/7/stdout1905 2> log/7/stderr1905 1905: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 1905 === Start of file http_server.log 02:03:30.650641 ====> Client connect 02:03:30.650672 accept_connection 3 returned 4 02:03:30.650689 accept_connection 3 returned 0 02:03:30.650702 Read 93 bytes 02:03:30.650713 Process 93 bytes request 02:03:30.650725 Got request: GET /verifiedserver HTTP/1.1 02:03:30.650735 Are-we-friendly question received 02:03:30.650758 Wrote request (93 bytes) input to log/7/server.input 02:03:30.650775 Identifying ourselves as friends 02:03:30.650839 Response sent (56 bytes) and written to log/7/server.response 02:03:30.650850 special request received, no persistency 02:03:30.650858 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 1905 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr1905 URL: http://127.0.0.1:43753/we/want/1905 === End of file stderr1905 === Start of file valgrind1905 ==160202== ==160202== Process terminating with default action of signal 4 (SIGILL) ==160202== Illegal opcode at address 0x48EA16B ==160202== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160202== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160202== by 0x48EA16B: Curl_open (url.c:519) ==160202== by 0x4880EEF: curl_easy_init (easy.c:370) ==160202== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==160202== by 0x48BF363: Curl_multi_handle (multi.c:416) ==160202== by 0x10921C: test (lib1905.c:40) ==160202== by 0x109087: main (first.c:220) ==160202== 408 bytes in 17 blocks are possibly lost in loss record 603 of 655 ==160202== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160202== by 0x4A6D258: __tsearch (tsearch.c:337) ==160202== by 0x4A6D258: tsearch (tsearch.c:290) ==160202== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160202== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160202== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160202== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160202== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160202== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160202== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160202== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160202== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160202== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160202== by 0x498986B: setlocale (setlocale.c:337) ==160202== by 0x109047: main (first.c:160) ==160202== ==160202== 552 bytes in 23 blocks are possibly lost in loss record 608 of 655 ==160202== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160202== by 0x4A6D258: __tsearch (tsearch.c:337) ==160202== by 0x4A6D258: tsearch (tsearch.c:290) ==160202== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160202== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160202== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160202== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160202== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160202== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160202=CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1912 ./libtest/lib1912 - > log/11/stdout1912 2> log/11/stderr1912 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1910 ./libtest/lib1910 127.0.0.1:38781/1910 > log/2/stdout1910 2> log/2/stderr1910 = by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160202== by 0x498986B: setlocale (setlocale.c:337) ==160202== by 0x109047: main (first.c:160) ==160202== ==160202== 681 bytes in 17 blocks are possibly lost in loss record 615 of 655 ==160202== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160202== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160202== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160202== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160202== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160202== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160202== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160202== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160202== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160202== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160202== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160202== by 0x498986B: setlocale (setlocale.c:337) ==160202== by 0x109047: main (first.c:160) ==160202== ==160202== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 655 ==160202== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160202== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160202== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160202== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160202== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160202== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160202== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160202== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160202== by 0x498986B: setlocale (setlocale.c:337) ==160202== by 0x109047: main (first.c:160) ==160202== ==160202== 5,480 bytes in 1 blocks are definitely lost in loss record 648 of 655 ==160202== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160202== by 0x48EA143: Curl_open (url.c:510) ==160202== by 0x4880EEF: curl_easy_init (easy.c:370) ==160202== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==160202== by 0x48BF363: Curl_multi_handle (multi.c:416) ==160202== by 0x10921C: test (lib1905.c:40) ==160202== by 0x109087: main (first.c:220) ==160202== ==160202== 11,664 bytes in 486 blocks are possibly lost in loss record 651 of 655 ==160202== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160202== by 0x4A6D258: __tsearch (tsearch.c:337) ==160202== by 0x4A6D258: tsearch (tsearch.c:290) ==160202== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160202== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160202== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160202== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160202== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160202== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160202== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160202== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160202== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160202== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160202== by 0x498986B: setlocale (setlocale.c:337) ==160202== by 0x109047: main (first.c:160) ==160202== ==160202== 18,800 bytes in 486 blocks are possibly lost in loss record 653 of 655 ==160202== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160202== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160202== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160202== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160202== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160202== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160202== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160202== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160202== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160202== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160202== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160202== by 0x498986B: setlocale (setlocale.c:337) ==160202== by 0x109047: main (first.c:160) ==160202== === End of file valgrind1905 * starts no server test 1912...[Cross validate that gcc-typecheck macros match the option types.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1912 ./libtest/lib1912 - > log/11/stdout1912 2> log/11/stderr1912 -------e-v- OK (1448 out of 1584, remaining: 00:13, took 0.496s, duration: 02:23) test 1910...[HTTP credentials with newline and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1910 ./libtest/lib1910 127.0.0.1:38781/1910 > log/2/stdout1910 2> log/2/stderr1910 1910: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 1910 === Start of file http_server.log 02:03:30.886493 ====> Client connect 02:03:30.886526 accept_connection 3 returned 4 02:03:30.886542 accept_connection 3 returned 0 02:03:30.886556 Read 93 bytes 02:03:30.886566 Process 93 bytes request 02:03:30.886580 Got request: GET /verifiedserver HTTP/1.1 02:03:30.886590 Are-we-friendly question received 02:03:30.886614 Wrote request (93 bytes) input to log/2/server.input 02:03:30.886632 Identifying ourselves as friends 02:03:30.886701 Response sent (56 bytes) and written to log/2/server.response 02:03:30.886713 special request received, no persistency 02:03:30.886722 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1910 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1910 URL: 127.0.0.1:38781/1910 === End of file stderr1910 === Start of file valgrind1910 ==160440== ==160440== Process terminating with default action of signal 4 (SIGILL) ==160440== Illegal opcode at address 0x48EA16B ==160440== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160440== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160440== by 0x48EA16B: Curl_open (url.c:519) ==160440== by 0x4880EEF: curl_easy_init (easy.c:370) ==160440== by 0x1090AB: UnknownInlinedFun (lib1910.c:38) ==160440== by 0x1090AB: main (first.c:220) ==160440== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160440== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160440== by 0x4A6D258: __tsearch (tsearch.c:337) ==160440== by 0x4A6D258: tsearch (tsearch.c:290) ==160440== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160440== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160440== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160440== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160440== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160440== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160440== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160440== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160440== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160440== by 0x4986E9D: _nl_find_locale (fiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1911 ./libtest/lib1911 - > log/3/stdout1911 2> log/3/stderr1911 ndlocale.c:298) ==160440== by 0x498986B: setlocale (setlocale.c:337) ==160440== by 0x109056: main (first.c:160) ==160440== ==160440== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160440== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160440== by 0x4A6D258: __tsearch (tsearch.c:337) ==160440== by 0x4A6D258: tsearch (tsearch.c:290) ==160440== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160440== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160440== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160440== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160440== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160440== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160440== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160440== by 0x498986B: setlocale (setlocale.c:337) ==160440== by 0x109056: main (first.c:160) ==160440== ==160440== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160440== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160440== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160440== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160440== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160440== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160440== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160440== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160440== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160440== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160440== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160440== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160440== by 0x498986B: setlocale (setlocale.c:337) ==160440== by 0x109056: main (first.c:160) ==160440== ==160440== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160440== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160440== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160440== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160440== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160440== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160440== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160440== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160440== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160440== by 0x498986B: setlocale (setlocale.c:337) ==160440== by 0x109056: main (first.c:160) ==160440== ==160440== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160440== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160440== by 0x48EA143: Curl_open (url.c:510) ==160440== by 0x4880EEF: curl_easy_init (easy.c:370) ==160440== by 0x1090AB: UnknownInlinedFun (lib1910.c:38) ==160440== by 0x1090AB: main (first.c:220) ==160440== ==160440== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160440== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160440== by 0x4A6D258: __tsearch (tsearch.c:337) ==160440== by 0x4A6D258: tsearch (tsearch.c:290) ==160440== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160440== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160440== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160440== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160440== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160440== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160440== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160440== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160440== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160440== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160440== by 0x498986B: setlocale (setlocale.c:337) ==160440== by 0x109056: main (first.c:160) ==160440== ==160440== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160440== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160440== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160440== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160440== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160440== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160440== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160440== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160440== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160440== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160440== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160440== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160440== by 0x498986B: setlocale (setlocale.c:337) ==160440== by 0x109056: main (first.c:160) ==160440== === End of file valgrind1910 * starts no server test 1911...[verify that curl_easy_setopt() rejects too long string inputs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1911 ./libtest/lib1911 - > log/3/stdout1911 2> log/3/stderr1911 lib1911 returned 132, when expecting 0 1911: exit FAILED == Contents of files in the log/3/ dir after test 1911 === Start of file server.cmd Testnum 1911 === End of file server.cmd === Start of file stderr1911 URL: - === End of file stderr1911 === Start of file valgrind1911 ==160529== ==160529== Process terminating with default action of signal 4 (SIGILL) ==160529== Illegal opcode at address 0x48EA16B ==160529== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160529== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160529== by 0x48EA16B: Curl_open (url.c:519) ==160529== by 0x4880EEF: curl_easy_init (easy.c:370) ==160529== by 0x109082: UnknownInlinedFun (lib1911.c:44) ==160529== by 0x109082: main (first.c:220) ==160529== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160529== by 0x4A6D258: __tsearch (tsearch.c:337) ==160529== by 0x4A6D258: tsearch (tsearch.c:290) ==160529== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160529== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160529== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160529== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160529== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160529== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160529== by 0x498986B: setlocale (setlocale.c:337) ==160529== by 0x10904B: main (first.c:160) ==160529== ==160529== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160529== by 0x4A6D258: __tsearch (tsearch.c:337) ==160529== by 0x4A6D258: tsearch (tsearch.c:290) ==160529== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160529== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160529== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160529== by 0x498986B: setlocale (setlocale.c:337) ==160529== by 0x10904B: main (first.c:160) ==160529== ==160529== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160529== at 0x48447A8: malloc (vg_replace_malloc.c:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1916 ./libtest/lib1916 "mqtt://127.0.0.1:35563/%20" > log/6/stdout1916 2> log/6/stderr1916 446) ==160529== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160529== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160529== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160529== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160529== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160529== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160529== by 0x498986B: setlocale (setlocale.c:337) ==160529== by 0x10904B: main (first.c:160) ==160529== ==160529== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160529== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160529== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160529== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160529== by 0x498986B: setlocale (setlocale.c:337) ==160529== by 0x10904B: main (first.c:160) ==160529== ==160529== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160529== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160529== by 0x48EA143: Curl_open (url.c:510) ==160529== by 0x4880EEF: curl_easy_init (easy.c:370) ==160529== by 0x109082: UnknownInlinedFun (lib1911.c:44) ==160529== by 0x109082: main (first.c:220) ==160529== ==160529== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160529== by 0x4A6D258: __tsearch (tsearch.c:337) ==160529== by 0x4A6D258: tsearch (tsearch.c:290) ==160529== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160529== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160529== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160529== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160529== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160529== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160529== by 0x498986B: setlocale (setlocale.c:337) ==160529== by 0x10904B: main (first.c:160) ==160529== ==160529== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160529== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160529== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160529== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160529== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160529== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160529== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160529== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160529== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160529== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160529== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160529== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160529== by 0x498986B: setlocale (setlocale.c:337) ==160529== by 0x10904B: main (first.c:160) ==160529== === End of file valgrind1911 test 1916...[MQTT PUBLISH with no POSTFIELDSIZE set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1916 ./libtest/lib1916 "mqtt://127.0.0.1:35563/%20" > log/6/stdout1916 2> log/6/stderr1916 1916: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1916 === Start of file server.cmd Testnum 1916 === End of file server.cmd === Start of file stderr1916 URL: mqtt://127.0.0.1:35563/%20 === End of file stderr1916 === Start of file valgrind1916 ==160626== ==160626== Process terminating with default action of signal 4 (SIGILL) ==160626== Illegal opcode at address 0x48EA16B ==160626== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160626== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160626== by 0x48EA16B: Curl_open (url.c:519) ==160626== by 0x4880EEF: curl_easy_init (easy.c:370) ==160626== by 0x109094: UnknownInlinedFun (lib1916.c:39) ==160626== by 0x109094: main (first.c:220) ==160626== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160626== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160626== by 0x4A6D258: __tsearch (tsearch.c:337) ==160626== by 0x4A6D258: tsearch (tsearch.c:290) ==160626== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160626== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160626== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160626== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160626== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160626== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160626== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160626== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160626== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160626== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160626== by 0x498986B: setlocale (setlocale.c:337) ==160626== by 0x10904E: main (first.c:160) ==160626== ==160626== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160626== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160626== by 0x4A6D258: __tsearch (tsearch.c:337) ==160626== by 0x4A6D258: tsearch (tsearch.c:290) ==160626== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160626== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160626== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160626== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160626== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160626== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160626== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160626== by 0x498986B: setlocale (setlocale.c:337) ==160626== by 0x10904E: main (first.c:160) ==160626== ==160626== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160626== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160626== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160626== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160626== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160626== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160626== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160626== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160626== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160626== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160626== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160626== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160626== by 0x498986B: setlocale (setlocale.c:337) ==160626== by 0x10904E: main (first.c:160) ==160626== ==160626== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160626== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160626== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1915 ./libtest/lib1915 http://127.0.0.1:47/not-there/1915 > log/10/stdout1915 2> log/10/stderr1915 626== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160626== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160626== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160626== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160626== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160626== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160626== by 0x498986B: setlocale (setlocale.c:337) ==160626== by 0x10904E: main (first.c:160) ==160626== ==160626== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160626== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160626== by 0x48EA143: Curl_open (url.c:510) ==160626== by 0x4880EEF: curl_easy_init (easy.c:370) ==160626== by 0x109094: UnknownInlinedFun (lib1916.c:39) ==160626== by 0x109094: main (first.c:220) ==160626== ==160626== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160626== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160626== by 0x4A6D258: __tsearch (tsearch.c:337) ==160626== by 0x4A6D258: tsearch (tsearch.c:290) ==160626== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160626== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160626== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160626== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160626== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160626== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160626== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160626== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160626== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160626== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160626== by 0x498986B: setlocale (setlocale.c:337) ==160626== by 0x10904E: main (first.c:160) ==160626== ==160626== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160626== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160626== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160626== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160626== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160626== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160626== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160626== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160626== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160626== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160626== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160626== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160626== by 0x498986B: setlocale (setlocale.c:337) ==160626== by 0x10904E: main (first.c:160) ==160626== === End of file valgrind1916 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1914 ./libtest/lib1913 ftp://127.0.0.1:40171/not-there/1913 1 > log/12/stdout1914 2> log/12/stderr1914 * starts no server test 1915...[HSTS read/write callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1915 ./libtest/lib1915 http://127.0.0.1:47/not-there/1915 > log/10/stdout1915 2> log/10/stderr1915 1915: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:31.903787532 +0000 +++ log/10/check-generated 2024-12-15 02:03:31.903787532 +0000 @@ -1,6 +0,0 @@ -[0/4] 1.example.com 25250320 01:02:03[LF] -[1/4] 2.example.com 25250320 03:02:01[LF] -[2/4] 3.example.com 25250319 01:02:03[LF] -[3/4] 4.example.com unlimited[LF] -First request returned 7[LF] -Second request returned 42[LF] == Contents of files in the log/10/ dir after test 1915 === Start of file check-expected [0/4] 1.example.com 25250320 01:02:03[LF] [1/4] 2.example.com 25250320 03:02:01[LF] [2/4] 3.example.com 25250319 01:02:03[LF] [3/4] 4.example.com unlimited[LF] First request returned 7[LF] Second request returned 42[LF] === End of file check-expected === Start of file server.cmd Testnum 1915 === End of file server.cmd === Start of file stderr1915 URL: http://127.0.0.1:47/not-there/1915 === End of file stderr1915 === Start of file valgrind1915 ==160627== ==160627== Process terminating with default action of signal 4 (SIGILL) ==160627== Illegal opcode at address 0x48EA16B ==160627== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160627== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160627== by 0x48EA16B: Curl_open (url.c:519) ==160627== by 0x4880EEF: curl_easy_init (easy.c:370) ==160627== by 0x1090B3: UnknownInlinedFun (lib1915.c:111) ==160627== by 0x1090B3: main (first.c:220) ==160627== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160627== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160627== by 0x4A6D258: __tsearch (tsearch.c:337) ==160627== by 0x4A6D258: tsearch (tsearch.c:290) ==160627== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160627== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160627== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160627== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160627== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160627== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160627== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160627== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160627== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160627== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160627== by 0x498986B: setlocale (setlocale.c:337) ==160627== by 0x109058: main (first.c:160) ==160627== ==160627== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160627== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160627== by 0x4A6D258: __tsearch (tsearch.c:337) ==160627== by 0x4A6D258: tsearch (tsearch.c:290) ==160627== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160627== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160627== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160627== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160627== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160627== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160627== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160627== by 0x498986B: setlocale (setlocale.c:337) ==160627== by 0x109058: main (first.c:160) ==160627== ==160627== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160627== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160627== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160627== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160627== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160627== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160627== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160627== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160627== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160627== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160627== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160627== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160627== by 0x498986B: setlocale (setlocale.c:337) ==160627== by 0x109058: main (first.c:160) ==160627== ==160627== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160627== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160627== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160627== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160627== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160627== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160627== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160627== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160627== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160627== by 0x498986B: setlocale (setlocale.c:337) ==160627== by 0x109058: main (first.c:160) ==160627== ==160627== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160627== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160627== by 0x48EA143: Curl_open (url.c:510) ==160627== by 0x4880EEF: curl_easy_init (easy.c:370) ==160627== by 0x1090B3: UnknownInlinedFun (lib1915.c:111) ==160627== by 0x1090B3: main (first.c:220) ==160627== ==160627== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160627== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160627== by 0x4A6D258: __tsearch (tsearch.c:337) ==160627== by 0x4A6D258: tsearch (tsearch.c:290) ==160627== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160627== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160627== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160627== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160627== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160627== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160627== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160627== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160627== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160627== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160627== by 0x498986B: setlocale (setlocale.c:337) ==160627== by 0x109058: main (first.c:160) ==160627== ==160627== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160627== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160627== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160627== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160627== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160627== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160627== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160627== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160627== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160627== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160627== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160627== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160627== by 0x498986B: setlocale (setlocale.c:337) ==160627== by 0x109058: main (first.c:160) ==160627== === End of file valgrind1915 test 1914...[FTP with NOBODY and FILETIME set, getting a missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1914 ./libtest/lib1913 ftp://127.0.0.1:40171/not-there/1913 1 > log/12/stdout1914 2> log/12/stderr1914 lib1913 returned 132, when expecting 78 1914: exit FAILED == Contents of files in the log/12/ dir after test 1914 === Start of file ftp_server.log 02:03:31.111183 ====> Client connect 02:03:31.111308 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:31.111568 < "USER anonymous" 02:03:31.111601 > "331 We are happy you popped in![CR][LF]" 02:03:31.111767 < "PASS ftp@example.com" 02:03:31.111789 > "230 Welcome you silly person[CR][LF]" 02:03:31.111923 < "PWD" 02:03:31.111949 > "257 "/" is current directory[CR][LF]" 02:03:31.112088 < "EPSV" 02:03:31.112109 ====> Passive DATA channel requested by client 02:03:31.112121 DATA sockfilt for passive data channel starting... 02:03:31.113723 DATA sockfilt for passive data channel started (pid 160669) 02:03:31.113835 DATA sockfilt for passive data channel listens on port 42961 02:03:31.113872 > "229 Entering Passive Mode (|||42961|)[LF]" 02:03:31.113889 Client has been notified that DATA conn will be accepted on port 42961 02:03:31.114192 Client connects to port 42961 02:03:31.114224 ====> Client established passive DATA connection on port 42961 02:03:31.114302 < "TYPE I" 02:03:31.114331 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:31.114561 < "SIZE verifiedserver" 02:03:31.114597 > "213 17[CR][LF]" 02:03:31.114747 < "RETR verifiedserver" 02:03:31.114773 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:31.114849 =====> Closing passive DATA connection... 02:03:31.114866 Server disconnects passive DATA connection 02:03:31.115082 Server disconnected passive DATA connection 02:03:31.115108 DATA sockfilt for passive data channel quits (pid 160669) 02:03:31.115314 DATA sockfilt for passive data channel quit (pid 160669) 02:03:31.115334 =====> Closed passive DATA connection 02:03:31.115358 > "226 File transfer complete[CR][LF]" 02:03:31.158635 < "QUIT" 02:03:31.158685 > "221 bye bye baby[CR][LF]" 02:03:31.158846 MAIN sockfilt said DISC 02:03:31.158873 ====> Client disconnected 02:03:31.158931 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:31.311224 ====> Client connect 02:03:31.311456 Received DATA (on stdin) 02:03:31.311470 > 160 bytes data, server => client 02:03:31.311482 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:31.311494 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:31.311505 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:31.311575 < 16 bytes data, client => server 02:03:31.311587 'USER anonymous\r\n' 02:03:31.311741 Received DATA (on stdin) 02:03:31.311752 > 33 bytes data, server => client 02:03:31.311763 '331 We are happy you popped in!\r\n' 02:03:31.311822 < 22 bytes data, client => server 02:03:31.311838 'PASS ftp@example.com\r\n' 02:03:31.311926 Received DATA (on stdin) 02:03:31.311936 > 30 bytes data, server => client 02:03:31.311947 '230 Welcome you silly person\r\n' 02:03:31.311991 < 5 bytes data, client => server 02:03:31.312002 'PWD\r\n' 02:03:31.312085 Received DATA (on stdin) 02:03:31.312096 > 30 bytes data, server => client 02:03:31.312106 '257 "/" is current directory\r\n' 02:03:31.312157 < 6 bytes data, client => server 02:03:31.312167 'EPSV\r\n' 02:03:31.314038 Received DATA (on stdin) 02:03:31.314056 > 38 bytes data, server => client 02:03:31.314068 '229 Entering Passive Mode (|||42961|)\n' 02:03:31.314245 < 8 bytes data, client => server 02:03:31.314261 'TYPE I\r\n' 02:03:31.314471 Received DATA (on stdin) 02:03:31.314484 > 33 bytes data, server => client 02:03:31.314556 '200 I modify TYPE as you wanted\r\n' 02:03:31.314617 < 21 bytes data, client => server 02:03:31.314630 'SIZE verifiedserver\r\n' 02:03:31.314736 Received DATA (on stdin) 02:03:31.314747 > 8 bytes data, server => client 02:03:31.314757 '213 17\r\n' 02:03:31.314809 < 21 bytes data, client => server 02:03:31.314821 'RETR verifiedserver\r\n' 02:03:31.315007 Received DATA (on stdin) 02:03:31.315019 > 29 bytes data, server => client 02:03:31.315030 '150 Binary junk (17 bytes).\r\n' 02:03:31.315657 Received DATA (on stdin) 02:03:31.315673 > 28 bytes data, server => client 02:03:31.315684 '226 File transfer complete\r\n' 02:03:31.358594 < 6 bytes data, client => server 02:03:31.358620 'QUIT\r\n' 02:03:31.358827 Received DATA (on stdin) 02:03:31.358840 > 18 bytes data, server => client 02:03:31.358850 '221 bye bye baby\r\n' 02:03:31.358940 ====> Client disconnect 02:03:31.359113 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:31.313589 Running IPv4 version 02:03:31.313639 Listening on port 42961 02:03:31.313676 Wrote pid 160669 to log/12/server/ftp_sockdata.pid 02:03:31.313804 Received PING (on stdin) 02:03:31.313887 Received PORT (on stdin) 02:03:31.314283 ====> Client connect 02:03:31.315079 Received DATA (on stdin) 02:03:31.315095 > 17 bytes data, server => client 02:03:31.315106 'WE ROOLZ: 80450\r\n' 02:03:31.315152 Received DISC (on stdin) 02:03:31.315167 ====> Client forcibly disconnected 02:03:31.315252 Received QUIT (on stdin) 02:03:31.315263 quits 02:03:31.315321 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 no such file Testnum 1914 === End of file server.cmd === Start of file stderr1914 URL: ftp://127.0.0.1:40171/not-there/1913 === End of file stderr1914 === Start of file valgrind1914 ==160732== ==160732== Process terminating with default action of signal 4 (SIGILL) ==160732== Illegal opcode at address 0x48EA16B ==160732== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160732== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160732== by 0x48EA16B: Curl_open (url.c:519) ==160732== by 0x4880EEF: curl_easy_init (easy.c:370) ==160732== by 0x1090BC: UnknownInlinedFun (lib1913.c:38) ==160732== by 0x1090BC: main (first.c:220) ==160732== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160732== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160732== by 0x4A6D258: __tsearch (tsearch.c:337) ==160732== by 0x4A6D258: tsearch (tsearch.c:290) ==160732== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160732== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160732== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160732== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160732== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160732== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160732== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160732== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160732== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160732== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160732== by 0x498986B: setlocale (setlocale.c:337) ==160732== by 0x109056: main (first.c:160) ==160732== ==160732== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160732== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160732== by 0x4A6D258: __tsearch (tsearch.c:337) ==160732== by 0x4A6D258: tsearch (tsearch.c:290) ==160732== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160732== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160732== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160732== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160732== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160732== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160732== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160732== by 0x498986B: setlocale (setlocale.c:337) ==160732== by 0x109056: main (first.c:160) ==160732== ==160732== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160732== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160732== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160732== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160732== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160732== CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1918 ./libtest/lib1918 - > log/7/stdout1918 2> log/7/stderr1918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1917 ./libtest/lib1917 "mqtt://127.0.0.1:44919/%20" > log/8/stdout1917 2> log/8/stderr1917 by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160732== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160732== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160732== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160732== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160732== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160732== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160732== by 0x498986B: setlocale (setlocale.c:337) ==160732== by 0x109056: main (first.c:160) ==160732== ==160732== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160732== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160732== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160732== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160732== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160732== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160732== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160732== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160732== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160732== by 0x498986B: setlocale (setlocale.c:337) ==160732== by 0x109056: main (first.c:160) ==160732== ==160732== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160732== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160732== by 0x48EA143: Curl_open (url.c:510) ==160732== by 0x4880EEF: curl_easy_init (easy.c:370) ==160732== by 0x1090BC: UnknownInlinedFun (lib1913.c:38) ==160732== by 0x1090BC: main (first.c:220) ==160732== ==160732== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160732== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160732== by 0x4A6D258: __tsearch (tsearch.c:337) ==160732== by 0x4A6D258: tsearch (tsearch.c:290) ==160732== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160732== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160732== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160732== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160732== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160732== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160732== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160732== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160732== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160732== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160732== by 0x498986B: setlocale (setlocale.c:337) ==160732== by 0x109056: main (first.c:160) ==160732== ==160732== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160732== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160732== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160732== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160732== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160732== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160732== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160732== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160732== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160732== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160732== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160732== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160732== by 0x498986B: setlocale (setlocale.c:337) ==160732== by 0x109056: main (first.c:160) ==160732== === End of file valgrind1914 * starts no server test 1918...[curl_easy_option_by_name() and curl_easy_option_by_id()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1918 ./libtest/lib1918 - > log/7/stdout1918 2> log/7/stderr1918 -------e-v- OK (1454 out of 1584, remaining: 00:12, took 0.793s, duration: 02:24) test 1917...[MQTT PUBLISH with CURLOPT_POST set (no payload)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1917 ./libtest/lib1917 "mqtt://127.0.0.1:44919/%20" > log/8/stdout1917 2> log/8/stderr1917 1917: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 1917 === Start of file server.cmd Testnum 1917 === End of file server.cmd === Start of file stderr1917 URL: mqtt://127.0.0.1:44919/%20 === End of file stderr1917 === Start of file valgrind1917 ==160782== ==160782== Process terminating with default action of signal 4 (SIGILL) ==160782== Illegal opcode at address 0x48EA16B ==160782== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160782== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160782== by 0x48EA16B: Curl_open (url.c:519) ==160782== by 0x4880EEF: curl_easy_init (easy.c:370) ==160782== by 0x109087: UnknownInlinedFun (lib1916.c:39) ==160782== by 0x109087: main (first.c:220) ==160782== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160782== by 0x4A6D258: __tsearch (tsearch.c:337) ==160782== by 0x4A6D258: tsearch (tsearch.c:290) ==160782== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160782== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160782== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160782== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160782== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160782== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160782== by 0x498986B: setlocale (setlocale.c:337) ==160782== by 0x109045: main (first.c:160) ==160782== ==160782== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160782== by 0x4A6D258: __tsearch (tsearch.c:337) ==160782== by 0x4A6D258: tsearch (tsearch.c:290) ==160782== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160782== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160782== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160782== by 0x498986B: setlocale (setlocale.c:337) ==160782== by 0x109045: main (first.c:160) ==160782== ==160782== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160782== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160782== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160782== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160782== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160782== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160782== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160782== by 0x498986B: setlocale (setlocale.c:337) ==160782== by 0x109045: main (first.c:160) ==16CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1940 ./libtest/lib1940 http://127.0.0.1:38781/1940 > log/2/stdout1940 2> log/2/stderr1940 0782== ==160782== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160782== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160782== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160782== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160782== by 0x498986B: setlocale (setlocale.c:337) ==160782== by 0x109045: main (first.c:160) ==160782== ==160782== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160782== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160782== by 0x48EA143: Curl_open (url.c:510) ==160782== by 0x4880EEF: curl_easy_init (easy.c:370) ==160782== by 0x109087: UnknownInlinedFun (lib1916.c:39) ==160782== by 0x109087: main (first.c:220) ==160782== ==160782== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160782== by 0x4A6D258: __tsearch (tsearch.c:337) ==160782== by 0x4A6D258: tsearch (tsearch.c:290) ==160782== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160782== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160782== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160782== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160782== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160782== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160782== by 0x498986B: setlocale (setlocale.c:337) ==160782== by 0x109045: main (first.c:160) ==160782== ==160782== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160782== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160782== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160782== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160782== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160782== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160782== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160782== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160782== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160782== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160782== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160782== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160782== by 0x498986B: setlocale (setlocale.c:337) ==160782== by 0x109045: main (first.c:160) ==160782== === End of file valgrind1917 test 1940...[curl_easy_header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1940 ./libtest/lib1940 http://127.0.0.1:38781/1940 > log/2/stdout1940 2> log/2/stderr1940 1940: stdout FAILED: --- log/2/check-expected 2024-12-15 02:03:32.423796764 +0000 +++ log/2/check-generated 2024-12-15 02:03:32.423796764 +0000 @@ -1,11 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19400002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Fold == is folding a line[LF] - Blank == [LF] - Blank2 == [LF] == Contents of files in the log/2/ dir after test 1940 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19400002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Fold == is folding a line[LF] Blank == [LF] Blank2 == [LF] === End of file check-expected === Start of file http_server.log 02:03:31.782498 ====> Client connect 02:03:31.782523 accept_connection 3 returned 4 02:03:31.782536 accept_connection 3 returned 0 02:03:31.782548 Read 93 bytes 02:03:31.782557 Process 93 bytes request 02:03:31.782567 Got request: GET /verifiedserver HTTP/1.1 02:03:31.782575 Are-we-friendly question received 02:03:31.782594 Wrote request (93 bytes) input to log/2/server.input 02:03:31.782608 Identifying ourselves as friends 02:03:31.782660 Response sent (56 bytes) and written to log/2/server.response 02:03:31.782669 special request received, no persistency 02:03:31.782676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1940 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1940 URL: http://127.0.0.1:38781/1940 === End of file stderr1940 === Start of file valgrind1940 ==160916== ==160916== Process terminating with default action of signal 4 (SIGILL) ==160916== Illegal opcode at address 0x48EA16B ==160916== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160916== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160916== by 0x48EA16B: Curl_open (url.c:519) ==160916== by 0x4880EEF: curl_easy_init (easy.c:370) ==160916== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==160916== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==160916== by 0x10909C: main (first.c:220) ==160916== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160916== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160916== by 0x4A6D258: __tsearch (tsearch.c:337) ==160916== by 0x4A6D258: tsearch (tsearch.c:290) ==160916== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160916== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160916== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160916== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160916== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160916== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160916== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160916== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160916== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160916== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160916== by 0x498986B: setlocale (setlocale.c:337) ==160916== by 0x109045: main (first.c:160) ==160916== ==160916== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160916== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160916== by 0x4A6D258: __tsearch (tsearch.c:337) ==160916== by 0x4A6D258: tsearch (tsearch.c:290) ==160916== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160916== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160916== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160916== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160916== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160916== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160916== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160916== by 0x498986B: setlocale (setlocale.c:337) ==160916== by 0x109045: main (first.c:160) ==160916== ==160916== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160916== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160916== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160916== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160916== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160916== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160916== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160916== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160916== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160916== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160916== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160916== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160916== by 0x498986B: setlocale (setlocale.c:337) ==160916== by 0x109045: main (first.c:160) ==160916== ==160916== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160916== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160916== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160916== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160916== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160916== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160916== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160916== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160916== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160916== by 0x498986B: setlocale (setlocale.c:337) ==160916== by 0x109045: main (first.c:160) ==160916== ==160916== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160916== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160916== by 0x48EA143: Curl_open (url.c:510) ==160916== by 0x4880EEF: curl_easy_init (easy.c:370) ==160916== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==160916== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==160916== by 0x10909C: main (first.c:220) ==160916== ==160916== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160916== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160916== by 0x4A6D258: __tsearch (tsearch.c:337) ==160916== by 0x4A6D258: tsearch (tsearch.c:290) ==160916== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160916== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160916== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160916== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160916== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160916== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160916== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160916== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160916== by 0x497C99CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1919 ./libtest/lib1919 http://127.0.0.1:44137/1919 > log/11/stdout1919 2> log/11/stderr1919 : __gconv_compare_alias (gconv_db.c:692) ==160916== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160916== by 0x498986B: setlocale (setlocale.c:337) ==160916== by 0x109045: main (first.c:160) ==160916== ==160916== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160916== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160916== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160916== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160916== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160916== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160916== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160916== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160916== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160916== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160916== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160916== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160916== by 0x498986B: setlocale (setlocale.c:337) ==160916== by 0x109045: main (first.c:160) ==160916== === End of file valgrind1940 test 1919...[set CURLOPT_XOAUTH2_BEARER and do connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1919 ./libtest/lib1919 http://127.0.0.1:44137/1919 > log/11/stdout1919 2> log/11/stderr1919 1919: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1919 === Start of file http_server.log 02:03:31.779980 ====> Client connect 02:03:31.780012 accept_connection 3 returned 4 02:03:31.780028 accept_connection 3 returned 0 02:03:31.780042 Read 93 bytes 02:03:31.780053 Process 93 bytes request 02:03:31.780067 Got request: GET /verifiedserver HTTP/1.1 02:03:31.780076 Are-we-friendly question received 02:03:31.780096 Wrote request (93 bytes) input to log/11/server.input 02:03:31.780113 Identifying ourselves as friends 02:03:31.780179 Response sent (56 bytes) and written to log/11/server.response 02:03:31.780189 special request received, no persistency 02:03:31.780198 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1919 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr1919 URL: http://127.0.0.1:44137/1919 === End of file stderr1919 === Start of file valgrind1919 ==160915== ==160915== Process terminating with default action of signal 4 (SIGILL) ==160915== Illegal opcode at address 0x48EA16B ==160915== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==160915== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==160915== by 0x48EA16B: Curl_open (url.c:519) ==160915== by 0x4880EEF: curl_easy_init (easy.c:370) ==160915== by 0x10908B: UnknownInlinedFun (lib1919.c:37) ==160915== by 0x10908B: UnknownInlinedFun (lib1919.c:30) ==160915== by 0x10908B: main (first.c:220) ==160915== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==160915== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160915== by 0x4A6D258: __tsearch (tsearch.c:337) ==160915== by 0x4A6D258: tsearch (tsearch.c:290) ==160915== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160915== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160915== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160915== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160915== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160915== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160915== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160915== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160915== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160915== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160915== by 0x498986B: setlocale (setlocale.c:337) ==160915== by 0x109045: main (first.c:160) ==160915== ==160915== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==160915== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160915== by 0x4A6D258: __tsearch (tsearch.c:337) ==160915== by 0x4A6D258: tsearch (tsearch.c:290) ==160915== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160915== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160915== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160915== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160915== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160915== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160915== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160915== by 0x498986B: setlocale (setlocale.c:337) ==160915== by 0x109045: main (first.c:160) ==160915== ==160915== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==160915== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160915== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160915== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160915== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160915== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160915== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==160915== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==160915== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160915== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160915== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160915== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160915== by 0x498986B: setlocale (setlocale.c:337) ==160915== by 0x109045: main (first.c:160) ==160915== ==160915== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==160915== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160915== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160915== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==160915== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==160915== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160915== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160915== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160915== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160915== by 0x498986B: setlocale (setlocale.c:337) ==160915== by 0x109045: main (first.c:160) ==160915== ==160915== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==160915== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==160915== by 0x48EA143: Curl_open (url.c:510) ==160915== by 0x4880EEF: curl_easy_init (easy.c:370) ==160915== by 0x10908B: UnknownInlinedFun (lib1919.c:37) ==160915== by 0x10908B: UnknownInlinedFun (lib1919.c:30) ==160915== by 0x10908B: main (first.c:220) ==160915== ==160915== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==160915== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160915== by 0x4A6D258: __tsearch (tsearch.c:337) ==160915== by 0x4A6D258: tsearch (tsearch.c:290) ==160915== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==160915== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160915== by 0x497DBB2: add_alias (gcoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1942 ./libtest/lib1940 http://127.0.0.1:39167/1942 > log/6/stdout1942 2> log/6/stderr1942 nv_conf.c:178) ==160915== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160915== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160915== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160915== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160915== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160915== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160915== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160915== by 0x498986B: setlocale (setlocale.c:337) ==160915== by 0x109045: main (first.c:160) ==160915== ==160915== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==160915== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==160915== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==160915== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==160915== by 0x497DBB2: add_alias (gconv_conf.c:178) ==160915== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==160915== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==160915== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==160915== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==160915== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==160915== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==160915== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==160915== by 0x498986B: setlocale (setlocale.c:337) ==160915== by 0x109045: main (first.c:160) ==160915== === End of file valgrind1919 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1943 ./libtest/lib1940 http://127.0.0.1:42929/1943 > log/10/stdout1943 2> log/10/stderr1943 test 1942...[curl_easy_header with 1xx response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1942 ./libtest/lib1940 http://127.0.0.1:39167/1942 > log/6/stdout1942 2> log/6/stderr1942 1942: stdout FAILED: --- log/6/check-expected 2024-12-15 02:03:32.807136901 +0000 +++ log/6/check-generated 2024-12-15 02:03:32.807136901 +0000 @@ -1,10 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19420002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == maybe different[LF] == Contents of files in the log/6/ dir after test 1942 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19420002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == maybe different[LF] === End of file check-expected === Start of file http_server.log 02:03:32.126304 ====> Client connect 02:03:32.126332 accept_connection 3 returned 4 02:03:32.126349 accept_connection 3 returned 0 02:03:32.126363 Read 93 bytes 02:03:32.126373 Process 93 bytes request 02:03:32.126387 Got request: GET /verifiedserver HTTP/1.1 02:03:32.126397 Are-we-friendly question received 02:03:32.126421 Wrote request (93 bytes) input to log/6/server.input 02:03:32.126437 Identifying ourselves as friends 02:03:32.126496 Response sent (57 bytes) and written to log/6/server.response 02:03:32.126506 special request received, no persistency 02:03:32.126515 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 1942 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr1942 URL: http://127.0.0.1:39167/1942 === End of file stderr1942 === Start of file valgrind1942 ==161079== ==161079== Process terminating with default action of signal 4 (SIGILL) ==161079== Illegal opcode at address 0x48EA16B ==161079== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161079== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161079== by 0x48EA16B: Curl_open (url.c:519) ==161079== by 0x4880EEF: curl_easy_init (easy.c:370) ==161079== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161079== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161079== by 0x10909C: main (first.c:220) ==161079== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161079== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161079== by 0x4A6D258: __tsearch (tsearch.c:337) ==161079== by 0x4A6D258: tsearch (tsearch.c:290) ==161079== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161079== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161079== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161079== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161079== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161079== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161079== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161079== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161079== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161079== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161079== by 0x498986B: setlocale (setlocale.c:337) ==161079== by 0x109045: main (first.c:160) ==161079== ==161079== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161079== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161079== by 0x4A6D258: __tsearch (tsearch.c:337) ==161079== by 0x4A6D258: tsearch (tsearch.c:290) ==161079== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161079== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161079== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161079== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161079== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161079== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161079== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161079== by 0x498986B: setlocale (setlocale.c:337) ==161079== by 0x109045: main (first.c:160) ==161079== ==161079== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161079== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161079== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161079== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161079== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161079== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161079== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161079== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161079== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161079== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161079== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161079== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161079== by 0x498986B: setlocale (setlocale.c:337) ==161079== by 0x109045: main (first.c:160) ==161079== ==161079== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161079== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161079== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161079== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161079== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161079== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161079== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161079== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161079== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161079== by 0x498986B: setlocale (setlocale.c:337) ==161079== by 0x109045: main (first.c:160) ==161079== ==161079== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161079== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161079== by 0x48EA143: Curl_open (url.c:510) ==161079== by 0x4880EEF: curl_easy_init (easy.c:370) ==161079== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161079== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161079== by 0x10909C: main (first.c:220) ==161079== ==161079== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161079== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161079== by 0x4A6D258: __tsearch (tsearch.c:337) ==161079== by 0x4A6D258: tsearch (tsearch.c:290) ==161079== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161079== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161079== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161079== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161079== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161079== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161079== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161079== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161079== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161079== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161079== by 0x498986B: setlocale (setlocale.c:337) ==161079== by 0x109045: main (first.c:160) ==161079== ==161079== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161079== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161079== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161079== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161079== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161079== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161079== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161079== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161079== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161079== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161079== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161079== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161079== by 0x498986B: setlocale (setlocale.c:337) ==161079== by 0x109045: main (first.c:160) ==161079== === End of file valgrind1942 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1941 ./libtest/lib1940 http://hello:34527/1941 127.0.0.1:35495 > log/3/stdout1941 2> log/3/stderr1941 test 1943...[curl_easy_header with trailers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1943 ./libtest/lib1940 http://127.0.0.1:42929/1943 > log/10/stdout1943 2> log/10/stderr1943 1943: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:32.813803686 +0000 +++ log/10/check-generated 2024-12-15 02:03:32.813803686 +0000 @@ -1,3 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == fakeit/0.9 fakeitbad/1.0[LF] - Server == sent-as-trailer[LF] == Contents of files in the log/10/ dir after test 1943 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == fakeit/0.9 fakeitbad/1.0[LF] Server == sent-as-trailer[LF] === End of file check-expected === Start of file http_server.log 02:03:32.131385 ====> Client connect 02:03:32.131421 accept_connection 3 returned 4 02:03:32.131438 accept_connection 3 returned 0 02:03:32.131453 Read 93 bytes 02:03:32.131463 Process 93 bytes request 02:03:32.131476 Got request: GET /verifiedserver HTTP/1.1 02:03:32.131487 Are-we-friendly question received 02:03:32.131510 Wrote request (93 bytes) input to log/10/server.input 02:03:32.131527 Identifying ourselves as friends 02:03:32.131598 Response sent (56 bytes) and written to log/10/server.response 02:03:32.131610 special request received, no persistency 02:03:32.131620 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1943 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr1943 URL: http://127.0.0.1:42929/1943 === End of file stderr1943 === Start of file valgrind1943 ==161088== ==161088== Process terminating with default action of signal 4 (SIGILL) ==161088== Illegal opcode at address 0x48EA16B ==161088== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161088== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161088== by 0x48EA16B: Curl_open (url.c:519) ==161088== by 0x4880EEF: curl_easy_init (easy.c:370) ==161088== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161088== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161088== by 0x10909C: main (first.c:220) ==161088== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161088== by 0x4A6D258: __tsearch (tsearch.c:337) ==161088== by 0x4A6D258: tsearch (tsearch.c:290) ==161088== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161088== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161088== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161088== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161088== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161088== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161088== by 0x498986B: setlocale (setlocale.c:337) ==161088== by 0x109045: main (first.c:160) ==161088== ==161088== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161088== by 0x4A6D258: __tsearch (tsearch.c:337) ==161088== by 0x4A6D258: tsearch (tsearch.c:290) ==161088== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161088== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161088== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161088== by 0x498986B: setlocale (setlocale.c:337) ==161088== by 0x109045: main (first.c:160) ==161088== ==161088== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161088== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161088== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161088== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161088== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161088== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161088== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161088== by 0x498986B: setlocale (setlocale.c:337) ==161088== by 0x109045: main (first.c:160) ==161088== ==161088== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161088== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161088== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161088== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161088== by 0x498986B: setlocale (setlocale.c:337) ==161088== by 0x109045: main (first.c:160) ==161088== ==161088== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161088== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161088== by 0x48EA143: Curl_open (url.c:510) ==161088== by 0x4880EEF: curl_easy_init (easy.c:370) ==161088== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161088== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161088== by 0x10909C: main (first.c:220) ==161088== ==161088== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161088== by 0x4A6D258: __tsearch (tsearch.c:337) ==161088== by 0x4A6D258: tsearch (tsearch.c:290) ==161088== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161088== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161088== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161088== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161088== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161088== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161088== by 0x498986B: setlocale (setlocale.c:337) ==161088== by 0x109045: main (first.c:160) ==161088== ==161088== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161088== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161088== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161088== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161088== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161088== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161088== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161088== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161088== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161088== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161088== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161088== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161088== by 0x498986B: setlocale (setlocale.c:337) ==161088== by 0x109045: main (first.c:160) ==161088== === End of file valgrind1943 test 1941...[curl_easy_header with CONNECT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1941 ./libtest/lib1940 http://hello:34527/1941 127.0.0.1:35495 > log/3/stdout1941 2> log/3/stderr1941 1941: stdout FAILED: --- log/3/check-expected 2024-12-15 02:03:32.820470471 +0000 +++ log/3/check-generated 2024-12-15 02:03:32.820470471 +0000 @@ -1,10 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19410002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Server == from the connect[LF] - Silly-thing == yes yes[LF] == Contents of files in the log/3/ dir after test 1941 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19410002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Server == from the connect[LF] Silly-thing == yes yes[LF] === End of file check-expected === Start of file http2_server.log 02:03:32.128541 ====> Client connect 02:03:32.128622 accept_connection 3 returned 4 02:03:32.128641 accept_connection 3 returned 0 02:03:32.128654 Read 93 bytes 02:03:32.128665 Process 93 bytes request 02:03:32.128677 Got request: GET /verifiedserver HTTP/1.1 02:03:32.128687 Are-we-friendly question received 02:03:32.128712 Wrote request (93 bytes) input to log/3/proxy.input 02:03:32.128729 Identifying ourselves as friends 02:03:32.128801 Response sent (57 bytes) and written to log/3/proxy.response 02:03:32.128813 special request received, no persistency 02:03:32.128823 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35495... * Connected to 127.0.0.1 (127.0.0.1) port 35495 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35495 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 112673 === End of file http2_verify.out === Start of file http_server.log 02:03:32.108769 ====> Client connect 02:03:32.108802 accept_connection 3 returned 4 02:03:32.108820 accept_connection 3 returned 0 02:03:32.108834 Read 93 bytes 02:03:32.108846 Process 93 bytes request 02:03:32.108861 Got request: GET /verifiedserver HTTP/1.1 02:03:32.108871 Are-we-friendly question received 02:03:32.108895 Wrote request (93 bytes) input to log/3/server.input 02:03:32.108912 Identifying ourselves as friends 02:03:32.108979 Response sent (56 bytes) and written to log/3/server.response 02:03:32.108990 special request received, no persistency 02:03:32.108999 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112673 === End of file proxy.response === Start of file server.cmd Testnum 1941 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr1941 URL: http://hello:34527/1941 === End of file stderr1941 === Start of file valgrind1941 ==161086== ==161086== Process terminating with default action of signal 4 (SIGILL) ==161086== Illegal opcode at address 0x48EA16B ==161086== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161086== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161086== by 0x48EA16B: Curl_open (url.c:519) ==161086== by 0x4880EEF: curl_easy_init (easy.c:370) ==161086== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161086== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161086== by 0x10909C: main (first.c:220) ==161086== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161086== by 0x4A6D258: __tsearch (tsearch.c:337) ==161086== by 0x4A6D258: tsearch (tsearch.c:290) ==161086== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161086== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161086== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161086== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161086== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161086== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161086== by 0x498986B: setlocale (setlocale.c:337) ==161086== by 0x109045: main (first.c:160) ==161086== ==161086== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161086== by 0x4A6D258: __tsearch (tsearch.c:337) ==161086== by 0x4A6D258: tsearch (tsearch.c:290) ==161086== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161086== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161086== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161086== by 0x498986B: setlocale (setlocale.c:337) ==161086== by 0x109045: main (first.c:160) ==161086== ==161086== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161086== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161086== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161086== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161086== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161086== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161086== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161086== by 0x498986B: setlocale (setlocale.c:337) ==161086== by 0x109045: main (first.c:160) ==161086== ==161086== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161086== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161086== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161086== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161086== by 0x498986B: setlocale (setlocale.c:337) ==161086== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1944 ./libtest/lib1940 http://127.0.0.1:40653/1944 > log/12/stdout1944 2> log/12/stderr1944 by 0x109045: main (first.c:160) ==161086== ==161086== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161086== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161086== by 0x48EA143: Curl_open (url.c:510) ==161086== by 0x4880EEF: curl_easy_init (easy.c:370) ==161086== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161086== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161086== by 0x10909C: main (first.c:220) ==161086== ==161086== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161086== by 0x4A6D258: __tsearch (tsearch.c:337) ==161086== by 0x4A6D258: tsearch (tsearch.c:290) ==161086== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161086== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161086== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161086== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161086== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161086== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161086== by 0x498986B: setlocale (setlocale.c:337) ==161086== by 0x109045: main (first.c:160) ==161086== ==161086== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161086== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161086== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161086== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161086== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161086== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161086== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161086== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161086== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161086== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161086== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161086== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161086== by 0x498986B: setlocale (setlocale.c:337) ==161086== by 0x109045: main (first.c:160) ==161086== === End of file valgrind1941 test 1944...[curl_easy_header with redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1944 ./libtest/lib1940 http://127.0.0.1:40653/1944 > log/12/stdout1944 2> log/12/stderr1944 1944: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:32.953806173 +0000 +++ log/12/check-generated 2024-12-15 02:03:32.953806173 +0000 @@ -1,6 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == the other one[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] -- Set-Cookie == 1cookie=data1; (0/2)[LF] -- Set-Cookie == 2cookie=data2; (1/2)[LF] == Contents of files in the log/12/ dir after test 1944 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == the other one[LF] Content-Type == text/html[LF] Content-Length == 0[LF] - Set-Cookie == 1cookie=data1; (0/2)[LF] - Set-Cookie == 2cookie=data2; (1/2)[LF] === End of file check-expected === Start of file http_server.log 02:03:32.229374 ====> Client connect 02:03:32.229416 accept_connection 3 returned 4 02:03:32.229435 accept_connection 3 returned 0 02:03:32.229453 Read 93 bytes 02:03:32.229465 Process 93 bytes request 02:03:32.229483 Got request: GET /verifiedserver HTTP/1.1 02:03:32.229494 Are-we-friendly question received 02:03:32.229523 Wrote request (93 bytes) input to log/12/server.input 02:03:32.229545 Identifying ourselves as friends 02:03:32.229622 Response sent (56 bytes) and written to log/12/server.response 02:03:32.229639 special request received, no persistency 02:03:32.229650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 1944 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr1944 URL: http://127.0.0.1:40653/1944 === End of file stderr1944 === Start of file valgrind1944 ==161232== ==161232== Process terminating with default action of signal 4 (SIGILL) ==161232== Illegal opcode at address 0x48EA16B ==161232== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161232== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161232== by 0x48EA16B: Curl_open (url.c:519) ==161232== by 0x4880EEF: curl_easy_init (easy.c:370) ==161232== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161232== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161232== by 0x10909C: main (first.c:220) ==161232== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161232== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161232== by 0x4A6D258: __tsearch (tsearch.c:337) ==161232== by 0x4A6D258: tsearch (tsearch.c:290) ==161232== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161232== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161232== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161232== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161232== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161232== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161232== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161232== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161232== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161232== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161232== by 0x498986B: setlocale (setlocale.c:337) ==161232== by 0x109045: main (first.c:160) ==161232== ==161232== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161232== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161232== by 0x4A6D258: __tsearch (tsearch.c:337) ==161232== by 0x4A6D258: tsearch (tsearch.c:290) ==161232== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161232== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161232== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161232== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161232== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161232== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161232== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161232== by 0x498986B: setlocale (setlocale.c:337) ==161232== by 0x109045: main (first.c:160) ==161232== ==161232== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161232== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161232== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161232== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161232== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161232== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161232== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161232== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161232== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161232== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161232== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161232== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161232== by 0x498986B: setlocale (setlocale.c:337) ==161232== by 0x109045: main (first.c:160) ==161232== ==161232== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161232== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161232== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161232== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161232== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161232== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161232== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161232== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161232== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161232== by 0x498986B: setlocale (setlocale.c:337) ==161232== by 0x109045: main (first.c:160) ==161232== ==161232== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161232== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161232== by 0x48EA143: Curl_open (url.c:510) ==161232== by 0x4880EEF: curl_easy_init (easy.c:370) ==161232== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161232== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161232== by 0x10909C: main (first.c:220) ==161232== ==161232== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161232== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161232== by 0x4A6D258: __tsearch (tsearch.c:337) ==161232== by 0x4A6D258: tsearch (tsearch.c:290) ==161232== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161232== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161232== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161232== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161232== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161232== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161232== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161232== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161232== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161232== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161232== by 0x498986B: setlocale (setlocale.c:337) ==161232== by 0x109045: main (first.c:160) ==161232== ==161232== 18,800 bytes in 486 blocks are possibly lost in loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1913 ./libtest/lib1913 ftp://127.0.0.1:41473/not-there/1913 > log/9/stdout1913 2> log/9/stderr1913 ss record 652 of 654 ==161232== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161232== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161232== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161232== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161232== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161232== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161232== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161232== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161232== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161232== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161232== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161232== by 0x498986B: setlocale (setlocale.c:337) ==161232== by 0x109045: main (first.c:160) ==161232== === End of file valgrind1944 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/ftp_server.pid" --logfile "log/9/ftp_server.log" --logdir "log/9" --portfile "log/9/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41473 (log/9/server/ftp_server.port) RUN: ../src/curl --max-time 13 --silent --verbose --globoff "ftp://127.0.0.1:41473/verifiedserver" 2>log/9/ftp_verify.log RUN: Verifying our test ftp server took 0 seconds RUN: FTP server is PID 160589 port 41473 * pid ftp => 160589 160589 test 1913...[FTP with NOBODY set, getting a missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1913 ./libtest/lib1913 ftp://127.0.0.1:41473/not-there/1913 > log/9/stdout1913 2> log/9/stderr1913 lib1913 returned 132, when expecting 78 1913: exit FAILED == Contents of files in the log/9/ dir after test 1913 === Start of file ftp_server.log 02:03:31.116102 FTP server listens on port IPv4/41473 02:03:31.116183 logged pid 160589 in log/9/server/ftp_server.pid 02:03:31.116211 Awaiting input 02:03:32.102615 ====> Client connect 02:03:32.102742 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:32.102954 < "USER anonymous" 02:03:32.102980 > "331 We are happy you popped in![CR][LF]" 02:03:32.103124 < "PASS ftp@example.com" 02:03:32.103142 > "230 Welcome you silly person[CR][LF]" 02:03:32.103248 < "PWD" 02:03:32.103269 > "257 "/" is current directory[CR][LF]" 02:03:32.103379 < "EPSV" 02:03:32.103398 ====> Passive DATA channel requested by client 02:03:32.103407 DATA sockfilt for passive data channel starting... 02:03:32.104501 DATA sockfilt for passive data channel started (pid 161297) 02:03:32.104581 DATA sockfilt for passive data channel listens on port 44993 02:03:32.104621 > "229 Entering Passive Mode (|||44993|)[LF]" 02:03:32.104642 Client has been notified that DATA conn will be accepted on port 44993 02:03:32.104809 Client connects to port 44993 02:03:32.104831 ====> Client established passive DATA connection on port 44993 02:03:32.104876 < "TYPE I" 02:03:32.104895 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:32.105002 < "SIZE verifiedserver" 02:03:32.105034 > "213 18[CR][LF]" 02:03:32.105144 < "RETR verifiedserver" 02:03:32.105167 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:32.105220 =====> Closing passive DATA connection... 02:03:32.105230 Server disconnects passive DATA connection 02:03:32.105394 Server disconnected passive DATA connection 02:03:32.105414 DATA sockfilt for passive data channel quits (pid 161297) 02:03:32.105626 DATA sockfilt for passive data channel quit (pid 161297) 02:03:32.105643 =====> Closed passive DATA connection 02:03:32.105662 > "226 File transfer complete[CR][LF]" 02:03:32.151923 < "QUIT" 02:03:32.151972 > "221 bye bye baby[CR][LF]" 02:03:32.152677 MAIN sockfilt said DISC 02:03:32.152703 ====> Client disconnected 02:03:32.152761 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:31.316014 Running IPv4 version 02:03:31.316061 Listening on port 41473 02:03:31.316099 Wrote pid 160677 to log/9/server/ftp_sockctrl.pid 02:03:31.316130 Wrote port 41473 to log/9/server/ftp_server.port 02:03:31.316148 Received PING (on stdin) 02:03:32.302683 ====> Client connect 02:03:32.302880 Received DATA (on stdin) 02:03:32.302890 > 160 bytes data, server => client 02:03:32.302899 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:32.302907 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:32.302915 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:32.302968 < 16 bytes data, client => server 02:03:32.302977 'USER anonymous\r\n' 02:03:32.303115 Received DATA (on stdin) 02:03:32.303124 > 33 bytes data, server => client 02:03:32.303132 '331 We are happy you popped in!\r\n' 02:03:32.303194 < 22 bytes data, client => server 02:03:32.303203 'PASS ftp@example.com\r\n' 02:03:32.303275 Received DATA (on stdin) 02:03:32.303284 > 30 bytes data, server => client 02:03:32.303292 '230 Welcome you silly person\r\n' 02:03:32.303327 < 5 bytes data, client => server 02:03:32.303335 'PWD\r\n' 02:03:32.303401 Received DATA (on stdin) 02:03:32.303409 > 30 bytes data, server => client 02:03:32.303417 '257 "/" is current directory\r\n' 02:03:32.303456 < 6 bytes data, client => server 02:03:32.303464 'EPSV\r\n' 02:03:32.304780 Received DATA (on stdin) 02:03:32.304790 > 38 bytes data, server => client 02:03:32.304799 '229 Entering Passive Mode (|||44993|)\n' 02:03:32.304887 < 8 bytes data, client => server 02:03:32.304899 'TYPE I\r\n' 02:03:32.305027 Received DATA (on stdin) 02:03:32.305036 > 33 bytes data, server => client 02:03:32.305044 '200 I modify TYPE as you wanted\r\n' 02:03:32.305081 < 21 bytes data, client => server 02:03:32.305089 'SIZE verifiedserver\r\n' 02:03:32.305168 Received DATA (on stdin) 02:03:32.305177 > 8 bytes data, server => client 02:03:32.305184 '213 18\r\n' 02:03:32.305220 < 21 bytes data, client => server 02:03:32.305228 'RETR verifiedserver\r\n' 02:03:32.305431 Received DATA (on stdin) 02:03:32.305440 > 29 bytes data, server => client 02:03:32.305448 '150 Binary junk (18 bytes).\r\n' 02:03:32.305796 Received DATA (on stdin) 02:03:32.305806 > 28 bytes data, server => client 02:03:32.305814 '226 File transfer complete\r\n' 02:03:32.351914 < 6 bytes data, client => server 02:03:32.351937 'QUIT\r\n' 02:03:32.352113 Received DATA (on stdin) 02:03:32.352126 > 18 bytes data, server => client 02:03:32.352136 '221 bye bye baby\r\n' 02:03:32.352766 ====> Client disconnect 02:03:32.352898 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:32.304513 Running IPv4 version 02:03:32.304556 Listening on port 44993 02:03:32.304580 Wrote pid 161297 to log/9/server/ftp_sockdata.pid 02:03:32.304592 Received PING (on stdin) 02:03:32.304652 Received PORT (on stdin) 02:03:32.304912 ====> Client connect 02:03:32.305364 Received DATA (on stdin) 02:03:32.305374 > 18 bytes data, server => client 02:03:32.305381 'WE ROOLZ: 160589\r\n' 02:03:32.305404 Received DISC (on stdin) 02:03:32.305412 ====> Client forcibly disconnected 02:03:32.305553 Received QUIT (on stdin) 02:03:32.305561 quits 02:03:32.305663 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 550 no such file Testnum 1913 === End of file server.cmd === Start of file stderr1913 URL: ftp://127.0.0.1:41473/not-there/1913 === End of file stderr1913 === Start of file valgrind1913 ==161335== ==161335== Process terminating with default action of signal 4 (SIGILL) ==161335== Illegal opcode at address 0x48EA16B ==161335== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161335== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161335== by 0x48EA16B: Curl_open (url.c:519) ==161335== by 0x4880EEF: curlCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1945 ./libtest/lib1945 http://hello:43753/1945 127.0.0.1:44391 > log/7/stdout1945 2> log/7/stderr1945 _easy_init (easy.c:370) ==161335== by 0x1090BC: UnknownInlinedFun (lib1913.c:38) ==161335== by 0x1090BC: main (first.c:220) ==161335== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161335== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161335== by 0x4A6D258: __tsearch (tsearch.c:337) ==161335== by 0x4A6D258: tsearch (tsearch.c:290) ==161335== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161335== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161335== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161335== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161335== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161335== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161335== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161335== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161335== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161335== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161335== by 0x498986B: setlocale (setlocale.c:337) ==161335== by 0x109056: main (first.c:160) ==161335== ==161335== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161335== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161335== by 0x4A6D258: __tsearch (tsearch.c:337) ==161335== by 0x4A6D258: tsearch (tsearch.c:290) ==161335== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161335== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161335== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161335== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161335== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161335== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161335== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161335== by 0x498986B: setlocale (setlocale.c:337) ==161335== by 0x109056: main (first.c:160) ==161335== ==161335== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161335== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161335== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161335== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161335== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161335== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161335== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161335== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161335== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161335== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161335== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161335== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161335== by 0x498986B: setlocale (setlocale.c:337) ==161335== by 0x109056: main (first.c:160) ==161335== ==161335== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161335== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161335== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161335== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161335== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161335== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161335== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161335== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161335== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161335== by 0x498986B: setlocale (setlocale.c:337) ==161335== by 0x109056: main (first.c:160) ==161335== ==161335== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161335== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161335== by 0x48EA143: Curl_open (url.c:510) ==161335== by 0x4880EEF: curl_easy_init (easy.c:370) ==161335== by 0x1090BC: UnknownInlinedFun (lib1913.c:38) ==161335== by 0x1090BC: main (first.c:220) ==161335== ==161335== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161335== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161335== by 0x4A6D258: __tsearch (tsearch.c:337) ==161335== by 0x4A6D258: tsearch (tsearch.c:290) ==161335== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161335== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161335== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161335== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161335== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161335== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161335== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161335== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161335== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161335== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161335== by 0x498986B: setlocale (setlocale.c:337) ==161335== by 0x109056: main (first.c:160) ==161335== ==161335== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161335== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161335== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161335== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161335== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161335== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161335== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161335== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161335== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161335== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161335== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161335== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161335== by 0x498986B: setlocale (setlocale.c:337) ==161335== by 0x109056: main (first.c:160) ==161335== === End of file valgrind1913 test 1945...[curl_easy_nextheader with server + CONNECT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1945 ./libtest/lib1945 http://hello:43753/1945 127.0.0.1:44391 > log/7/stdout1945 2> log/7/stderr1945 1945: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:33.033807592 +0000 +++ log/7/check-generated 2024-12-15 02:03:33.033807592 +0000 @@ -1,10 +0,0 @@ - Server == from the connect (0/2)[LF] - Silly-thing == yes yes (0/1)[LF] - Date == Thu, 09 Nov 2010 14:49:00 GMT (0/1)[LF] - Server == test with trailing space (1/2)[LF] - Content-Type == text/html (0/1)[LF] - Content-Length == 0 (0/1)[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] - Location == /19450002 (0/1)[LF] == Contents of files in the log/7/ dir after test 1945 === Start of file check-expected Server == from the connect (0/2)[LF] Silly-thing == yes yes (0/1)[LF] Date == Thu, 09 Nov 2010 14:49:00 GMT (0/1)[LF] Server == test with trailing space (1/2)[LF] Content-Type == text/html (0/1)[LF] Content-Length == 0 (0/1)[LF] Set-Cookie == onecookie=data; (0/3)[LF] Set-Cookie == secondcookie=2data; (1/3)[LF] Set-Cookie == cookie3=data3; (2/3)[LF] Location == /19450002 (0/1)[LF] === End of file check-expected === Start of file http2_server.log 02:03:32.345130 ====> Client connect 02:03:32.345177 accept_connection 3 returned 4 02:03:32.345196 accept_connection 3 returned 0 02:03:32.345211 Read 93 bytes 02:03:32.345221 Process 93 bytes request 02:03:32.345236 Got request: GET /verifiedserver HTTP/1.1 02:03:32.345245 Are-we-friendly question received 02:03:32.345270 Wrote request (93 bytes) input to log/7/proxy.input 02:03:32.345288 Identifying ourselves as friends 02:03:32.345360 Response sent (57 bytes) and written to log/7/proxy.response 02:03:32.345373 special request received, no persistency 02:03:32.345382 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44391... * Connected to 127.0.0.1 (127.0.0.1) port 44391 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44391 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 140003 === End of file http2_verify.out === Start of file http_server.log 02:03:32.323759 ====> Client connect 02:03:32.323797 accept_connection 3 returned 4 02:03:32.323815 accept_connection 3 returned 0 02:03:32.323829 Read 93 bytes 02:03:32.323841 Process 93 bytes request 02:03:32.323856 Got request: GET /verifiedserver HTTP/1.1 02:03:32.323866 Are-we-friendly question received 02:03:32.323889 Wrote request (93 bytes) input to log/7/server.input 02:03:32.323906 Identifying ourselves as friends 02:03:32.323970 Response sent (56 bytes) and written to log/7/server.response 02:03:32.323980 special request received, no persistency 02:03:32.323990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 140003 === End of file proxy.response === Start of file server.cmd Testnum 1945 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr1945 URL: http://hello:43753/1945 === End of file stderr1945 === Start of file valgrind1945 ==161329== ==161329== Process terminating with default action of signal 4 (SIGILL) ==161329== Illegal opcode at address 0x48EA16B ==161329== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161329== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161329== by 0x48EA16B: Curl_open (url.c:519) ==161329== by 0x4880EEF: curl_easy_init (easy.c:370) ==161329== by 0x1090A2: UnknownInlinedFun (lib1945.c:59) ==161329== by 0x1090A2: UnknownInlinedFun (lib1945.c:52) ==161329== by 0x1090A2: main (first.c:220) ==161329== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161329== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161329== by 0x4A6D258: __tsearch (tsearch.c:337) ==161329== by 0x4A6D258: tsearch (tsearch.c:290) ==161329== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161329== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161329== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161329== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161329== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161329== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161329== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161329== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161329== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161329== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161329== by 0x498986B: setlocale (setlocale.c:337) ==161329== by 0x10904B: main (first.c:160) ==161329== ==161329== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161329== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161329== by 0x4A6D258: __tsearch (tsearch.c:337) ==161329== by 0x4A6D258: tsearch (tsearch.c:290) ==161329== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161329== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161329== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161329== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161329== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161329== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161329== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161329== by 0x498986B: setlocale (setlocale.c:337) ==161329== by 0x10904B: main (first.c:160) ==161329== ==161329== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161329== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161329== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161329== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161329== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161329== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161329== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161329== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161329== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161329== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161329== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161329== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161329== by 0x498986B: setlocale (setlocale.c:337) ==161329== by 0x10904B: main (first.c:160) ==161329== ==161329== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161329== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161329== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161329== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161329== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161329== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161329== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161329== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161329== by 0x4986E9D: _nl_find_locale (CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1946 ./libtest/lib1946 http://127.0.0.1:38805/1946 > log/8/stdout1946 2> log/8/stderr1946 findlocale.c:298) ==161329== by 0x498986B: setlocale (setlocale.c:337) ==161329== by 0x10904B: main (first.c:160) ==161329== ==161329== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161329== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161329== by 0x48EA143: Curl_open (url.c:510) ==161329== by 0x4880EEF: curl_easy_init (easy.c:370) ==161329== by 0x1090A2: UnknownInlinedFun (lib1945.c:59) ==161329== by 0x1090A2: UnknownInlinedFun (lib1945.c:52) ==161329== by 0x1090A2: main (first.c:220) ==161329== ==161329== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161329== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161329== by 0x4A6D258: __tsearch (tsearch.c:337) ==161329== by 0x4A6D258: tsearch (tsearch.c:290) ==161329== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161329== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161329== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161329== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161329== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161329== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161329== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161329== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161329== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161329== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161329== by 0x498986B: setlocale (setlocale.c:337) ==161329== by 0x10904B: main (first.c:160) ==161329== ==161329== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161329== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161329== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161329== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161329== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161329== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161329== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161329== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161329== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161329== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161329== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161329== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161329== by 0x498986B: setlocale (setlocale.c:337) ==161329== by 0x10904B: main (first.c:160) ==161329== === End of file valgrind1945 test 1946...[curl_easy_header with redirect but get headers from first request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1946 ./libtest/lib1946 http://127.0.0.1:38805/1946 > log/8/stdout1946 2> log/8/stderr1946 1946: stdout FAILED: --- log/8/check-expected 2024-12-15 02:03:33.137142760 +0000 +++ log/8/check-generated 2024-12-15 02:03:33.137142760 +0000 @@ -1,8 +0,0 @@ - Date == Thu, 01 Nov 2001 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19460002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] == Contents of files in the log/8/ dir after test 1946 === Start of file check-expected Date == Thu, 01 Nov 2001 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19460002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] === End of file check-expected === Start of file http_server.log 02:03:32.386280 ====> Client connect 02:03:32.386314 accept_connection 3 returned 4 02:03:32.386332 accept_connection 3 returned 0 02:03:32.386346 Read 93 bytes 02:03:32.386356 Process 93 bytes request 02:03:32.386370 Got request: GET /verifiedserver HTTP/1.1 02:03:32.386379 Are-we-friendly question received 02:03:32.386400 Wrote request (93 bytes) input to log/8/server.input 02:03:32.386417 Identifying ourselves as friends 02:03:32.386488 Response sent (57 bytes) and written to log/8/server.response 02:03:32.386499 special request received, no persistency 02:03:32.386508 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 1946 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file stderr1946 URL: http://127.0.0.1:38805/1946 === End of file stderr1946 === Start of file valgrind1946 ==161435== ==161435== Process terminating with default action of signal 4 (SIGILL) ==161435== Illegal opcode at address 0x48EA16B ==161435== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161435== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161435== by 0x48EA16B: Curl_open (url.c:519) ==161435== by 0x4880EEF: curl_easy_init (easy.c:370) ==161435== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161435== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161435== by 0x10909C: main (first.c:220) ==161435== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161435== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161435== by 0x4A6D258: __tsearch (tsearch.c:337) ==161435== by 0x4A6D258: tsearch (tsearch.c:290) ==161435== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161435== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161435== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161435== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161435== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161435== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161435== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161435== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161435== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161435== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161435== by 0x498986B: setlocale (setlocale.c:337) ==161435== by 0x109045: main (first.c:160) ==161435== ==161435== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161435== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161435== by 0x4A6D258: __tsearch (tsearch.c:337) ==161435== by 0x4A6D258: tsearch (tsearch.c:290) ==161435== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161435== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161435== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161435== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161435== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161435== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161435== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161435== by 0x498986B: setlocale (setlocale.c:337) ==161435== by 0x109045: main (first.c:160) ==161435== ==161435== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161435== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161435== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161435== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161435== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161435== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161435== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161435== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161435== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161435== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161435== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161435== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161435== by 0x498986B: setlocale (setlocale.c:337) ==161435== by 0x109045: main (first.c:160) ==161435== ==161435== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161435== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161435== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161435== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161435== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161435== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161435== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161435== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161435== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161435== by 0x498986B: setlocale (setlocale.c:337) ==161435== by 0x109045: main (first.c:160) ==161435== ==161435== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161435== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161435== by 0x48EA143: Curl_open (url.c:510) ==161435== by 0x4880EEF: curl_easy_init (easy.c:370) ==161435== by 0x10909C: UnknownInlinedFun (lib1940.c:92) ==161435== by 0x10909C: UnknownInlinedFun (lib1940.c:86) ==161435== by 0x10909C: main (first.c:220) ==161435== ==161435== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161435== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161435== by 0x4A6D258: __tsearch (tsearch.c:337) ==161435== by 0x4A6D258: tsearch (tsearch.c:290) ==161435== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161435== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161435== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161435== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161435== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161435== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161435== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161435== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161435== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161435== by 0x4986E9D: _nl_find_lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1947 ./libtest/lib1947 http://127.0.0.1:38781/1947 http://127.0.0.1:38781/19470003 > log/2/stdout1947 2> log/2/stderr1947 ocale (findlocale.c:298) ==161435== by 0x498986B: setlocale (setlocale.c:337) ==161435== by 0x109045: main (first.c:160) ==161435== ==161435== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161435== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161435== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161435== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161435== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161435== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161435== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161435== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161435== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161435== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161435== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161435== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161435== by 0x498986B: setlocale (setlocale.c:337) ==161435== by 0x109045: main (first.c:160) ==161435== === End of file valgrind1946 test 1947...[curl_easy_nextheader on second request after first did redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1947 ./libtest/lib1947 http://127.0.0.1:38781/1947 http://127.0.0.1:38781/19470003 > log/2/stdout1947 2> log/2/stderr1947 1947: stdout FAILED: --- log/2/check-expected 2024-12-15 02:03:33.330479524 +0000 +++ log/2/check-generated 2024-12-15 02:03:33.330479524 +0000 @@ -1,2 +0,0 @@ -count = 2[LF] -count = 1[LF] == Contents of files in the log/2/ dir after test 1947 === Start of file check-expected count = 2[LF] count = 1[LF] === End of file check-expected === Start of file http_server.log 02:03:32.652573 ====> Client connect 02:03:32.652609 accept_connection 3 returned 4 02:03:32.652627 accept_connection 3 returned 0 02:03:32.652642 Read 93 bytes 02:03:32.652653 Process 93 bytes request 02:03:32.652666 Got request: GET /verifiedserver HTTP/1.1 02:03:32.652676 Are-we-friendly question received 02:03:32.652701 Wrote request (93 bytes) input to log/2/server.input 02:03:32.652718 Identifying ourselves as friends 02:03:32.652788 Response sent (56 bytes) and written to log/2/server.response 02:03:32.652800 special request received, no persistency 02:03:32.652809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 1947 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr1947 URL: http://127.0.0.1:38781/1947 === End of file stderr1947 === Start of file valgrind1947 ==161524== ==161524== Process terminating with default action of signal 4 (SIGILL) ==161524== Illegal opcode at address 0x48EA16B ==161524== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161524== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161524== by 0x48EA16B: Curl_open (url.c:519) ==161524== by 0x4880EEF: curl_easy_init (easy.c:370) ==161524== by 0x1090A2: UnknownInlinedFun (lib1947.c:46) ==161524== by 0x1090A2: UnknownInlinedFun (lib1947.c:36) ==161524== by 0x1090A2: main (first.c:220) ==161524== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161524== by 0x4A6D258: __tsearch (tsearch.c:337) ==161524== by 0x4A6D258: tsearch (tsearch.c:290) ==161524== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161524== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161524== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161524== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161524== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161524== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161524== by 0x498986B: setlocale (setlocale.c:337) ==161524== by 0x10904B: main (first.c:160) ==161524== ==161524== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161524== by 0x4A6D258: __tsearch (tsearch.c:337) ==161524== by 0x4A6D258: tsearch (tsearch.c:290) ==161524== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161524== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161524== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161524== by 0x498986B: setlocale (setlocale.c:337) ==161524== by 0x10904B: main (first.c:160) ==161524== ==161524== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161524== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161524== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161524== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161524== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161524== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161524== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161524== by 0x498986B: setlocale (setlocale.c:337) ==161524== by 0x10904B: main (first.c:160) ==161524== ==161524== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161524== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161524== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161524== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161524== by 0x498986B: setlocale (setlocale.c:337) ==161524== by 0x10904B: main (first.c:160) ==161524== ==161524== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161524== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161524== by 0x48EA143: Curl_open (url.c:510) ==161524== by 0x4880EEF: curl_easy_init (easy.c:370) ==161524== by 0x1090A2: UnknownInlinedFun (lib1947.c:46) ==161524== by 0x1090A2: UnknownInlinedFun (lib1947.c:36) ==161524== by 0x1090A2: main (first.c:220) ==161524== ==161524== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161524== by 0x4A6D258: __tsearch (tsearch.c:337) ==161524== by 0x4A6D258: tsearch (tsearch.c:290) ==161524== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161524== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161524== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161524== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161524== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161524== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161524== by 0x498986B: setlocale (setlocale.c:337) ==161524== by 0x10904B: main (first.c:160) ==161524== ==161524== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161524== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161524== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161524== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161524== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161524== by 0x497DBB2: read_conf_file.isrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1948 ./libtest/lib1948 http://127.0.0.1:44137/1948 > log/11/stdout1948 2> log/11/stderr1948 a.0 (gconv_parseconfdir.h:101) ==161524== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161524== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161524== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161524== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161524== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161524== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161524== by 0x498986B: setlocale (setlocale.c:337) ==161524== by 0x10904B: main (first.c:160) ==161524== === End of file valgrind1947 test 1948...[CURLOPT_POST after CURLOPT_UPLOAD reusing handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1948 ./libtest/lib1948 http://127.0.0.1:44137/1948 > log/11/stdout1948 2> log/11/stderr1948 1948: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 1948 === Start of file http_server.log 02:03:32.657581 ====> Client connect 02:03:32.657610 accept_connection 3 returned 4 02:03:32.657626 accept_connection 3 returned 0 02:03:32.657639 Read 93 bytes 02:03:32.657650 Process 93 bytes request 02:03:32.657662 Got request: GET /verifiedserver HTTP/1.1 02:03:32.657672 Are-we-friendly question received 02:03:32.657696 Wrote request (93 bytes) input to log/11/server.input 02:03:32.657714 Identifying ourselves as friends 02:03:32.657774 Response sent (56 bytes) and written to log/11/server.response 02:03:32.657784 special request received, no persistency 02:03:32.657793 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 1948 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr1948 URL: http://127.0.0.1:44137/1948 === End of file stderr1948 === Start of file valgrind1948 ==161530== ==161530== Process terminating with default action of signal 4 (SIGILL) ==161530== Illegal opcode at address 0x48EA16B ==161530== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161530== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161530== by 0x48EA16B: Curl_open (url.c:519) ==161530== by 0x4880EEF: curl_easy_init (easy.c:370) ==161530== by 0x109091: UnknownInlinedFun (lib1948.c:53) ==161530== by 0x109091: main (first.c:220) ==161530== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161530== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161530== by 0x4A6D258: __tsearch (tsearch.c:337) ==161530== by 0x4A6D258: tsearch (tsearch.c:290) ==161530== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161530== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161530== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161530== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161530== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161530== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161530== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161530== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161530== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161530== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161530== by 0x498986B: setlocale (setlocale.c:337) ==161530== by 0x109056: main (first.c:160) ==161530== ==161530== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161530== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161530== by 0x4A6D258: __tsearch (tsearch.c:337) ==161530== by 0x4A6D258: tsearch (tsearch.c:290) ==161530== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161530== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161530== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161530== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161530== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161530== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161530== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161530== by 0x498986B: setlocale (setlocale.c:337) ==161530== by 0x109056: main (first.c:160) ==161530== ==161530== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161530== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161530== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161530== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161530== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161530== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161530== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161530== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161530== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161530== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161530== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161530== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161530== by 0x498986B: setlocale (setlocale.c:337) ==161530== by 0x109056: main (first.c:160) ==161530== ==161530== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161530== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161530== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161530== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161530== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161530== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161530== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161530== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161530== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161530== by 0x498986B: setlocale (setlocale.c:337) ==161530== by 0x109056: main (first.c:160) ==161530== ==161530== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161530== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161530== by 0x48EA143: Curl_open (url.c:510) ==161530== by 0x4880EEF: curl_easy_init (easy.c:370) ==161530== by 0x109091: UnknownInlinedFun (lib1948.c:53) ==161530== by 0x109091: main (first.c:220) ==161530== ==161530== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161530== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161530== by 0x4A6D258: __tsearch (tsearch.c:337) ==161530== by 0x4A6D258: tsearch (tsearch.c:290) ==161530== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161530== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161530== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161530== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161530== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161530== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161530== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161530== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161530== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161530== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161530== by 0x498986B: setlocale (setlocale.c:337) ==161530== by 0x109056: main (first.c:160) ==161530== ==161530== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2000 ../src/curl -q --trace-ascii log/3/trace2000 --trace-config all --trace-time ftp://127.0.0.1:45983/2000 file://localhost/startdir/src/build-curl/tests/log/3/test2000.txt > log/3/stdout2000 2> log/3/stderr2000 161530== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161530== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161530== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161530== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161530== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161530== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161530== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161530== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161530== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161530== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161530== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161530== by 0x498986B: setlocale (setlocale.c:337) ==161530== by 0x109056: main (first.c:160) ==161530== === End of file valgrind1948 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2001 ../src/curl -q --trace-ascii log/12/trace2001 --trace-config all --trace-time http://127.0.0.1:40653/20010001 ftp://127.0.0.1:40171/20010002 file://localhost/startdir/src/build-curl/tests/log/12/test2001.txt > log/12/stdout2001 2> log/12/stderr2001 test 2000...[FTP RETR followed by FILE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2000 ../src/curl -q --trace-ascii log/3/trace2000 --trace-config all --trace-time ftp://127.0.0.1:45983/2000 file://localhost/startdir/src/build-curl/tests/log/3/test2000.txt > log/3/stdout2000 2> log/3/stderr2000 2000: stdout FAILED: --- log/3/check-expected 2024-12-15 02:03:33.370480234 +0000 +++ log/3/check-generated 2024-12-15 02:03:33.370480234 +0000 @@ -1,11 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/3/ dir after test 2000 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file ftp_server.log 02:03:32.851453 ====> Client connect 02:03:32.851580 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:32.851844 < "USER anonymous" 02:03:32.851878 > "331 We are happy you popped in![CR][LF]" 02:03:32.852028 < "PASS ftp@example.com" 02:03:32.852050 > "230 Welcome you silly person[CR][LF]" 02:03:32.852180 < "PWD" 02:03:32.852206 > "257 "/" is current directory[CR][LF]" 02:03:32.852341 < "EPSV" 02:03:32.852363 ====> Passive DATA channel requested by client 02:03:32.852376 DATA sockfilt for passive data channel starting... 02:03:32.853606 DATA sockfilt for passive data channel started (pid 161690) 02:03:32.853699 DATA sockfilt for passive data channel listens on port 44327 02:03:32.853739 > "229 Entering Passive Mode (|||44327|)[LF]" 02:03:32.853755 Client has been notified that DATA conn will be accepted on port 44327 02:03:32.853959 Client connects to port 44327 02:03:32.853983 ====> Client established passive DATA connection on port 44327 02:03:32.854030 < "TYPE I" 02:03:32.854049 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:32.854171 < "SIZE verifiedserver" 02:03:32.854199 > "213 17[CR][LF]" 02:03:32.854310 < "RETR verifiedserver" 02:03:32.854334 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:32.854388 =====> Closing passive DATA connection... 02:03:32.854400 Server disconnects passive DATA connection 02:03:32.854602 Server disconnected passive DATA connection 02:03:32.854629 DATA sockfilt for passive data channel quits (pid 161690) 02:03:32.854768 DATA sockfilt for passive data channel quit (pid 161690) 02:03:32.854784 =====> Closed passive DATA connection 02:03:32.854803 > "226 File transfer complete[CR][LF]" 02:03:32.895341 < "QUIT" 02:03:32.895394 > "221 bye bye baby[CR][LF]" 02:03:32.895863 MAIN sockfilt said DISC 02:03:32.895893 ====> Client disconnected 02:03:32.895962 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:33.051503 ====> Client connect 02:03:33.051728 Received DATA (on stdin) 02:03:33.051742 > 160 bytes data, server => client 02:03:33.051754 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:33.051766 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:33.051776 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:33.051857 < 16 bytes data, client => server 02:03:33.051871 'USER anonymous\r\n' 02:03:33.052018 Received DATA (on stdin) 02:03:33.052030 > 33 bytes data, server => client 02:03:33.052041 '331 We are happy you popped in!\r\n' 02:03:33.052089 < 22 bytes data, client => server 02:03:33.052100 'PASS ftp@example.com\r\n' 02:03:33.052186 Received DATA (on stdin) 02:03:33.052197 > 30 bytes data, server => client 02:03:33.052207 '230 Welcome you silly person\r\n' 02:03:33.052250 < 5 bytes data, client => server 02:03:33.052260 'PWD\r\n' 02:03:33.052341 Received DATA (on stdin) 02:03:33.052352 > 30 bytes data, server => client 02:03:33.052362 '257 "/" is current directory\r\n' 02:03:33.052412 < 6 bytes data, client => server 02:03:33.052422 'EPSV\r\n' 02:03:33.053899 Received DATA (on stdin) 02:03:33.053913 > 38 bytes data, server => client 02:03:33.053925 '229 Entering Passive Mode (|||44327|)\n' 02:03:33.054030 < 8 bytes data, client => server 02:03:33.054044 'TYPE I\r\n' 02:03:33.054187 Received DATA (on stdin) 02:03:33.054197 > 33 bytes data, server => client 02:03:33.054205 '200 I modify TYPE as you wanted\r\n' 02:03:33.054246 < 21 bytes data, client => server 02:03:33.054255 'SIZE verifiedserver\r\n' 02:03:33.054333 Received DATA (on stdin) 02:03:33.054342 > 8 bytes data, server => client 02:03:33.054350 '213 17\r\n' 02:03:33.054387 < 21 bytes data, client => server 02:03:33.054396 'RETR verifiedserver\r\n' 02:03:33.054614 Received DATA (on stdin) 02:03:33.054627 > 29 bytes data, server => client 02:03:33.054638 '150 Binary junk (17 bytes).\r\n' 02:03:33.054938 Received DATA (on stdin) 02:03:33.054948 > 28 bytes data, server => client 02:03:33.054957 '226 File transfer complete\r\n' 02:03:33.095301 < 6 bytes data, client => server 02:03:33.095328 'QUIT\r\n' 02:03:33.095539 Received DATA (on stdin) 02:03:33.095552 > 18 bytes data, server => client 02:03:33.095563 '221 bye bye baby\r\n' 02:03:33.095951 ====> Client disconnect 02:03:33.096105 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:32.053611 Running IPv4 version 02:03:32.053651 Listening on port 44327 02:03:32.053681 Wrote pid 161690 to log/3/server/ftp_sockdata.pid 02:03:32.053694 Received PING (on stdin) 02:03:32.053763 Received PORT (on stdin) 02:03:32.054059 ====> Client connect 02:03:32.054535 Received DATA (on stdin) 02:03:32.054545 > 17 bytes data, server => client 02:03:32.054554 'WE ROOLZ: 80465\r\n' 02:03:32.054578 Received DISC (on stdin) 02:03:32.054589 ====> Client forcibly disconnected 02:03:32.054769 Received QUIT (on stdin) 02:03:32.054779 quits 02:03:32.054816 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2000 === End of file server.cmd === Start of file test2000.txt foo bar bar foo moo === End of file test2000.txt === Start of file valgrind2000 ==161792== ==161792== Process terminating with default action of signal 4 (SIGILL) ==161792== Illegal opcode at address 0x10B08D ==161792== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==161792== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2000 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2003 ../src/curl -q --trace-ascii log/7/trace2003 --trace-config all --trace-time http://127.0.0.1:43753/20030001 ftp://127.0.0.1:40455/20030002 file://localhost/startdir/src/build-curl/tests/log/7/test2003.txt tftp://127.0.0.1:36069//20030003 tftp://127.0.0.1:36069//20030003 file://localhost/startdir/src/build-curl/tests/log/7/test2003.txt ftp://127.0.0.1:40455/20030002 http://127.0.0.1:43753/20030001 > log/7/stdout2003 2> log/7/stderr2003 test 2001...[HTTP GET followed by FTP RETR followed by FILE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2001 ../src/curl -q --trace-ascii log/12/trace2001 --trace-config all --trace-time http://127.0.0.1:40653/20010001 ftp://127.0.0.1:40171/20010002 file://localhost/startdir/src/build-curl/tests/log/12/test2001.txt > log/12/stdout2001 2> log/12/stderr2001 2001: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:33.560483607 +0000 +++ log/12/check-generated 2024-12-15 02:03:33.560483607 +0000 @@ -1,12 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/12/ dir after test 2001 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file ftp_server.log 02:03:33.000072 ====> Client connect 02:03:33.000244 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:33.000532 < "USER anonymous" 02:03:33.000564 > "331 We are happy you popped in![CR][LF]" 02:03:33.000706 < "PASS ftp@example.com" 02:03:33.000728 > "230 Welcome you silly person[CR][LF]" 02:03:33.000861 < "PWD" 02:03:33.000886 > "257 "/" is current directory[CR][LF]" 02:03:33.001024 < "EPSV" 02:03:33.001045 ====> Passive DATA channel requested by client 02:03:33.001057 DATA sockfilt for passive data channel starting... 02:03:33.002573 DATA sockfilt for passive data channel started (pid 161876) 02:03:33.002665 DATA sockfilt for passive data channel listens on port 42197 02:03:33.002697 > "229 Entering Passive Mode (|||42197|)[LF]" 02:03:33.002711 Client has been notified that DATA conn will be accepted on port 42197 02:03:33.003090 Client connects to port 42197 02:03:33.003115 ====> Client established passive DATA connection on port 42197 02:03:33.003164 < "TYPE I" 02:03:33.003187 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:33.003339 < "SIZE verifiedserver" 02:03:33.003371 > "213 17[CR][LF]" 02:03:33.003506 < "RETR verifiedserver" 02:03:33.003533 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:33.003598 =====> Closing passive DATA connection... 02:03:33.003612 Server disconnects passive DATA connection 02:03:33.003674 Server disconnected passive DATA connection 02:03:33.003703 DATA sockfilt for passive data channel quits (pid 161876) 02:03:33.003884 DATA sockfilt for passive data channel quit (pid 161876) 02:03:33.003905 =====> Closed passive DATA connection 02:03:33.003929 > "226 File transfer complete[CR][LF]" 02:03:33.048617 < "QUIT" 02:03:33.048663 > "221 bye bye baby[CR][LF]" 02:03:33.049370 MAIN sockfilt said DISC 02:03:33.049405 ====> Client disconnected 02:03:33.049471 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:33.200107 ====> Client connect 02:03:33.200396 Received DATA (on stdin) 02:03:33.200421 > 160 bytes data, server => client 02:03:33.200434 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:33.200446 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:33.200457 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:33.200540 < 16 bytes data, client => server 02:03:33.200559 'USER anonymous\r\n' 02:03:33.200703 Received DATA (on stdin) 02:03:33.200714 > 33 bytes data, server => client 02:03:33.200724 '331 We are happy you popped in!\r\n' 02:03:33.200771 < 22 bytes data, client => server 02:03:33.200782 'PASS ftp@example.com\r\n' 02:03:33.200864 Received DATA (on stdin) 02:03:33.200874 > 30 bytes data, server => client 02:03:33.200884 '230 Welcome you silly person\r\n' 02:03:33.200928 < 5 bytes data, client => server 02:03:33.200938 'PWD\r\n' 02:03:33.201022 Received DATA (on stdin) 02:03:33.201033 > 30 bytes data, server => client 02:03:33.201043 '257 "/" is current directory\r\n' 02:03:33.201093 < 6 bytes data, client => server 02:03:33.201104 'EPSV\r\n' 02:03:33.202820 Received DATA (on stdin) 02:03:33.202840 > 38 bytes data, server => client 02:03:33.202853 '229 Entering Passive Mode (|||42197|)\n' 02:03:33.203209 < 8 bytes data, client => server 02:03:33.203222 'TYPE I\r\n' 02:03:33.203325 Received DATA (on stdin) 02:03:33.203337 > 33 bytes data, server => client 02:03:33.203348 '200 I modify TYPE as you wanted\r\n' 02:03:33.203403 < 21 bytes data, client => server 02:03:33.203415 'SIZE verifiedserver\r\n' 02:03:33.203508 Received DATA (on stdin) 02:03:33.203518 > 8 bytes data, server => client 02:03:33.203528 '213 17\r\n' 02:03:33.203573 < 21 bytes data, client => server 02:03:33.203583 'RETR verifiedserver\r\n' 02:03:33.203751 Received DATA (on stdin) 02:03:33.203761 > 29 bytes data, server => client 02:03:33.203771 '150 Binary junk (17 bytes).\r\n' 02:03:33.204058 Received DATA (on stdin) 02:03:33.204072 > 28 bytes data, server => client 02:03:33.204083 '226 File transfer complete\r\n' 02:03:33.248582 < 6 bytes data, client => server 02:03:33.248612 'QUIT\r\n' 02:03:33.248806 Received DATA (on stdin) 02:03:33.248819 > 18 bytes data, server => client 02:03:33.248830 '221 bye bye baby\r\n' 02:03:33.249388 ====> Client disconnect 02:03:33.249610 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:33.202555 Running IPv4 version 02:03:33.202607 Listening on port 42197 02:03:33.202641 Wrote pid 161876 to log/12/server/ftp_sockdata.pid 02:03:33.202656 Received PING (on stdin) 02:03:33.202730 Received PORT (on stdin) 02:03:33.203180 ====> Client connect 02:03:33.203677 Received DATA (on stdin) 02:03:33.203691 > 17 bytes data, server => client 02:03:33.203702 'WE ROOLZ: 80450\r\n' 02:03:33.203749 Received DISC (on stdin) 02:03:33.203763 ====> Client forcibly disconnected 02:03:33.203849 Received QUIT (on stdin) 02:03:33.203860 quits 02:03:33.203908 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:03:33.180647 ====> Client connect 02:03:33.180678 accept_connection 3 returned 4 02:03:33.180694 accept_connection 3 returned 0 02:03:33.180707 Read 93 bytes 02:03:33.180717 Process 93 bytes request 02:03:33.180732 Got request: GET /verifiedserver HTTP/1.1 02:03:33.180742 Are-we-friendly question received 02:03:33.180764 Wrote request (93 bytes) input to log/12/server.input 02:03:33.180780 Identifying ourselves as friends 02:03:33.180840 Response sent (56 bytes) and written to log/12/server.response 02:03:33.180851 special request received, no persistency 02:03:33.180860 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 2001 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file test2001.txt foo bar bar foo moo === End of file test2001.txt === Start of file valgrind2001 ==161927== ==161927== Process terminating with default action of signal 4 (SIGILL) ==161927== Illegal opcode at address 0x10B08D ==161927== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==161927== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2001 test 2003...[HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2003 ../src/curl -q --trace-ascii log/7/trace2003 --trace-config all --trace-time http://127.0.0.1:43753/20030001 ftp://127.0.0.1:40455/20030002 file://localhost/startdir/src/build-curl/tests/log/7/test2003.txt tftp://127.0.0.1:36069//20030003 tftp://127.0.0.1:36069//20030003 file://localhost/startdir/src/build-curl/tests/log/7/test2003.txt ftp://127.0.0.1:40455/20030002 http://127.0.0.1:43753/20030001 > log/7/stdout2003 2> log/7/stderr2003 2003: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:33.657151990 +0000 +++ log/7/check-generated 2024-12-15 02:03:33.657151990 +0000 @@ -1,32 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] --foo-[LF] == Contents of files in the log/7/ dir after test 2003 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] -foo-[LF] === End of file check-expected === Start of file ftp_server.log 02:03:33.083594 ====> Client connect 02:03:33.083747 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:33.083985 < "USER anonymous" 02:03:33.084016 > "331 We are happy you popped in![CR][LF]" 02:03:33.084168 < "PASS ftp@example.com" 02:03:33.084190 > "230 Welcome you silly person[CR][LF]" 02:03:33.084358 < "PWD" 02:03:33.084390 > "257 "/" is current directory[CR][LF]" 02:03:33.084546 < "EPSV" 02:03:33.084570 ====> Passive DATA channel requested by client 02:03:33.084582 DATA sockfilt for passive data channel starting... 02:03:33.085898 DATA sockfilt for passive data channel started (pid 161972) 02:03:33.085994 DATA sockfilt for passive data channel listens on port 43939 02:03:33.086027 > "229 Entering Passive Mode (|||43939|)[LF]" 02:03:33.086043 Client has been notified that DATA conn will be accepted on port 43939 02:03:33.086261 Client connects to port 43939 02:03:33.086287 ====> Client established passive DATA connection on port 43939 02:03:33.086343 < "TYPE I" 02:03:33.086366 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:33.086515 < "SIZE verifiedserver" 02:03:33.086548 > "213 18[CR][LF]" 02:03:33.086689 < "RETR verifiedserver" 02:03:33.086720 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:33.086789 =====> Closing passive DATA connection... 02:03:33.086803 Server disconnects passive DATA connection 02:03:33.087014 Server disconnected passive DATA connection 02:03:33.087039 DATA sockfilt for passive data channel quits (pid 161972) 02:03:33.087221 DATA sockfilt for passive data channel quit (pid 161972) 02:03:33.087243 =====> Closed passive DATA connection 02:03:33.087265 > "226 File transfer complete[CR][LF]" 02:03:33.132476 < "QUIT" 02:03:33.132524 > "221 bye bye baby[CR][LF]" 02:03:33.132680 MAIN sockfilt said DISC 02:03:33.132708 ====> Client disconnected 02:03:33.132773 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:32.283622 ====> Client connect 02:03:32.283862 Received DATA (on stdin) 02:03:32.283887 > 160 bytes data, server => client 02:03:32.283900 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:32.283913 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:32.283924 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:32.283998 < 16 bytes data, client => server 02:03:32.284011 'USER anonymous\r\n' 02:03:32.284157 Received DATA (on stdin) 02:03:32.284169 > 33 bytes data, server => client 02:03:32.284180 '331 We are happy you popped in!\r\n' 02:03:32.284230 < 22 bytes data, client => server 02:03:32.284241 'PASS ftp@example.com\r\n' 02:03:32.284326 Received DATA (on stdin) 02:03:32.284344 > 30 bytes data, server => client 02:03:32.284356 '230 Welcome you silly person\r\n' 02:03:32.284412 < 5 bytes data, client => server 02:03:32.284424 'PWD\r\n' 02:03:32.284529 Received DATA (on stdin) 02:03:32.284541 > 30 bytes data, server => client 02:03:32.284552 '257 "/" is current directory\r\n' 02:03:32.284607 < 6 bytes data, client => server 02:03:32.284619 'EPSV\r\n' 02:03:32.286188 Received DATA (on stdin) 02:03:32.286201 > 38 bytes data, server => client 02:03:32.286213 '229 Entering Passive Mode (|||43939|)\n' 02:03:32.286324 < 8 bytes data, client => server 02:03:32.286339 'TYPE I\r\n' 02:03:32.286503 Received DATA (on stdin) 02:03:32.286515 > 33 bytes data, server => client 02:03:32.286526 '200 I modify TYPE as you wanted\r\n' 02:03:32.286575 < 21 bytes data, client => server 02:03:32.286588 'SIZE verifiedserver\r\n' 02:03:32.286686 Received DATA (on stdin) 02:03:32.286697 > 8 bytes data, server => client 02:03:32.286707 '213 18\r\n' 02:03:32.286753 < 21 bytes data, client => server 02:03:32.286765 'RETR verifiedserver\r\n' 02:03:32.286942 Received DATA (on stdin) 02:03:32.286953 > 29 bytes data, server => client 02:03:32.286964 '150 Binary junk (18 bytes).\r\n' 02:03:32.287403 Received DATA (on stdin) 02:03:32.287415 > 28 bytes data, server => client 02:03:32.287425 '226 File transfer complete\r\n' 02:03:32.332445 < 6 bytes data, client => server 02:03:32.332470 'QUIT\r\n' 02:03:32.332668 Received DATA (on stdin) 02:03:32.332680 > 18 bytes data, server => client 02:03:32.332690 '221 bye bye baby\r\n' 02:03:32.332773 ====> Client disconnect 02:03:32.332909 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:33.285873 Running IPv4 version 02:03:33.285924 Listening on port 43939 02:03:33.285965 Wrote pid 161972 to log/7/server/ftp_sockdata.pid 02:03:33.285982 Received PING (on stdin) 02:03:33.286056 Received PORT (on stdin) 02:03:33.286357 ====> Client connect 02:03:33.286990 Received DATA (on stdin) 02:03:33.287003 > 18 bytes data, server => client 02:03:33.287013 'WE ROOLZ: 134972\r\n' 02:03:33.287037 Received DISC (on stdin) 02:03:33.287049 ====> Client forcibly disconnected 02:03:33.287185 Received QUIT (on stdin) 02:03:33.287196 quits 02:03:33.287248 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:03:33.263442 ====> Client connect 02:03:33.263473 accept_connection 3 returned 4 02:03:33.263488 accept_connection 3 returned 0 02:03:33.263501 Read 93 bytes 02:03:33.263511 Process 93 bytes request 02:03:33.263524 Got request: GET /verifiedserver HTTP/1.1 02:03:33.263533 Are-we-friendly question received 02:03:33.263555 Wrote request (93 bytes) input to log/7/server.input 02:03:33.263572 Identifying ourselves as friends 02:03:33.263634 Response sent (56 bytes) and written to log/7/server.response 02:03:33.263643 special request received, no persistency 02:03:33.263652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1964 ./libtest/lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:42929 > log/10/stdout1964 2> log/10/stderr1964 ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 2003 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file test2003.txt foo bar bar foo moo === End of file test2003.txt === Start of file tftp_server.log 02:03:33.352129 trying to get file: verifiedserver mode 1 02:03:33.352160 Are-we-friendly question received 02:03:33.352174 write 02:03:33.352199 read 02:03:33.352284 read: 4 02:03:33.352333 end of one transfer === End of file tftp_server.log === Start of file valgrind2003 ==162030== ==162030== Process terminating with default action of signal 4 (SIGILL) ==162030== Illegal opcode at address 0x10B08D ==162030== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==162030== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2003 test 1964...[HTTP AWS_SIGV4 with one provider and auth cred via URL, but X-Xxx-Date header set manually] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1964 ./libtest/lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:42929 > log/10/stdout1964 2> log/10/stderr1964 1964: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 1964 === Start of file http_server.log 02:03:33.043177 ====> Client connect 02:03:33.043212 accept_connection 3 returned 4 02:03:33.043228 accept_connection 3 returned 0 02:03:33.043242 Read 93 bytes 02:03:33.043252 Process 93 bytes request 02:03:33.043265 Got request: GET /verifiedserver HTTP/1.1 02:03:33.043275 Are-we-friendly question received 02:03:33.043297 Wrote request (93 bytes) input to log/10/server.input 02:03:33.043314 Identifying ourselves as friends 02:03:33.043375 Response sent (56 bytes) and written to log/10/server.response 02:03:33.043387 special request received, no persistency 02:03:33.043396 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 1964 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr1964 URL: http://xxx:yyy@127.0.0.1:9000/1964/testapi/test === End of file stderr1964 === Start of file valgrind1964 ==161694== ==161694== Process terminating with default action of signal 4 (SIGILL) ==161694== Illegal opcode at address 0x48EA16B ==161694== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161694== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161694== by 0x48EA16B: Curl_open (url.c:519) ==161694== by 0x4880EEF: curl_easy_init (easy.c:370) ==161694== by 0x1090A2: UnknownInlinedFun (lib1964.c:36) ==161694== by 0x1090A2: UnknownInlinedFun (lib1964.c:28) ==161694== by 0x1090A2: main (first.c:220) ==161694== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161694== by 0x4A6D258: __tsearch (tsearch.c:337) ==161694== by 0x4A6D258: tsearch (tsearch.c:290) ==161694== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161694== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161694== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161694== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161694== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161694== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161694== by 0x498986B: setlocale (setlocale.c:337) ==161694== by 0x10904B: main (first.c:160) ==161694== ==161694== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161694== by 0x4A6D258: __tsearch (tsearch.c:337) ==161694== by 0x4A6D258: tsearch (tsearch.c:290) ==161694== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161694== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161694== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161694== by 0x498986B: setlocale (setlocale.c:337) ==161694== by 0x10904B: main (first.c:160) ==161694== ==161694== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161694== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161694== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161694== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161694== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161694== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161694== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161694== by 0x498986B: setlocale (setlocale.c:337) ==161694== by 0x10904B: main (first.c:160) ==161694== ==161694== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161694== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161694== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161694== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161694== by 0x498986B: setlocale (setlocale.c:337) ==161694== by 0x10904B: main (first.c:160) ==161694== ==161694== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161694== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161694== by 0x48EA143: Curl_open (url.c:510) ==161694== by 0x4880EEF: curl_easy_init (easy.c:370) ==161694== by 0x1090A2: UnknownInlinedFun (lib1964.c:36) ==161694== by 0x1090A2: UnknownInlinedFun (lib1964.c:28) ==161694== by 0x1090A2: main (first.c:220) ==161694== ==161694== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161694== by 0x4A6D258: __tsearch (tsearch.c:337) ==161694== by 0x4A6D258: tsearch (tsearch.c:290) ==161694== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161694== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161694== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161694== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161694== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1960 ./libtest/lib1960 http://127.0.0.1:39167/file 127.0.0.1 39167 > log/6/stdout1960 2> log/6/stderr1960 70) ==161694== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161694== by 0x498986B: setlocale (setlocale.c:337) ==161694== by 0x10904B: main (first.c:160) ==161694== ==161694== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161694== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161694== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161694== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161694== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161694== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161694== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161694== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161694== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161694== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161694== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161694== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161694== by 0x498986B: setlocale (setlocale.c:337) ==161694== by 0x10904B: main (first.c:160) ==161694== === End of file valgrind1964 prechecked ./libtest/lib1960 check test 1960...[application hands over already connected socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1960 ./libtest/lib1960 http://127.0.0.1:39167/file 127.0.0.1 39167 > log/6/stdout1960 2> log/6/stderr1960 1960: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 1960 === Start of file http_server.log 02:03:33.037909 ====> Client connect 02:03:33.037938 accept_connection 3 returned 4 02:03:33.037953 accept_connection 3 returned 0 02:03:33.037967 Read 93 bytes 02:03:33.037978 Process 93 bytes request 02:03:33.037991 Got request: GET /verifiedserver HTTP/1.1 02:03:33.038000 Are-we-friendly question received 02:03:33.038020 Wrote request (93 bytes) input to log/6/server.input 02:03:33.038037 Identifying ourselves as friends 02:03:33.038095 Response sent (57 bytes) and written to log/6/server.response 02:03:33.038105 special request received, no persistency 02:03:33.038115 ====> Client disconnect 0 02:03:33.835211 ====> Client connect 02:03:33.835233 accept_connection 3 returned 4 02:03:33.835248 accept_connection 3 returned 0 02:03:33.950913 Connection closed by client 02:03:33.950951 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file precheck-1960 URL: check Test ended with result 0 === End of file precheck-1960 === Start of file server.cmd Testnum 1960 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr1960 URL: http://127.0.0.1:39167/file === End of file stderr1960 === Start of file valgrind1960 ==161715== ==161715== Process terminating with default action of signal 4 (SIGILL) ==161715== Illegal opcode at address 0x48EA16B ==161715== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==161715== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==161715== by 0x48EA16B: Curl_open (url.c:519) ==161715== by 0x4880EEF: curl_easy_init (easy.c:370) ==161715== by 0x109191: UnknownInlinedFun (lib1960.c:115) ==161715== by 0x109191: main (first.c:220) ==161715== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==161715== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161715== by 0x4A6D258: __tsearch (tsearch.c:337) ==161715== by 0x4A6D258: tsearch (tsearch.c:290) ==161715== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161715== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161715== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161715== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161715== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161715== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161715== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161715== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161715== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161715== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161715== by 0x498986B: setlocale (setlocale.c:337) ==161715== by 0x109056: main (first.c:160) ==161715== ==161715== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==161715== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161715== by 0x4A6D258: __tsearch (tsearch.c:337) ==161715== by 0x4A6D258: tsearch (tsearch.c:290) ==161715== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161715== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161715== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161715== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161715== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161715== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161715== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161715== by 0x498986B: setlocale (setlocale.c:337) ==161715== by 0x109056: main (first.c:160) ==161715== ==161715== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==161715== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161715== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161715== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161715== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161715== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161715== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==161715== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==161715== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161715== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161715== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161715== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161715== by 0x498986B: setlocale (setlocale.c:337) ==161715== by 0x109056: main (first.c:160) ==161715== ==161715== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==161715== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161715== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161715== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==161715== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==161715== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161715== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161715== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161715== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161715== by 0x498986B: setlocale (setlocale.c:337) ==161715== by 0x109056: main (first.c:160) ==161715== ==161715== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==161715== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==161715== by 0x48EA143: Curl_open (url.c:510) ==161715== by 0x4880EEF: curl_easy_init (easy.c:370) ==161715== by 0x109191: UnknownInlinedFun (liCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2023 ./libtest/libauthretry http://127.0.0.1:38805/2023 basic basic > log/8/stdout2023 2> log/8/stderr2023 b1960.c:115) ==161715== by 0x109191: main (first.c:220) ==161715== ==161715== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==161715== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161715== by 0x4A6D258: __tsearch (tsearch.c:337) ==161715== by 0x4A6D258: tsearch (tsearch.c:290) ==161715== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==161715== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161715== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161715== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161715== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161715== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161715== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161715== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161715== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161715== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161715== by 0x498986B: setlocale (setlocale.c:337) ==161715== by 0x109056: main (first.c:160) ==161715== ==161715== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==161715== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==161715== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==161715== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==161715== by 0x497DBB2: add_alias (gconv_conf.c:178) ==161715== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==161715== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==161715== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==161715== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==161715== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==161715== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==161715== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==161715== by 0x498986B: setlocale (setlocale.c:337) ==161715== by 0x109056: main (first.c:160) ==161715== === End of file valgrind1960 test 2023...[HTTP authorization retry (Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2023 ./libtest/libauthretry http://127.0.0.1:38805/2023 basic basic > log/8/stdout2023 2> log/8/stderr2023 2023: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 2023 === Start of file http_server.log 02:03:33.386802 ====> Client connect 02:03:33.386835 accept_connection 3 returned 4 02:03:33.386851 accept_connection 3 returned 0 02:03:33.386865 Read 93 bytes 02:03:33.386876 Process 93 bytes request 02:03:33.386890 Got request: GET /verifiedserver HTTP/1.1 02:03:33.386900 Are-we-friendly question received 02:03:33.386928 Wrote request (93 bytes) input to log/8/server.input 02:03:33.386945 Identifying ourselves as friends 02:03:33.387006 Response sent (57 bytes) and written to log/8/server.response 02:03:33.387017 special request received, no persistency 02:03:33.387026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 2023 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file stderr2023 URL: http://127.0.0.1:38805/2023 === End of file stderr2023 === Start of file valgrind2023 ==162092== ==162092== Process terminating with default action of signal 4 (SIGILL) ==162092== Illegal opcode at address 0x48EA16B ==162092== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162092== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162092== by 0x48EA16B: Curl_open (url.c:519) ==162092== by 0x4880EEF: curl_easy_init (easy.c:370) ==162092== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162092== by 0x1090E0: main (first.c:220) ==162092== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162092== by 0x4A6D258: __tsearch (tsearch.c:337) ==162092== by 0x4A6D258: tsearch (tsearch.c:290) ==162092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162092== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162092== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162092== by 0x498986B: setlocale (setlocale.c:337) ==162092== by 0x10904B: main (first.c:160) ==162092== ==162092== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162092== by 0x4A6D258: __tsearch (tsearch.c:337) ==162092== by 0x4A6D258: tsearch (tsearch.c:290) ==162092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162092== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162092== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162092== by 0x498986B: setlocale (setlocale.c:337) ==162092== by 0x10904B: main (first.c:160) ==162092== ==162092== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162092== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162092== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162092== by 0x498986B: setlocale (setlocale.c:337) ==162092== by 0x10904B: main (first.c:160) ==162092== ==162092== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162092== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162092== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162092== by 0x498986B: setlocale (setlocale.c:337) ==162092== by 0x10904B: main (first.c:160) ==162092== ==162092=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2024 ./libtest/libauthretry http://127.0.0.1:38781/2024 basic digest > log/2/stdout2024 2> log/2/stderr2024 = 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162092== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162092== by 0x48EA143: Curl_open (url.c:510) ==162092== by 0x4880EEF: curl_easy_init (easy.c:370) ==162092== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162092== by 0x1090E0: main (first.c:220) ==162092== ==162092== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162092== by 0x4A6D258: __tsearch (tsearch.c:337) ==162092== by 0x4A6D258: tsearch (tsearch.c:290) ==162092== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162092== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162092== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162092== by 0x498986B: setlocale (setlocale.c:337) ==162092== by 0x10904B: main (first.c:160) ==162092== ==162092== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162092== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162092== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162092== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162092== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162092== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162092== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162092== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162092== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162092== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162092== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162092== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162092== by 0x498986B: setlocale (setlocale.c:337) ==162092== by 0x10904B: main (first.c:160) ==162092== === End of file valgrind2023 test 2024...[HTTP authorization retry (Basic switching to Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2024 ./libtest/libauthretry http://127.0.0.1:38781/2024 basic digest > log/2/stdout2024 2> log/2/stderr2024 2024: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 2024 === Start of file http_server.log 02:03:33.561736 ====> Client connect 02:03:33.561773 accept_connection 3 returned 4 02:03:33.561790 accept_connection 3 returned 0 02:03:33.561805 Read 93 bytes 02:03:33.561826 Process 93 bytes request 02:03:33.561841 Got request: GET /verifiedserver HTTP/1.1 02:03:33.561851 Are-we-friendly question received 02:03:33.562026 Wrote request (93 bytes) input to log/2/server.input 02:03:33.562046 Identifying ourselves as friends 02:03:33.562129 Response sent (56 bytes) and written to log/2/server.response 02:03:33.562141 special request received, no persistency 02:03:33.562151 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 2024 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr2024 URL: http://127.0.0.1:38781/2024 === End of file stderr2024 === Start of file valgrind2024 ==162186== ==162186== Process terminating with default action of signal 4 (SIGILL) ==162186== Illegal opcode at address 0x48EA16B ==162186== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162186== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162186== by 0x48EA16B: Curl_open (url.c:519) ==162186== by 0x4880EEF: curl_easy_init (easy.c:370) ==162186== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162186== by 0x1090E0: main (first.c:220) ==162186== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162186== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162186== by 0x4A6D258: __tsearch (tsearch.c:337) ==162186== by 0x4A6D258: tsearch (tsearch.c:290) ==162186== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162186== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162186== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162186== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162186== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162186== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162186== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162186== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162186== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162186== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162186== by 0x498986B: setlocale (setlocale.c:337) ==162186== by 0x10904B: main (first.c:160) ==162186== ==162186== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162186== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162186== by 0x4A6D258: __tsearch (tsearch.c:337) ==162186== by 0x4A6D258: tsearch (tsearch.c:290) ==162186== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162186== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162186== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162186== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162186== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162186== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162186== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162186== by 0x498986B: setlocale (setlocale.c:337) ==162186== by 0x10904B: main (first.c:160) ==162186== ==162186== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162186== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162186== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162186== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162186== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162186== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162186== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162186== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162186== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162186== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162186== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162186== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162186== by 0x498986B: setlocale (setlocale.c:337) ==162186== by 0x10904B: main (first.c:160) ==162186== ==162186== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162186== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162186== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162186== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162186== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162186== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162186== by CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2026 ./libtest/libauthretry http://127.0.0.1:34527/2026 digest basic > log/3/stdout2026 2> log/3/stderr2026 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2025 ./libtest/libauthretry http://127.0.0.1:44137/2025 basic ntlm > log/11/stdout2025 2> log/11/stderr2025 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162186== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162186== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162186== by 0x498986B: setlocale (setlocale.c:337) ==162186== by 0x10904B: main (first.c:160) ==162186== ==162186== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162186== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162186== by 0x48EA143: Curl_open (url.c:510) ==162186== by 0x4880EEF: curl_easy_init (easy.c:370) ==162186== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162186== by 0x1090E0: main (first.c:220) ==162186== ==162186== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162186== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162186== by 0x4A6D258: __tsearch (tsearch.c:337) ==162186== by 0x4A6D258: tsearch (tsearch.c:290) ==162186== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162186== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162186== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162186== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162186== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162186== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162186== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162186== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162186== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162186== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162186== by 0x498986B: setlocale (setlocale.c:337) ==162186== by 0x10904B: main (first.c:160) ==162186== ==162186== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162186== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162186== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162186== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162186== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162186== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162186== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162186== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162186== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162186== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162186== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162186== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162186== by 0x498986B: setlocale (setlocale.c:337) ==162186== by 0x10904B: main (first.c:160) ==162186== === End of file valgrind2024 test 2026...[HTTP authorization retry (Digest switching to Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2026 ./libtest/libauthretry http://127.0.0.1:34527/2026 digest basic > log/3/stdout2026 2> log/3/stderr2026 2026: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 2026 === Start of file http_server.log 02:03:33.600979 ====> Client connect 02:03:33.601013 accept_connection 3 returned 4 02:03:33.601029 accept_connection 3 returned 0 02:03:33.601043 Read 93 bytes 02:03:33.601054 Process 93 bytes request 02:03:33.601069 Got request: GET /verifiedserver HTTP/1.1 02:03:33.601079 Are-we-friendly question received 02:03:33.601103 Wrote request (93 bytes) input to log/3/server.input 02:03:33.601120 Identifying ourselves as friends 02:03:33.601186 Response sent (56 bytes) and written to log/3/server.response 02:03:33.601197 special request received, no persistency 02:03:33.601207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 2026 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file stderr2026 URL: http://127.0.0.1:34527/2026 === End of file stderr2026 === Start of file valgrind2026 ==162292== ==162292== Process terminating with default action of signal 4 (SIGILL) ==162292== Illegal opcode at address 0x48EA16B ==162292== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162292== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162292== by 0x48EA16B: Curl_open (url.c:519) ==162292== by 0x4880EEF: curl_easy_init (easy.c:370) ==162292== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162292== by 0x1090E0: main (first.c:220) ==162292== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162292== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162292== by 0x4A6D258: __tsearch (tsearch.c:337) ==162292== by 0x4A6D258: tsearch (tsearch.c:290) ==162292== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162292== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162292== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162292== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162292== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162292== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162292== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162292== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162292== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162292== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162292== by 0x498986B: setlocale (setlocale.c:337) ==162292== by 0x10904B: main (first.c:160) ==162292== ==162292== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162292== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162292== by 0x4A6D258: __tsearch (tsearch.c:337) ==162292== by 0x4A6D258: tsearch (tsearch.c:290) ==162292== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162292== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162292== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162292== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162292== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162292== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162292== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162292== by 0x498986B: setlocale (setlocale.c:337) ==162292== by 0x10904B: main (first.c:160) ==162292== ==162292== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162292== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162292== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162292== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162292== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162292== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162292== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162292== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162292== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162292== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162292== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162292== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162292== by 0x498986B: setlocale (setlocale.c:337) ==162292== by 0x10904B: main (first.c:160) ==162292== ==162292== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162292== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162292== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162292== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162292== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162292== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162292== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162292== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162292== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162292== by 0x498986B: setlocale (setlocale.c:337) ==162292== by 0x10904B: main (first.c:160) ==162292== ==162292== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162292== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162292== by 0x48EA143: Curl_open (url.c:510) ==162292== by 0x4880EEF: curl_easy_init (easy.c:370) ==162292== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162292== by 0x1090E0: main (first.c:220) ==162292== ==162292== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162292== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162292== by 0x4A6D258: __tsearch (tsearch.c:337) ==162292== by 0x4A6D258: tsearch (tsearch.c:290) ==162292== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162292== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162292== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162292== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162292== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162292== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162292== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162292== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162292== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162292== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162292== by 0x498986B: setlocale (setlocale.c:337) ==162292== by 0x10904B: main (first.c:160) ==162292== ==162292== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162292== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162292== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162292== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162292== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162292== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162292== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162292== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162292== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162292== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162292== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162292== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162292== by 0x498986B: setlocale (setlocale.c:337) ==162292== by 0x10904B: main (first.c:160) ==162292== === End of file valgrind2026 test 2025...[HTTP authorization retry (Basic switching to NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2025 ./libtest/libauthretry http://127.0.0.1:44137/2025 basic ntlm > log/11/stdout2025 2> log/11/stderr2025 2025: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2025 === Start of file http_server.log 02:03:33.562088 ====> Client connect 02:03:33.562135 accept_connection 3 returned 4 02:03:33.562153 accept_connection 3 returned 0 02:03:33.562166 Read 93 bytes 02:03:33.562177 Process 93 bytes request 02:03:33.562189 Got request: GET /verifiedserver HTTP/1.1 02:03:33.562199 Are-we-friendly question received 02:03:33.562222 Wrote request (93 bytes) input to log/11/server.input 02:03:33.562239 Identifying ourselves as friends 02:03:33.562311 Response sent (56 bytes) and written to log/11/server.response 02:03:33.562323 special request received, no persistency 02:03:33.562333 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 2025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr2025 URL: http://127.0.0.1:44137/2025 === End of file stderr2025 === Start of file valgrind2025 ==162196== ==162196== Process terminating with default action of signal 4 (SIGILL) ==162196== Illegal opcode at address 0x48EA16B ==162196== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162196== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162196== by 0x48EA16B: Curl_open (url.c:519) ==162196== by 0x4880EEF: curl_easy_init (easy.c:370) ==162196== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162196== by 0x1090E0: main (first.c:220) ==162196== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162196== by 0x4A6D258: __tsearch (tsearch.c:337) ==162196== by 0x4A6D258: tsearch (tsearch.c:290) ==162196== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162196== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162196== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162196== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162196== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162196== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162196== by 0x498986B: setlocale (setlocale.c:337) ==162196== by 0x10904B: main (first.c:160) ==162196== ==162196== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162196== by 0x4A6D258: __tsearch (tsearch.c:337) ==162196== by 0x4A6D258: tsearch (tsearch.c:290) ==162196== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162196== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162196== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162196== by 0x498986B: setlocale (setlocale.c:337) ==162196== by 0x10904B: main (first.c:160) ==162196== ==162196== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162196== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162196== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162196== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162196== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162196== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162196== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162196== by 0x497C99C: __gconv_comparCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2027 ./libtest/libauthretry http://127.0.0.1:40653/2027 digest digest > log/12/stdout2027 2> log/12/stderr2027 e_alias (gconv_db.c:692) ==162196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162196== by 0x498986B: setlocale (setlocale.c:337) ==162196== by 0x10904B: main (first.c:160) ==162196== ==162196== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162196== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162196== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162196== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162196== by 0x498986B: setlocale (setlocale.c:337) ==162196== by 0x10904B: main (first.c:160) ==162196== ==162196== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162196== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162196== by 0x48EA143: Curl_open (url.c:510) ==162196== by 0x4880EEF: curl_easy_init (easy.c:370) ==162196== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162196== by 0x1090E0: main (first.c:220) ==162196== ==162196== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162196== by 0x4A6D258: __tsearch (tsearch.c:337) ==162196== by 0x4A6D258: tsearch (tsearch.c:290) ==162196== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162196== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162196== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162196== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162196== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162196== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162196== by 0x498986B: setlocale (setlocale.c:337) ==162196== by 0x10904B: main (first.c:160) ==162196== ==162196== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162196== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162196== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162196== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162196== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162196== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162196== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162196== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162196== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162196== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162196== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162196== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162196== by 0x498986B: setlocale (setlocale.c:337) ==162196== by 0x10904B: main (first.c:160) ==162196== === End of file valgrind2025 test 2027...[HTTP authorization retry (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2027 ./libtest/libauthretry http://127.0.0.1:40653/2027 digest digest > log/12/stdout2027 2> log/12/stderr2027 2027: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 2027 === Start of file http_server.log 02:03:33.788240 ====> Client connect 02:03:33.788274 accept_connection 3 returned 4 02:03:33.788291 accept_connection 3 returned 0 02:03:33.788306 Read 93 bytes 02:03:33.788317 Process 93 bytes request 02:03:33.788332 Got request: GET /verifiedserver HTTP/1.1 02:03:33.788342 Are-we-friendly question received 02:03:33.788366 Wrote request (93 bytes) input to log/12/server.input 02:03:33.788384 Identifying ourselves as friends 02:03:33.788454 Response sent (56 bytes) and written to log/12/server.response 02:03:33.788467 special request received, no persistency 02:03:33.788478 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 2027 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr2027 URL: http://127.0.0.1:40653/2027 === End of file stderr2027 === Start of file valgrind2027 ==162364== ==162364== Process terminating with default action of signal 4 (SIGILL) ==162364== Illegal opcode at address 0x48EA16B ==162364== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162364== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162364== by 0x48EA16B: Curl_open (url.c:519) ==162364== by 0x4880EEF: curl_easy_init (easy.c:370) ==162364== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162364== by 0x1090E0: main (first.c:220) ==162364== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162364== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162364== by 0x4A6D258: __tsearch (tsearch.c:337) ==162364== by 0x4A6D258: tsearch (tsearch.c:290) ==162364== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162364== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162364== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162364== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162364== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162364== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162364== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162364== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162364== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162364== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162364== by 0x498986B: setlocale (setlocale.c:337) ==162364== by 0x10904B: main (first.c:160) ==162364== ==162364== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162364== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162364== by 0x4A6D258: __tsearch (tsearch.c:337) ==162364== by 0x4A6D258: tsearch (tsearch.c:290) ==162364== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162364== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162364== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162364== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162364== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162364== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162364== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162364== by 0x498986B: setlocale (setlocale.c:337) ==162364== by 0x10904B: main (first.c:160) ==162364== ==162364== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162364== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162364== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162364== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162364== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162364== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162364== by 0x497DD1F: gcCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2028 ./libtest/libauthretry http://127.0.0.1:43753/2028 digest ntlm > log/7/stdout2028 2> log/7/stderr2028 onv_parseconfdir (gconv_parseconfdir.h:139) ==162364== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162364== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162364== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162364== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162364== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162364== by 0x498986B: setlocale (setlocale.c:337) ==162364== by 0x10904B: main (first.c:160) ==162364== ==162364== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162364== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162364== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162364== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162364== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162364== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162364== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162364== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162364== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162364== by 0x498986B: setlocale (setlocale.c:337) ==162364== by 0x10904B: main (first.c:160) ==162364== ==162364== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162364== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162364== by 0x48EA143: Curl_open (url.c:510) ==162364== by 0x4880EEF: curl_easy_init (easy.c:370) ==162364== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162364== by 0x1090E0: main (first.c:220) ==162364== ==162364== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162364== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162364== by 0x4A6D258: __tsearch (tsearch.c:337) ==162364== by 0x4A6D258: tsearch (tsearch.c:290) ==162364== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162364== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162364== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162364== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162364== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162364== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162364== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162364== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162364== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162364== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162364== by 0x498986B: setlocale (setlocale.c:337) ==162364== by 0x10904B: main (first.c:160) ==162364== ==162364== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162364== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162364== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162364== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162364== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162364== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162364== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162364== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162364== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162364== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162364== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162364== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162364== by 0x498986B: setlocale (setlocale.c:337) ==162364== by 0x10904B: main (first.c:160) ==162364== === End of file valgrind2027 test 2028...[HTTP authorization retry (Digest switching to NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2028 ./libtest/libauthretry http://127.0.0.1:43753/2028 digest ntlm > log/7/stdout2028 2> log/7/stderr2028 2028: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 2028 === Start of file http_server.log 02:03:33.883836 ====> Client connect 02:03:33.883864 accept_connection 3 returned 4 02:03:33.883876 accept_connection 3 returned 0 02:03:33.883887 Read 93 bytes 02:03:33.883896 Process 93 bytes request 02:03:33.883907 Got request: GET /verifiedserver HTTP/1.1 02:03:33.883914 Are-we-friendly question received 02:03:33.883932 Wrote request (93 bytes) input to log/7/server.input 02:03:33.883945 Identifying ourselves as friends 02:03:33.883995 Response sent (56 bytes) and written to log/7/server.response 02:03:33.884003 special request received, no persistency 02:03:33.884010 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 2028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr2028 URL: http://127.0.0.1:43753/2028 === End of file stderr2028 === Start of file valgrind2028 ==162429== ==162429== Process terminating with default action of signal 4 (SIGILL) ==162429== Illegal opcode at address 0x48EA16B ==162429== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162429== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162429== by 0x48EA16B: Curl_open (url.c:519) ==162429== by 0x4880EEF: curl_easy_init (easy.c:370) ==162429== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162429== by 0x1090E0: main (first.c:220) ==162429== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162429== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162429== by 0x4A6D258: __tsearch (tsearch.c:337) ==162429== by 0x4A6D258: tsearch (tsearch.c:290) ==162429== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162429== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162429== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162429== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162429== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162429== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162429== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162429== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162429== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162429== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162429== by 0x498986B: setlocale (setlocale.c:337) ==162429== by 0x10904B: main (first.c:160) ==162429== ==162429== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162429== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162429== by 0x4A6D258: __tsearch (tsearch.c:337) ==162429== by 0x4A6D258: tsearch (tsearch.c:290) ==162429== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162429== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162429== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162429== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162429== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162429== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162429== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162429== by 0x498986B: setlocale (setlocale.c:337) ==162429== by 0x10904B: main (first.c:160) ==162429== ==162429== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162429== at 0x48447A8: malloc (vg_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2002 ../src/curl -q --trace-ascii log/9/trace2002 --trace-config all --trace-time http://127.0.0.1:38509/20020001 ftp://127.0.0.1:41473/20020002 file://localhost/startdir/src/build-curl/tests/log/9/test2002.txt tftp://127.0.0.1:60159//20020003 > log/9/stdout2002 2> log/9/stderr2002 replace_malloc.c:446) ==162429== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162429== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162429== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162429== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162429== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162429== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162429== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162429== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162429== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162429== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162429== by 0x498986B: setlocale (setlocale.c:337) ==162429== by 0x10904B: main (first.c:160) ==162429== ==162429== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162429== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162429== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162429== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162429== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162429== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162429== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162429== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162429== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162429== by 0x498986B: setlocale (setlocale.c:337) ==162429== by 0x10904B: main (first.c:160) ==162429== ==162429== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162429== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162429== by 0x48EA143: Curl_open (url.c:510) ==162429== by 0x4880EEF: curl_easy_init (easy.c:370) ==162429== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162429== by 0x1090E0: main (first.c:220) ==162429== ==162429== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162429== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162429== by 0x4A6D258: __tsearch (tsearch.c:337) ==162429== by 0x4A6D258: tsearch (tsearch.c:290) ==162429== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162429== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162429== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162429== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162429== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162429== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162429== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162429== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162429== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162429== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162429== by 0x498986B: setlocale (setlocale.c:337) ==162429== by 0x10904B: main (first.c:160) ==162429== ==162429== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162429== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162429== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162429== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162429== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162429== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162429== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162429== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162429== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162429== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162429== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162429== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162429== by 0x498986B: setlocale (setlocale.c:337) ==162429== by 0x10904B: main (first.c:160) ==162429== === End of file valgrind2028 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2030 ./libtest/libauthretry http://127.0.0.1:39167/2030 ntlm digest > log/6/stdout2030 2> log/6/stderr2030 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2029 ./libtest/libauthretry http://127.0.0.1:42929/2029 ntlm basic > log/10/stdout2029 2> log/10/stderr2029 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/9/server/tftp_server.pid" --portfile "log/9/server/tftp_server.port" --logfile "log/9/tftp_server.log" --logdir "log/9" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --silent --verbose --globoff "tftp://127.0.0.1:60159/verifiedserver" 2>log/9/tftp_verify.log RUN: Verifying our test tftp server took 0 seconds RUN: TFTP server on PID 161992 port 60159 * pid tftp => 161992 161992 test 2002...[HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2002 ../src/curl -q --trace-ascii log/9/trace2002 --trace-config all --trace-time http://127.0.0.1:38509/20020001 ftp://127.0.0.1:41473/20020002 file://localhost/startdir/src/build-curl/tests/log/9/test2002.txt tftp://127.0.0.1:60159//20020003 > log/9/stdout2002 2> log/9/stderr2002 2002: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:34.680503486 +0000 +++ log/9/check-generated 2024-12-15 02:03:34.680503486 +0000 @@ -1,16 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] == Contents of files in the log/9/ dir after test 2002 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] === End of file check-expected === Start of file ftp_server.log 02:03:33.063195 ====> Client connect 02:03:33.063332 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:33.063569 < "USER anonymous" 02:03:33.063597 > "331 We are happy you popped in![CR][LF]" 02:03:33.063737 < "PASS ftp@example.com" 02:03:33.063759 > "230 Welcome you silly person[CR][LF]" 02:03:33.063887 < "PWD" 02:03:33.063911 > "257 "/" is current directory[CR][LF]" 02:03:33.064046 < "EPSV" 02:03:33.064068 ====> Passive DATA channel requested by client 02:03:33.064080 DATA sockfilt for passive data channel starting... 02:03:33.065373 DATA sockfilt for passive data channel started (pid 161928) 02:03:33.065469 DATA sockfilt for passive data channel listens on port 40113 02:03:33.065505 > "229 Entering Passive Mode (|||40113|)[LF]" 02:03:33.065520 Client has been notified that DATA conn will be accepted on port 40113 02:03:33.065708 Client connects to port 40113 02:03:33.065737 ====> Client established passive DATA connection on port 40113 02:03:33.065804 < "TYPE I" 02:03:33.065833 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:33.065986 < "SIZE verifiedserver" 02:03:33.066016 > "213 18[CR][LF]" 02:03:33.066152 < "RETR verifiedserver" 02:03:33.066180 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:33.066250 =====> Closing passive DATA connection... 02:03:33.066266 Server disconnects passive DATA connection 02:03:33.066386 Server disconnected passive DATA connection 02:03:33.066407 DATA sockfilt for passive data channel quits (pid 161928) 02:03:33.066600 DATA sockfilt for passive data channel quit (pid 161928) 02:03:33.066622 =====> Closed passive DATA connection 02:03:33.066644 > "226 File transfer complete[CR][LF]" 02:03:33.108794 < "QUIT" 02:03:33.108856 > "221 bye bye baby[CR][LF]" 02:03:33.109770 MAIN sockfilt said DISC 02:03:33.109806 ====> Client disconnected 02:03:33.109878 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:33.263230 ====> Client connect 02:03:33.263479 Received DATA (on stdin) 02:03:33.263493 > 160 bytes data, server => client 02:03:33.263506 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:33.263518 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:33.263529 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:33.263596 < 16 bytes data, client => server 02:03:33.263609 'USER anonymous\r\n' 02:03:33.263735 Received DATA (on stdin) 02:03:33.263746 > 33 bytes data, server => client 02:03:33.263757 '331 We are happy you popped in!\r\n' 02:03:33.263802 < 22 bytes data, client => server 02:03:33.263812 'PASS ftp@example.com\r\n' 02:03:33.263895 Received DATA (on stdin) 02:03:33.263905 > 30 bytes data, server => client 02:03:33.263915 '230 Welcome you silly person\r\n' 02:03:33.263958 < 5 bytes data, client => server 02:03:33.263968 'PWD\r\n' 02:03:33.264047 Received DATA (on stdin) 02:03:33.264058 > 30 bytes data, server => client 02:03:33.264069 '257 "/" is current directory\r\n' 02:03:33.264117 < 6 bytes data, client => server 02:03:33.264127 'EPSV\r\n' 02:03:33.265662 Received DATA (on stdin) 02:03:33.265674 > 38 bytes data, server => client 02:03:33.265685 '229 Entering Passive Mode (|||40113|)\n' 02:03:33.265834 < 8 bytes data, client => server 02:03:33.265853 'TYPE I\r\n' 02:03:33.265972 Received DATA (on stdin) 02:03:33.265985 > 33 bytes data, server => client 02:03:33.265996 '200 I modify TYPE as you wanted\r\n' 02:03:33.266049 < 21 bytes data, client => server 02:03:33.266061 'SIZE verifiedserver\r\n' 02:03:33.266153 Received DATA (on stdin) 02:03:33.266164 > 8 bytes data, server => client 02:03:33.266174 '213 18\r\n' 02:03:33.266219 < 21 bytes data, client => server 02:03:33.266230 'RETR verifiedserver\r\n' 02:03:33.266500 Received DATA (on stdin) 02:03:33.266520 > 29 bytes data, server => client 02:03:33.266532 '150 Binary junk (18 bytes).\r\n' 02:03:33.266767 Received DATA (on stdin) 02:03:33.266782 > 28 bytes data, server => client 02:03:33.266794 '226 File transfer complete\r\n' 02:03:33.308762 < 6 bytes data, client => server 02:03:33.308805 'QUIT\r\n' 02:03:33.309000 Received DATA (on stdin) 02:03:33.309014 > 18 bytes data, server => client 02:03:33.309025 '221 bye bye baby\r\n' 02:03:33.309858 ====> Client disconnect 02:03:33.310018 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:33.265364 Running IPv4 version 02:03:33.265412 Listening on port 40113 02:03:33.265442 Wrote pid 161928 to log/9/server/ftp_sockdata.pid 02:03:33.265457 Received PING (on stdin) 02:03:33.265528 Received PORT (on stdin) 02:03:33.265796 ====> Client connect 02:03:33.266405 Received DATA (on stdin) 02:03:33.266421 > 18 bytes data, server => client 02:03:33.266432 'WE ROOLZ: 160589\r\n' 02:03:33.266463 Received DISC (on stdin) 02:03:33.266476 ====> Client forcibly disconnected 02:03:33.266550 Received QUIT (on stdin) 02:03:33.266560 quits 02:03:33.266614 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 02:03:33.243092 ====> Client connect 02:03:33.243126 accept_connection 3 returned 4 02:03:33.243142 accept_connection 3 returned 0 02:03:33.243158 Read 93 bytes 02:03:33.243167 Process 93 bytes request 02:03:33.243180 Got request: GET /verifiedserver HTTP/1.1 02:03:33.243187 Are-we-friendly question received 02:03:33.243207 Wrote request (93 bytes) input to log/9/server.input 02:03:33.243221 Identifying ourselves as friends 02:03:33.243320 Response sent (56 bytes) and written to log/9/server.response 02:03:33.243333 special request received, no persistency 02:03:33.243342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 2002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file test2002.txt foo bar bar foo moo === End of file test2002.txt === Start of file tftp_server.log 02:03:33.326361 Wrote pid 161992 to log/9/server/tftp_server.pid 02:03:33.326414 Wrote port 60159 to log/9/server/tftp_server.port 02:03:33.326427 Running IPv4 version on port UDP/60159 02:03:34.329090 trying to get file: verifiedserver mode 1 02:03:34.329109 Are-we-friendly question received 02:03:34.329121 write 02:03:34.329146 read 02:03:34.329270 read: 4 02:03:34.329325 end of one transfer === End of file tftp_server.log === Start of file valgrind2002 ==162694== ==162694== Process terminating with default action of signal 4 (SIGILL) ==162694== Illegal opcode at address 0x10B08D ==162694== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==162694== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2002 test 2030...[HTTP authorization retry (NTLM switching to Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2030 ./libtest/libauthretry http://127.0.0.1:39167/2030 ntlm digest > log/6/stdout2030 2> log/6/stderr2030 2030: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 2030 === Start of file http_server.log 02:03:33.973605 ====> Client connect 02:03:33.973637 accept_connection 3 returned 4 02:03:33.973655 accept_connection 3 returned 0 02:03:33.973670 Read 93 bytes 02:03:33.973681 Process 93 bytes request 02:03:33.973695 Got request: GET /verifiedserver HTTP/1.1 02:03:33.973706 Are-we-friendly question received 02:03:33.973728 Wrote request (93 bytes) input to log/6/server.input 02:03:33.973745 Identifying ourselves as friends 02:03:33.973810 Response sent (57 bytes) and written to log/6/server.response 02:03:33.973823 special request received, no persistency 02:03:33.973833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 2030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr2030 URL: http://127.0.0.1:39167/2030 === End of file stderr2030 === Start of file valgrind2030 ==162556== ==162556== Process terminating with default action of signal 4 (SIGILL) ==162556== Illegal opcode at address 0x48EA16B ==162556== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162556== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162556== by 0x48EA16B: Curl_open (url.c:519) ==162556== by 0x4880EEF: curl_easy_init (easy.c:370) ==162556== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162556== by 0x1090E0: main (first.c:220) ==162556== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162556== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162556== by 0x4A6D258: __tsearch (tsearch.c:337) ==162556== by 0x4A6D258: tsearch (tsearch.c:290) ==162556== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162556== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162556== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162556== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162556== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162556== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162556== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162556== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162556== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162556== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162556== by 0x498986B: setlocale (setlocale.c:337) ==162556== by 0x10904B: main (first.c:160) ==162556== ==162556== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162556== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162556== by 0x4A6D258: __tsearch (tsearch.c:337) ==162556== by 0x4A6D258: tsearch (tsearch.c:290) ==162556== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162556== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162556== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162556== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162556== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162556== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162556== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162556== by 0x498986B: setlocale (setlocale.c:337) ==162556== by 0x10904B: main (first.c:160) ==162556== ==162556== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162556== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162556== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162556== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162556== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162556== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162556== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162556== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162556== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162556== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162556== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162556== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162556== by 0x498986B: setlocale (setlocale.c:337) ==162556== by 0x10904B: main (first.c:160) ==162556== ==162556== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162556== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162556== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162556== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162556== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162556== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162556== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162556== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162556== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162556== by 0x498986B: setlocale (setlocale.c:337) ==162556== by 0x10904B: main (first.c:160) ==162556== ==162556== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162556== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162556== by 0x48EA143: Curl_open (url.c:510) ==162556== by 0x4880EEF: curl_easy_init (easy.c:370) ==162556== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162556== by 0x1090E0: main (first.c:220) ==162556== ==162556== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162556== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162556== by 0x4A6D258: __tsearch (tsearch.c:337) ==162556== by 0x4A6D258: tsearch (tsearch.c:290) ==162556== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162556== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162556== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162556== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162556== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162556== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162556== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162556== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162556== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162556== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162556== by 0x498986B: setlocale (setlocale.c:337) ==162556== by 0x10904B: main (first.c:160) ==162556== ==162556== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162556== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162556== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162556== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162556== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162556== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162556== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162556== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162556== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162556== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162556== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162556== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162556== by 0x498986B: setlocale (setlocale.c:337) ==162556== by 0x10904B: main (first.c:160) ==162556== === End of file valgrind2030 test 2029...[HTTP authorization retry (NTLM switching to Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2029 ./libtest/libauthretry http://127.0.0.1:42929/2029 ntlm basic > log/10/stdout2029 2> log/10/stderr2029 2029: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 2029 === Start of file http_server.log 02:03:33.940393 ====> Client connect 02:03:33.940425 accept_connection 3 returned 4 02:03:33.940442 accept_connection 3 returned 0 02:03:33.940456 Read 93 bytes 02:03:33.940467 Process 93 bytes request 02:03:33.940482 Got request: GET /verifiedserver HTTP/1.1 02:03:33.940492 Are-we-friendly question received 02:03:33.940531 Wrote request (93 bytes) input to log/10/server.input 02:03:33.940550 Identifying ourselves as friends 02:03:33.940617 Response sent (56 bytes) and written to log/10/server.response 02:03:33.940629 special request received, no persistency 02:03:33.940638 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 2029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr2029 URL: http://127.0.0.1:42929/2029 === End of file stderr2029 === Start of file valgrind2029 ==162503== ==162503== Process terminating with default action of signal 4 (SIGILL) ==162503== Illegal opcode at address 0x48EA16B ==162503== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162503== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162503== by 0x48EA16B: Curl_open (url.c:519) ==162503== by 0x4880EEF: curl_easy_init (easy.c:370) ==162503== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162503== by 0x1090E0: main (first.c:220) ==162503== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162503== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162503== by 0x4A6D258: __tsearch (tsearch.c:337) ==162503== by 0x4A6D258: tsearch (tsearch.c:290) ==162503== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162503== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162503== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162503== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162503== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162503== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162503== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162503== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162503== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162503== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162503== by 0x498986B: setlocale (setlocale.c:337) ==162503== by 0x10904B: main (first.c:160) ==162503== ==162503== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162503== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162503== by 0x4A6D258: __tsearch (tsearch.c:337) ==162503== by 0x4A6D258: tsearch (tsearch.c:290) ==162503== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162503== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162503== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162503== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162503== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162503== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162503== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162503== by 0x498986B: setlocale (setlocale.c:337) ==162503== by 0x10904B: main (first.c:160) ==162503== ==162503== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162503== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162503== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162503== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162503== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162503== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162503== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162503== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162503== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162503== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162503== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162503== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162503== by 0x498986B: setlocale (setlocale.c:337) ==162503== by 0x10904B: main (first.c:160) ==162503== ==162503== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162503== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162503== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162503== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162503== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162503== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162503== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162503== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162503== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162503== by 0x498986B: setlocale (setlocale.c:337) ==162503== by 0x10904B: main (first.c:160) ==162503== ==162503== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162503== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162503== by 0x48EA143: Curl_open (url.c:510) ==162503== by 0x4880EEF: curl_easy_init (easy.c:370) ==162503== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162503== by 0x1090E0: main (first.c:220) ==162503== ==162503== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162503== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162503== by 0x4A6D258: __tsearch (tsearch.c:337) ==162503== by 0x4A6D258: tsearch (tsearch.c:290) ==162503== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162503== by 0x497DBB2: add_aliaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2040 ../src/curl -q --trace-ascii log/3/trace2040 --trace-config all --trace-time -u testuser:testpass http://127.0.0.1:34527/20400100 --next --no-basic http://127.0.0.1:34527/20400200 > log/3/stdout2040 2> log/3/stderr2040 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2039 ../src/curl -q --output log/11/curl2039.out --include --trace-ascii log/11/trace2039 --trace-config all --trace-time --netrc-optional --netrc-file log/11/netrc2039 ftp://127.0.0.1:45687/ > log/11/stdout2039 2> log/11/stderr2039 s2 (gconv_conf.c:176) ==162503== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162503== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162503== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162503== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162503== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162503== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162503== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162503== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162503== by 0x498986B: setlocale (setlocale.c:337) ==162503== by 0x10904B: main (first.c:160) ==162503== ==162503== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162503== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162503== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162503== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162503== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162503== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162503== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162503== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162503== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162503== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162503== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162503== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162503== by 0x498986B: setlocale (setlocale.c:337) ==162503== by 0x10904B: main (first.c:160) ==162503== === End of file valgrind2029 test 2040...[HTTP Basic authorization, then without authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2040 ../src/curl -q --trace-ascii log/3/trace2040 --trace-config all --trace-time -u testuser:testpass http://127.0.0.1:34527/20400100 --next --no-basic http://127.0.0.1:34527/20400200 > log/3/stdout2040 2> log/3/stderr2040 2040: stdout FAILED: --- log/3/check-expected 2024-12-15 02:03:34.833839540 +0000 +++ log/3/check-generated 2024-12-15 02:03:34.833839540 +0000 @@ -1,2 +0,0 @@ -Finally, this is the real page![LF] -This is a bad password page![LF] == Contents of files in the log/3/ dir after test 2040 === Start of file check-expected Finally, this is the real page![LF] This is a bad password page![LF] === End of file check-expected === Start of file http_server.log 02:03:34.454219 ====> Client connect 02:03:34.454253 accept_connection 3 returned 4 02:03:34.454270 accept_connection 3 returned 0 02:03:34.454285 Read 93 bytes 02:03:34.454296 Process 93 bytes request 02:03:34.454312 Got request: GET /verifiedserver HTTP/1.1 02:03:34.454322 Are-we-friendly question received 02:03:34.454347 Wrote request (93 bytes) input to log/3/server.input 02:03:34.454366 Identifying ourselves as friends 02:03:34.454437 Response sent (56 bytes) and written to log/3/server.response 02:03:34.454451 special request received, no persistency 02:03:34.454461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 2040 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind2040 ==162816== ==162816== Process terminating with default action of signal 4 (SIGILL) ==162816== Illegal opcode at address 0x10B08D ==162816== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==162816== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2040 test 2039...[FTP (optional .netrc with 'default' override; no user/pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2039 ../src/curl -q --output log/11/curl2039.out --include --trace-ascii log/11/trace2039 --trace-config all --trace-time --netrc-optional --netrc-file log/11/netrc2039 ftp://127.0.0.1:45687/ > log/11/stdout2039 2> log/11/stderr2039 2039: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2039 === Start of file ftp_server.log 02:03:34.255574 ====> Client connect 02:03:34.255703 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:34.255958 < "USER anonymous" 02:03:34.255991 > "331 We are happy you popped in![CR][LF]" 02:03:34.256151 < "PASS ftp@example.com" 02:03:34.256175 > "230 Welcome you silly person[CR][LF]" 02:03:34.256318 < "PWD" 02:03:34.256348 > "257 "/" is current directory[CR][LF]" 02:03:34.256502 < "EPSV" 02:03:34.256527 ====> Passive DATA channel requested by client 02:03:34.256540 DATA sockfilt for passive data channel starting... 02:03:34.257855 DATA sockfilt for passive data channel started (pid 162795) 02:03:34.257958 DATA sockfilt for passive data channel listens on port 46635 02:03:34.257997 > "229 Entering Passive Mode (|||46635|)[LF]" 02:03:34.258016 Client has been notified that DATA conn will be accepted on port 46635 02:03:34.258242 Client connects to port 46635 02:03:34.258270 ====> Client established passive DATA connection on port 46635 02:03:34.258332 < "TYPE I" 02:03:34.258370 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:34.258558 < "SIZE verifiedserver" 02:03:34.258594 > "213 17[CR][LF]" 02:03:34.258749 < "RETR verifiedserver" 02:03:34.258783 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:34.258863 =====> Closing passive DATA connection... 02:03:34.258881 Server disconnects passive DATA connection 02:03:34.259111 Server disconnected passive DATA connection 02:03:34.259141 DATA sockfilt for passive data channel quits (pid 162795) 02:03:34.259320 DATA sockfilt for passive data channel quit (pid 162795) 02:03:34.259346 =====> Closed passive DATA connection 02:03:34.259372 > "226 File transfer complete[CR][LF]" 02:03:34.302150 < "QUIT" 02:03:34.302199 > "221 bye bye baby[CR][LF]" 02:03:34.303343 MAIN sockfilt said DISC 02:03:34.303384 ====> Client disconnected 02:03:34.303442 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:34.455626 ====> Client connect 02:03:34.455851 Received DATA (on stdin) 02:03:34.455865 > 160 bytes data, server => client 02:03:34.455877 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:34.455889 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:34.455900 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:34.455967 < 16 bytes data, client => server 02:03:34.455981 'USER anonymous\r\n' 02:03:34.456132 Received DATA (on stdin) 02:03:34.456145 > 33 bytes data, server => client 02:03:34.456155 '331 We are happy you popped in!\r\n' 02:03:34.456207 < 22 bytes data, client => server 02:03:34.456220 'PASS ftp@example.com\r\n' 02:03:34.456312 Received DATA (on stdin) 02:03:34.456323 > 30 bytes data, server => client 02:03:34.456334 '230 Welcome you silly person\r\n' 02:03:34.456380 < 5 bytes data, client => server 02:03:34.456392 'PWD\r\n' 02:03:34.456486 Received DATA (on stdin) 02:03:34.456497 > 30 bytes data, server => client 02:03:34.456507 '257 "/" is current directory\r\n' 02:03:34.456563 < 6 bytes data, client => server 02:03:34.456576 'EPSV\r\n' 02:03:34.458161 Received DATA (on stdin) 02:03:34.458174 > 38 bytes data, server => client 02:03:34.458187 '229 Entering Passive Mode (|||46635|)\n' 02:03:34.458300 < 8 bytes data, client => server 02:03:34.458318 'TYPE I\r\n' 02:03:34.458513 Received DATA (on stdin) 02:03:34.458527 > 33 bytes data, server => client 02:03:34.458539 '200 I modify TYPE as you wanted\r\n' 02:03:34.458611 < 21 bytes data, client => server 02:03:34.458625 'SIZE verifiedserver\r\n' 02:03:34.458733 Received DATA (on stdin) 02:03:34.458746 > 8 bytes data, server => client 02:03:34.458756 '213 17\r\n' 02:03:34.458807 < 21 bytes data, client => server 02:03:34.458819 'RETR verifiedserver\r\n' 02:03:34.459022 Received DATA (on stdin) 02:03:34.459035 > 29 bytes data, server => client 02:03:34.459047 '150 Binary junk (17 bytes).\r\n' 02:03:34.459514 Received DATA (on stdin) 02:03:34.459527 > 28 bytes data, server => client 02:03:34.459538 '226 File transfer complete\r\n' 02:03:34.502107 < 6 bytes data, client => server 02:03:34.502130 'QUIT\r\n' 02:03:34.502342 Received DATA (on stdin) 02:03:34.502354 > 18 bytes data, server => client 02:03:34.502364 '221 bye bye baby\r\n' 02:03:34.503424 ====> Client disconnect 02:03:34.503579 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:34.457830 Running IPv4 version 02:03:34.457882 Listening on port 46635 02:03:34.457920 Wrote pid 162795 to log/11/server/ftp_sockdata.pid 02:03:34.457938 Received PING (on stdin) 02:03:34.458017 Received PORT (on stdin) 02:03:34.458337 ====> Client connect 02:03:34.459077 Received DATA (on stdin) 02:03:34.459091 > CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2031 ./libtest/libauthretry http://127.0.0.1:38805/2031 ntlm ntlm > log/8/stdout2031 2> log/8/stderr2031 17 bytes data, server => client 02:03:34.459102 'WE ROOLZ: 80480\r\n' 02:03:34.459129 Received DISC (on stdin) 02:03:34.459142 ====> Client forcibly disconnected 02:03:34.459289 Received QUIT (on stdin) 02:03:34.459303 quits 02:03:34.459346 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc2039 # the following two lines were created while testing curl default login userdef password passwddef machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc2039 === Start of file server.cmd Testnum 2039 === End of file server.cmd === Start of file valgrind2039 ==162891== ==162891== Process terminating with default action of signal 4 (SIGILL) ==162891== Illegal opcode at address 0x10B08D ==162891== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==162891== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2039 test 2031...[HTTP authorization retry (NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2031 ./libtest/libauthretry http://127.0.0.1:38805/2031 ntlm ntlm > log/8/stdout2031 2> log/8/stderr2031 2031: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 2031 === Start of file http_server.log 02:03:34.247288 ====> Client connect 02:03:34.247318 accept_connection 3 returned 4 02:03:34.247334 accept_connection 3 returned 0 02:03:34.247348 Read 93 bytes 02:03:34.247358 Process 93 bytes request 02:03:34.247373 Got request: GET /verifiedserver HTTP/1.1 02:03:34.247382 Are-we-friendly question received 02:03:34.247402 Wrote request (93 bytes) input to log/8/server.input 02:03:34.247419 Identifying ourselves as friends 02:03:34.247477 Response sent (57 bytes) and written to log/8/server.response 02:03:34.247488 special request received, no persistency 02:03:34.247501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 2031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file stderr2031 URL: http://127.0.0.1:38805/2031 === End of file stderr2031 === Start of file valgrind2031 ==162631== ==162631== Process terminating with default action of signal 4 (SIGILL) ==162631== Illegal opcode at address 0x48EA16B ==162631== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162631== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162631== by 0x48EA16B: Curl_open (url.c:519) ==162631== by 0x4880EEF: curl_easy_init (easy.c:370) ==162631== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162631== by 0x1090E0: main (first.c:220) ==162631== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==162631== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162631== by 0x4A6D258: __tsearch (tsearch.c:337) ==162631== by 0x4A6D258: tsearch (tsearch.c:290) ==162631== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162631== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162631== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162631== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162631== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162631== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162631== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162631== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162631== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162631== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162631== by 0x498986B: setlocale (setlocale.c:337) ==162631== by 0x10904B: main (first.c:160) ==162631== ==162631== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==162631== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162631== by 0x4A6D258: __tsearch (tsearch.c:337) ==162631== by 0x4A6D258: tsearch (tsearch.c:290) ==162631== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162631== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162631== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162631== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162631== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162631== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162631== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162631== by 0x498986B: setlocale (setlocale.c:337) ==162631== by 0x10904B: main (first.c:160) ==162631== ==162631== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==162631== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162631== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162631== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162631== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162631== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162631== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162631== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162631== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162631== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162631== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162631== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162631== by 0x498986B: setlocale (setlocale.c:337) ==162631== by 0x10904B: main (first.c:160) ==162631== ==162631== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==162631== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162631== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162631== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162631== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162631== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162631== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162631== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162631== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162631== by 0x498986B: setlocale (setlocale.c:337) ==162631== by 0x10904B: main (first.c:160) ==162631== ==162631== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==162631== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162631== by 0x48EA143: Curl_open (url.c:510) ==162631== by 0x4880EEF: curl_easy_init (easy.c:370) ==162631== by 0x1090E0: UnknownInlinedFun (libauthretry.c:106) ==162631== by 0x1090E0: main (first.c:220) ==162631== ==162631== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==162631== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162631== by 0x4A6D258: __tsearch (tsearch.c:337) ==162631== by 0x4A6D258: tsearch (tsearch.c:290) ==162631== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162631== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162631== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162631== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162631== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162631== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162631== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162631== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthreadCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2044 ../src/curl -q --output log/12/curl2044.out --include --trace-ascii log/12/trace2044 --trace-config all --trace-time --proto-default DOESNOTEXIST > log/12/stdout2044 2> log/12/stderr2044 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2032 ./libtest/libntlmconnect http://127.0.0.1:38781/2032 > log/2/stdout2032 2> log/2/stderr2032 _once.c:143) ==162631== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162631== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162631== by 0x498986B: setlocale (setlocale.c:337) ==162631== by 0x10904B: main (first.c:160) ==162631== ==162631== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==162631== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162631== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162631== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162631== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162631== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162631== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162631== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162631== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162631== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162631== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162631== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162631== by 0x498986B: setlocale (setlocale.c:337) ==162631== by 0x10904B: main (first.c:160) ==162631== === End of file valgrind2031 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 40535 --port2 43413 --nghttpx "nghttpx" --pidfile "log/4/server/http_v2_server.pid" --logfile "log/4/http_v2_server.log" --logdir "log/4" --connect 127.0.0.1:36813 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1701 SKIPPED: failed starting HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 36903 --port2 37759 --nghttpx "nghttpx" --pidfile "log/5/server/http_v2_server.pid" --logfile "log/5/http_v2_server.log" --logdir "log/5" --connect 127.0.0.1:34719 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1700 SKIPPED: failed starting HTTP/2 server * starts no server test 2044...[Attempt to set a default protocol that does not exist] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2044 ../src/curl -q --output log/12/curl2044.out --include --trace-ascii log/12/trace2044 --trace-config all --trace-time --proto-default DOESNOTEXIST > log/12/stdout2044 2> log/12/stderr2044 curl returned 132, when expecting 1 2044: exit FAILED == Contents of files in the log/12/ dir after test 2044 === Start of file server.cmd Testnum 2044 === End of file server.cmd === Start of file valgrind2044 ==162950== ==162950== Process terminating with default action of signal 4 (SIGILL) ==162950== Illegal opcode at address 0x10B08D ==162950== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==162950== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2044 test 2032...[NTLM connection mapping] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2032 ./libtest/libntlmconnect http://127.0.0.1:38781/2032 > log/2/stdout2032 2> log/2/stderr2032 2032: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 2032 === Start of file http_server.log 02:03:34.438598 ====> Client connect 02:03:34.438631 accept_connection 3 returned 4 02:03:34.438648 accept_connection 3 returned 0 02:03:34.438662 Read 93 bytes 02:03:34.438672 Process 93 bytes request 02:03:34.438686 Got request: GET /verifiedserver HTTP/1.1 02:03:34.438696 Are-we-friendly question received 02:03:34.438722 Wrote request (93 bytes) input to log/2/server.input 02:03:34.438739 Identifying ourselves as friends 02:03:34.438804 Response sent (56 bytes) and written to log/2/server.response 02:03:34.438815 special request received, no persistency 02:03:34.438825 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 2032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file stderr2032 URL: http://127.0.0.1:38781/2032 === End of file stderr2032 === Start of file valgrind2032 ==162794== ==162794== Process terminating with default action of signal 4 (SIGILL) ==162794== Illegal opcode at address 0x48EA16B ==162794== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==162794== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==162794== by 0x48EA16B: Curl_open (url.c:519) ==162794== by 0x4880EEF: curl_easy_init (easy.c:370) ==162794== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==162794== by 0x48BF363: Curl_multi_handle (multi.c:416) ==162794== by 0x109481: test (libntlmconnect.c:121) ==162794== by 0x109076: main (first.c:220) ==162794== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==162794== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162794== by 0x4A6D258: __tsearch (tsearch.c:337) ==162794== by 0x4A6D258: tsearch (tsearch.c:290) ==162794== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162794== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162794== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162794== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162794== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162794== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162794== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162794== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162794== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162794== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162794== by 0x498986B: setlocale (setlocale.c:337) ==162794== by 0x109047: main (first.c:160) ==162794== ==162794== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==162794== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162794== by 0x4A6D258: __tsearch (tsearch.c:337) ==162794== by 0x4A6D258: tsearch (tsearch.c:290) ==162794== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162794== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162794== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162794== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162794== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162794== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162794== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162794== by 0x498986B: setlocale (setlocale.c:337) ==162794== by 0x109047: main (first.c:160) ==162794== ==162794== 681 bytes in 17 blocks are possibly lost in loss record 616 of 656 ==162794== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162794== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162794== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162794== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162794== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162794== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==162794== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==162794== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162794== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2045 ../src/curl -q --output log/7/curl2045.out --include --trace-ascii log/7/trace2045 --trace-config all --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:40455 > log/7/stdout2045 2> log/7/stderr2045 ead_once.c:143) ==162794== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162794== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162794== by 0x498986B: setlocale (setlocale.c:337) ==162794== by 0x109047: main (first.c:160) ==162794== ==162794== 1,018 bytes in 23 blocks are possibly lost in loss record 630 of 656 ==162794== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162794== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162794== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==162794== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==162794== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162794== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162794== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162794== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162794== by 0x498986B: setlocale (setlocale.c:337) ==162794== by 0x109047: main (first.c:160) ==162794== ==162794== 5,480 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==162794== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==162794== by 0x48EA143: Curl_open (url.c:510) ==162794== by 0x4880EEF: curl_easy_init (easy.c:370) ==162794== by 0x48BF363: UnknownInlinedFun (conncache.c:163) ==162794== by 0x48BF363: Curl_multi_handle (multi.c:416) ==162794== by 0x109481: test (libntlmconnect.c:121) ==162794== by 0x109076: main (first.c:220) ==162794== ==162794== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==162794== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162794== by 0x4A6D258: __tsearch (tsearch.c:337) ==162794== by 0x4A6D258: tsearch (tsearch.c:290) ==162794== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==162794== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162794== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162794== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162794== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162794== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162794== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162794== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162794== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162794== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162794== by 0x498986B: setlocale (setlocale.c:337) ==162794== by 0x109047: main (first.c:160) ==162794== ==162794== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==162794== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==162794== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==162794== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==162794== by 0x497DBB2: add_alias (gconv_conf.c:178) ==162794== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==162794== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==162794== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==162794== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==162794== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==162794== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==162794== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==162794== by 0x498986B: setlocale (setlocale.c:337) ==162794== by 0x109047: main (first.c:160) ==162794== === End of file valgrind2032 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 37777 --port2 43971 --nghttpx "nghttpx" --pidfile "log/1/server/http_v2_server.pid" --logfile "log/1/http_v2_server.log" --logdir "log/1" --connect 127.0.0.1:34215 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1702 SKIPPED: failed starting HTTP/2 server test 2045...[Set the default protocol to ftp for a schemeless URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2045 ../src/curl -q --output log/7/curl2045.out --include --trace-ascii log/7/trace2045 --trace-config all --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:40455 > log/7/stdout2045 2> log/7/stderr2045 curl returned 132, when expecting 8 2045: exit FAILED == Contents of files in the log/7/ dir after test 2045 === Start of file ftp_server.log 02:03:34.579296 ====> Client connect 02:03:34.579450 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:34.579645 < "USER anonymous" 02:03:34.579671 > "331 We are happy you popped in![CR][LF]" 02:03:34.579799 < "PASS ftp@example.com" 02:03:34.579817 > "230 Welcome you silly person[CR][LF]" 02:03:34.579959 < "PWD" 02:03:34.579985 > "257 "/" is current directory[CR][LF]" 02:03:34.580105 < "EPSV" 02:03:34.580125 ====> Passive DATA channel requested by client 02:03:34.580135 DATA sockfilt for passive data channel starting... 02:03:34.581242 DATA sockfilt for passive data channel started (pid 163013) 02:03:34.581333 DATA sockfilt for passive data channel listens on port 39513 02:03:34.581362 > "229 Entering Passive Mode (|||39513|)[LF]" 02:03:34.581376 Client has been notified that DATA conn will be accepted on port 39513 02:03:34.581563 Client connects to port 39513 02:03:34.581587 ====> Client established passive DATA connection on port 39513 02:03:34.581634 < "TYPE I" 02:03:34.581653 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:34.581786 < "SIZE verifiedserver" 02:03:34.581812 > "213 18[CR][LF]" 02:03:34.581923 < "RETR verifiedserver" 02:03:34.581948 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:34.582009 =====> Closing passive DATA connection... 02:03:34.582021 Server disconnects passive DATA connection 02:03:34.582196 Server disconnected passive DATA connection 02:03:34.582217 DATA sockfilt for passive data channel quits (pid 163013) 02:03:34.582367 DATA sockfilt for passive data channel quit (pid 163013) 02:03:34.582383 =====> Closed passive DATA connection 02:03:34.582403 > "226 File transfer complete[CR][LF]" 02:03:34.628602 < "QUIT" 02:03:34.628654 > "221 bye bye baby[CR][LF]" 02:03:34.628759 MAIN sockfilt said DISC 02:03:34.628783 ====> Client disconnected 02:03:34.628842 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:33.779344 ====> Client connect 02:03:33.779564 Received DATA (on stdin) 02:03:33.779577 > 160 bytes data, server => client 02:03:33.779586 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:33.779595 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:33.779603 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:33.779663 < 16 bytes data, client => server 02:03:33.779673 'USER anonymous\r\n' 02:03:33.779808 Received DATA (on stdin) 02:03:33.779817 > 33 bytes data, server => client 02:03:33.779826 '331 We are happy you popped in!\r\n' 02:03:33.779868 < 22 bytes data, client => server 02:03:33.779877 'PASS ftp@example.com\r\n' 02:03:33.779952 Received DATA (on stdin) 02:03:33.779963 > 30 bytes data, server => client 02:03:33.779973 '230 Welcome you silly person\r\n' 02:03:33.780022 < 5 bytes data, client => server 02:03:33.780033 'PWD\r\n' 02:03:33.780118 Received DATA (on stdin) 02:03:33.780127 > 30 bytes data, server => client 02:03:33.780135 '257 "/" is current directory\r\n' 02:03:33.780180 < 6 bytes data, client => server 02:03:33.780189 'EPSV\r\n' 02:03:33.781515 Received DATA (on stdin) 02:03:33.781527 > 38 bytes data, server => client 02:03:33.781536 '229 Entering Passive Mode (|||39513|)\n' 02:03:33.781635 < 8 bytes data, client => server 02:03:33.781648 'TYPE I\r\n' 02:03:33.781787 Received DATA (on stdin) 02:03:33.781796 > 33 bytes data, server => client 02:03:33.781815 '200 I modify TYPE as you wanted\r\n' 02:03:33.781857 < 21 bytCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2049 ../src/curl -q --output log/6/curl2049.out --include --trace-ascii log/6/trace2049 --trace-config all --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:39167 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:39167 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:39167 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:39167 > log/6/stdout2049 2> log/6/stderr2049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2047 ../src/curl -q --include --trace-ascii log/10/trace2047 --trace-config all --trace-time http://åäö.se/2047 -x 127.0.0.1:42929 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/10/stdout2047 2> log/10/stderr2047 es data, client => server 02:03:33.781866 'SIZE verifiedserver\r\n' 02:03:33.781946 Received DATA (on stdin) 02:03:33.781955 > 8 bytes data, server => client 02:03:33.781963 '213 18\r\n' 02:03:33.782000 < 21 bytes data, client => server 02:03:33.782009 'RETR verifiedserver\r\n' 02:03:33.782229 Received DATA (on stdin) 02:03:33.782238 > 29 bytes data, server => client 02:03:33.782247 '150 Binary junk (18 bytes).\r\n' 02:03:33.782538 Received DATA (on stdin) 02:03:33.782548 > 28 bytes data, server => client 02:03:33.782557 '226 File transfer complete\r\n' 02:03:33.828596 < 6 bytes data, client => server 02:03:33.828625 'QUIT\r\n' 02:03:33.828776 Received DATA (on stdin) 02:03:33.828793 > 18 bytes data, server => client 02:03:33.828804 '221 bye bye baby\r\n' 02:03:33.828855 ====> Client disconnect 02:03:33.828979 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:34.781244 Running IPv4 version 02:03:34.781289 Listening on port 39513 02:03:34.781318 Wrote pid 163013 to log/7/server/ftp_sockdata.pid 02:03:34.781332 Received PING (on stdin) 02:03:34.781395 Received PORT (on stdin) 02:03:34.781662 ====> Client connect 02:03:34.782156 Received DATA (on stdin) 02:03:34.782166 > 18 bytes data, server => client 02:03:34.782175 'WE ROOLZ: 134972\r\n' 02:03:34.782199 Received DISC (on stdin) 02:03:34.782209 ====> Client forcibly disconnected 02:03:34.782358 Received QUIT (on stdin) 02:03:34.782368 quits 02:03:34.782410 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome HTTP/1.1 200 OK\r\nContent-Length: 21\r\n\r\n500 Weird FTP Reply Testnum 2045 === End of file server.cmd === Start of file valgrind2045 ==163017== ==163017== Process terminating with default action of signal 4 (SIGILL) ==163017== Illegal opcode at address 0x10B08D ==163017== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163017== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2045 test 2049...[Connect to specific host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2049 ../src/curl -q --output log/6/curl2049.out --include --trace-ascii log/6/trace2049 --trace-config all --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:39167 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:39167 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:39167 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:39167 > log/6/stdout2049 2> log/6/stderr2049 2049: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 2049 === Start of file http_server.log 02:03:34.928738 ====> Client connect 02:03:34.928766 accept_connection 3 returned 4 02:03:34.928782 accept_connection 3 returned 0 02:03:34.928797 Read 93 bytes 02:03:34.928808 Process 93 bytes request 02:03:34.928821 Got request: GET /verifiedserver HTTP/1.1 02:03:34.928832 Are-we-friendly question received 02:03:34.928856 Wrote request (93 bytes) input to log/6/server.input 02:03:34.928874 Identifying ourselves as friends 02:03:34.928932 Response sent (57 bytes) and written to log/6/server.response 02:03:34.928943 special request received, no persistency 02:03:34.928952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 2049 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file valgrind2049 ==163123== ==163123== Process terminating with default action of signal 4 (SIGILL) ==163123== Illegal opcode at address 0x10B08D ==163123== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163123== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2046 ../src/curl -q --include --trace-ascii log/9/trace2046 --trace-config all --trace-time http://åäö.se:38509/2046 --resolve xn--4cab6c.se:38509:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/9/stdout2046 2> log/9/stderr2046 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 2047...[Connection reuse with IDN host name over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2047 ../src/curl -q --include --trace-ascii log/10/trace2047 --trace-config all --trace-time http://åäö.se/2047 -x 127.0.0.1:42929 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/10/stdout2047 2> log/10/stderr2047 2047: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:35.263847171 +0000 +++ log/10/check-generated 2024-12-15 02:03:35.263847171 +0000 @@ -1,18 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: ./20470001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] -1[LF] -1[LF] -3[LF] -http://%c3%a5%c3%a4%c3%b6.se/20470001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/10/ dir after test 2047 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: ./20470001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] 1[LF] 1[LF] 3[LF] http://%c3%a5%c3%a4%c3%b6.se/20470001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file http_server.log 02:03:34.924210 ====> Client connect 02:03:34.924243 accept_connection 3 returned 4 02:03:34.924275 accept_connection 3 returned 0 02:03:34.924293 Read 93 bytes 02:03:34.924303 Process 93 bytes request 02:03:34.924315 Got request: GET /verifiedserver HTTP/1.1 02:03:34.924323 Are-we-friendly question received 02:03:34.924344 Wrote request (93 bytes) input to log/10/server.input 02:03:34.924359 Identifying ourselves as friends 02:03:34.924417 Response sent (56 bytes) and written to log/10/server.response 02:03:34.924426 special request received, no persistency 02:03:34.924434 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 2047 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind2047 ==163118== ==163118== Process terminating with default action of signal 4 (SIGILL) ==163118== Illegal opcode at address 0x10B08D ==163118== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163118== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2047 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2051 ../src/curl -q --include --trace-ascii log/3/trace2051 --trace-config all --trace-time http://127.0.0.1:34527/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:34527 http://127.0.0.1:34527/2051 -w "%{num_connects}\n" --next http://127.0.0.1:34527/2051 -w "%{num_connects}\n" > log/3/stdout2051 2> log/3/stderr2051 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 2046...[Connection reuse with IDN host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2046 ../src/curl -q --include --trace-ascii log/9/trace2046 --trace-config all --trace-time http://åäö.se:38509/2046 --resolve xn--4cab6c.se:38509:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/9/stdout2046 2> log/9/stderr2046 2046: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:35.283847526 +0000 +++ log/9/check-generated 2024-12-15 02:03:35.283847526 +0000 @@ -1,18 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: ./20460001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] -1[LF] -1[LF] -3[LF] -http://%c3%a5%c3%a4%c3%b6.se:38509/20460001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/9/ dir after test 2046 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: ./20460001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] 1[LF] 1[LF] 3[LF] http://%c3%a5%c3%a4%c3%b6.se:38509/20460001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file http_server.log 02:03:34.928933 ====> Client connect 02:03:34.928960 accept_connection 3 returned 4 02:03:34.928975 accept_connection 3 returned 0 02:03:34.928988 Read 93 bytes 02:03:34.928998 Process 93 bytes request 02:03:34.929011 Got request: GET /verifiedserver HTTP/1.1 02:03:34.929020 Are-we-friendly question received 02:03:34.929042 Wrote request (93 bytes) input to log/9/server.input 02:03:34.929065 Identifying ourselves as friends 02:03:34.929127 Response sent (56 bytes) and written to log/9/server.response 02:03:34.929139 special request received, no persistency 02:03:34.929148 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 2046 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind2046 ==163124== ==163124== Process terminating with default action of signal 4 (SIGILL) ==163124== Illegal opcode at address 0x10B08D ==163124== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163124== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2046 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2050 ../src/curl -q --output log/11/curl2050.out --include --trace-ascii log/11/trace2050 --trace-config all --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:44137 -x 127.0.0.1:41001 > log/11/stdout2050 2> log/11/stderr2050 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2053 ../src/curl -q --output log/4/curl2053.out --include --trace-ascii log/4/trace2053 --trace-config all --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:36813 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:36813 > log/4/stdout2053 2> log/4/stderr2053 test 2051...[Connect to specific host: Reuse existing connections if possible] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2051 ../src/curl -q --include --trace-ascii log/3/trace2051 --trace-config all --trace-time http://127.0.0.1:34527/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:34527 http://127.0.0.1:34527/2051 -w "%{num_connects}\n" --next http://127.0.0.1:34527/2051 -w "%{num_connects}\n" > log/3/stdout2051 2> log/3/stderr2051 2051: stdout FAILED: --- log/3/check-expected 2024-12-15 02:03:35.480517681 +0000 +++ log/3/check-generated 2024-12-15 02:03:35.480517681 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain[LF] -[LF] -OK[LF] -1[LF] -OK[LF] -0[LF] -OK[LF] -0[LF] == Contents of files in the log/3/ dir after test 2051 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain[LF] [LF] OK[LF] 1[LF] OK[LF] 0[LF] OK[LF] 0[LF] === End of file check-expected === Start of file http_server.log 02:03:35.064821 ====> Client connect 02:03:35.064849 accept_connection 3 returned 4 02:03:35.064864 accept_connection 3 returned 0 02:03:35.064874 Read 93 bytes 02:03:35.064883 Process 93 bytes request 02:03:35.064893 Got request: GET /verifiedserver HTTP/1.1 02:03:35.064902 Are-we-friendly question received 02:03:35.064920 Wrote request (93 bytes) input to log/3/server.input 02:03:35.064934 Identifying ourselves as friends 02:03:35.064991 Response sent (56 bytes) and written to log/3/server.response 02:03:35.065000 special request received, no persistency 02:03:35.065008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 2051 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind2051 ==163318== ==163318== Process terminating with default action of signal 4 (SIGILL) ==163318== Illegal opcode at address 0x10B08D ==163318== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163318== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2051 test 2050...[Connect to specific host via HTTP proxy (switch to tunnel mode automatically)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2050 ../src/curl -q --output log/11/curl2050.out --include --trace-ascii log/11/trace2050 --trace-config all --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:44137 -x 127.0.0.1:41001 > log/11/stdout2050 2> log/11/stderr2050 2050: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2050 === Start of file http2_server.log 02:03:35.084234 ====> Client connect 02:03:35.084318 accept_connection 3 returned 4 02:03:35.084336 accept_connection 3 returned 0 02:03:35.084350 Read 93 bytes 02:03:35.084360 Process 93 bytes request 02:03:35.084373 Got request: GET /verifiedserver HTTP/1.1 02:03:35.084383 Are-we-friendly question received 02:03:35.084405 Wrote request (93 bytes) input to log/11/proxy.input 02:03:35.084422 Identifying ourselves as friends 02:03:35.084496 Response sent (57 bytes) and written to log/11/proxy.response 02:03:35.084549 special request received, no persistency 02:03:35.084559 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41001... * Connected to 127.0.0.1 (127.0.0.1) port 41001 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41001 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 144734 === End of file http2_verify.out === Start of file http_server.log 02:03:35.063883 ====> Client connect 02:03:35.063914 accept_connection 3 returned 4 02:03:35.063931 accept_connection 3 returned 0 02:03:35.063945 Read 93 bytes 02:03:35.063955 Process 93 bytes request 02:03:35.063970 Got request: GET /verifiedserver HTTP/1.1 02:03:35.063980 Are-we-friendly question received 02:03:35.064003 Wrote request (93 bytes) input to log/11/server.input 02:03:35.064021 Identifying ourselves as friends 02:03:35.064085 Response sent (56 bytes) and written to log/11/server.response 02:03:35.064096 special request received, no persistency 02:03:35.064110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 144734 === End of file proxy.response === Start of file server.cmd Testnum 2050 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind2050 ==163351== ==163351== Process terminating with default action of signal 4 (SIGILL) ==163351== Illegal opcode at address 0x10B08D ==163351== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163351== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2050 test 2053...[Connect to specific host with IP addresses] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2053 ../src/curl -q --output log/4/curl2053.out --include --trace-ascii log/4/trace2053 --trace-config all --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:36813 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:36813 > log/4/stdout2053 2> log/4/stderr2053 2053: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 2053 === Start of file http_server.log 02:03:35.192476 ====> Client connect 02:03:35.192516 accept_connection 3 returned 4 02:03:35.192535 accept_connection 3 returned 0 02:03:35.192549 Read 93 bytes 02:03:35.192561 Process 93 bytes request 02:03:35.192575 Got request: GET /verifiedserver HTTP/1.1 02:03:35.192586 Are-we-friendly question received 02:03:35.192610 Wrote request (93 bytes) input to log/4/server.input 02:03:35.192629 Identifying ourselves as friends 02:03:35.192703 Response sent (56 bytes) and written to log/4/server.response 02:03:35.192716 special request received, no persistency 02:03:35.192727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2054 ../src/curl -q --output log/5/curl2054.out --include --trace-ascii log/5/trace2054 --trace-config all --trace-time http://127.0.0.1:34719/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:34719/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::34719 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:34719 --connect-to www.example.com:8084:foo:123 > log/5/stdout2054 2> log/5/stderr2054 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2052 ../src/curl -q --include --trace-ascii log/8/trace2052 --trace-config all --trace-time http://www.example.com:38805/2052 --resolve www.example.com:38805:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:38805 --connect-to ::127.0.0.1:38805 http://www.example.com:38805/2052 -w "%{num_connects}\n" > log/8/stdout2052 2> log/8/stderr2052 .0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 2053 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind2053 ==163495== ==163495== Process terminating with default action of signal 4 (SIGILL) ==163495== Illegal opcode at address 0x10B08D ==163495== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163495== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2053 test 2054...[Connect to specific host: use the first "connect-to" string that matches] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2054 ../src/curl -q --output log/5/curl2054.out --include --trace-ascii log/5/trace2054 --trace-config all --trace-time http://127.0.0.1:34719/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:34719/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::34719 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:34719 --connect-to www.example.com:8084:foo:123 > log/5/stdout2054 2> log/5/stderr2054 2054: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 2054 === Start of file http_server.log 02:03:35.188793 ====> Client connect 02:03:35.188824 accept_connection 3 returned 4 02:03:35.188840 accept_connection 3 returned 0 02:03:35.188854 Read 93 bytes 02:03:35.188865 Process 93 bytes request 02:03:35.188877 Got request: GET /verifiedserver HTTP/1.1 02:03:35.188888 Are-we-friendly question received 02:03:35.188912 Wrote request (93 bytes) input to log/5/server.input 02:03:35.188930 Identifying ourselves as friends 02:03:35.188998 Response sent (57 bytes) and written to log/5/server.response 02:03:35.189010 special request received, no persistency 02:03:35.189020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 2054 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind2054 ==163489== ==163489== Process terminating with default action of signal 4 (SIGILL) ==163489== Illegal opcode at address 0x10B08D ==163489== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163489== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2054 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2055 ../src/curl -q --output log/12/curl2055.out --include --trace-ascii log/12/trace2055 --trace-config all --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:40653 -x 127.0.0.1:45977 --preproxy socks5://127.0.0.1:38367 > log/12/stdout2055 2> log/12/stderr2055 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2056 ../src/curl -q --output log/2/curl2056.out --include --trace-ascii log/2/trace2056 --trace-config all --trace-time --negotiate http://127.0.0.1:38781/2056 > log/2/stdout2056 2> log/2/stderr2056 test 2052...[Connect to specific host: Do not mix connections with and without a "connect to host"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2052 ../src/curl -q --include --trace-ascii log/8/trace2052 --trace-config all --trace-time http://www.example.com:38805/2052 --resolve www.example.com:38805:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:38805 --connect-to ::127.0.0.1:38805 http://www.example.com:38805/2052 -w "%{num_connects}\n" > log/8/stdout2052 2> log/8/stderr2052 2052: stdout FAILED: --- log/8/check-expected 2024-12-15 02:03:35.673854446 +0000 +++ log/8/check-generated 2024-12-15 02:03:35.673854446 +0000 @@ -1,9 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain[LF] -[LF] -OK[LF] -1[LF] -OK[LF] -1[LF] == Contents of files in the log/8/ dir after test 2052 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain[LF] [LF] OK[LF] 1[LF] OK[LF] 1[LF] === End of file check-expected === Start of file http_server.log 02:03:35.184288 ====> Client connect 02:03:35.184323 accept_connection 3 returned 4 02:03:35.184345 accept_connection 3 returned 0 02:03:35.184358 Read 93 bytes 02:03:35.184369 Process 93 bytes request 02:03:35.184384 Got request: GET /verifiedserver HTTP/1.1 02:03:35.184395 Are-we-friendly question received 02:03:35.184419 Wrote request (93 bytes) input to log/8/server.input 02:03:35.184438 Identifying ourselves as friends 02:03:35.184609 Response sent (57 bytes) and written to log/8/server.response 02:03:35.184621 special request received, no persistency 02:03:35.184631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 2052 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file valgrind2052 ==163488== ==163488== Process terminating with default action of signal 4 (SIGILL) ==163488== Illegal opcode at address 0x10B08D ==163488== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163488== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2052 test 2055...[Connect to specific host via SOCKS proxy and HTTP proxy (switch to tunnel mode automatically)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2055 ../src/curl -q --output log/12/curl2055.out --include --trace-ascii log/12/trace2055 --trace-config all --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:40653 -x 127.0.0.1:45977 --preproxy socks5://127.0.0.1:38367 > log/12/stdout2055 2> log/12/stderr2055 2055: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 2055 === Start of file http2_server.log 02:03:34.225789 ====> Client connect 02:03:34.225821 accept_connection 3 returned 4 02:03:34.225836 accept_connection 3 returned 0 02:03:34.225851 Read 93 bytes 02:03:34.225861 Process 93 bytes request 02:03:34.225875 Got request: GET /verifiedserver HTTP/1.1 02:03:34.225885 Are-we-friendly question received 02:03:34.225906 Wrote request (93 bytes) input to log/12/proxy.input 02:03:34.225922 Identifying ourselves as friends 02:03:34.225983 Response sent (56 bytes) and written to log/12/proxy.response 02:03:34.225993 special request received, no persistency 02:03:34.226002 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45977... * Connected to 127.0.0.1 (127.0.0.1) port 45977 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45977 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79237 === End of file http2_verify.out === Start of file http_server.log 02:03:35.202083 ====> Client connect 02:03:35.202118 accept_connection 3 returned 4 02:03:35.202161 accept_connection 3 returned 0 02:03:35.202184 Read 93 bytes 02:03:35.202217 Process 93 bytes request 02:03:35.202239 Got request: GET /verifiedserver HTTP/1.1 02:03:35.202250 Are-we-friendly question received 02:03:35.202276 Wrote request (93 bytes) input to log/12/server.input 02:03:35.202295 Identifying ourselves as friends 02:03:35.202425 Response sent (56 bytes) and written to log/12/server.response 02:03:35.202441 special request received, no persistency 02:03:35.202452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79237 === End of file proxy.response === Start of file server.cmd Testnum 2055 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind2055 ==163631== ==163631== Process terminating with default action of signal 4 (SIGILL) ==163631== Illegal opcode at address 0x10B08D ==163631== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163631== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2055 setenv LD_PRELOAD = /startdir/src/build-curl/tests/libtest/.libs/libstubgss.so setenv CURL_STUB_GSS_CREDS = "KRB5_Alice" test 2056...[HTTP Negotiate authentication (stub krb5)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2056 ../src/curl -q --output log/2/curl2056.out --include --trace-ascii log/2/trace2056 --trace-config all --trace-time --negotiate http://127.0.0.1:38781/2056 > log/2/stdout2056 2> log/2/stderr2056 2056: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 2056 === Start of file http_server.log 02:03:35.340778 ====> Client connect 02:03:35.340816 accept_connection 3 returned 4 02:03:35.340835 accept_connection 3 returned 0 02:03:35.340850 Read 93 bytes 02:03:35.340861 Process 93 bytes request 02:03:35.340876 Got request: GET /verifiedserver HTTP/1.1 02:03:35.340886 Are-we-friendly question received 02:03:35.340914 Wrote request (93 bytes) input to log/2/server.input 02:03:35.340933 Identifying ourselves as friends 02:03:35.341008 Response sent (56 bytes) and written to log/2/server.response 02:03:35.341021 special request received, no persistency 02:03:35.341032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2057 ../src/curl -q --output log/1/curl2057.out --include --trace-ascii log/1/trace2057 --trace-config all --trace-time --negotiate http://127.0.0.1:34215/2057 > log/1/stdout2057 2> log/1/stderr2057 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2058 ../src/curl -q --output log/7/curl2058.out --include --trace-ascii log/7/trace2058 --trace-config all --trace-time http://127.0.0.1:43753/2058 -u auser:apasswd --digest -T log/7/2058 -x http://127.0.0.1:43753 -C 2 -X GET > log/7/stdout2058 2> log/7/stderr2058 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2060 ../src/curl -q --output log/10/curl2060.out --include --trace-ascii log/10/trace2060 --trace-config all --trace-time http://127.0.0.1:42929/2060 -u auser:apasswd --digest -T log/10/2060 -x http://127.0.0.1:42929 -C 2 -X GET > log/10/stdout2060 2> log/10/stderr2060 TP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 2056 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind2056 ==163747== ==163747== Process terminating with default action of signal 4 (SIGILL) ==163747== Illegal opcode at address 0x10B08D ==163747== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163747== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2056 setenv LD_PRELOAD = /startdir/src/build-curl/tests/libtest/.libs/libstubgss.so setenv CURL_STUB_GSS_CREDS = "NTLM_Alice" test 2057...[HTTP Negotiate authentication (stub NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2057 ../src/curl -q --output log/1/curl2057.out --include --trace-ascii log/1/trace2057 --trace-config all --trace-time --negotiate http://127.0.0.1:34215/2057 > log/1/stdout2057 2> log/1/stderr2057 2057: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 2057 === Start of file http_server.log 02:03:35.364195 ====> Client connect 02:03:35.364225 accept_connection 3 returned 4 02:03:35.364242 accept_connection 3 returned 0 02:03:35.364257 Read 93 bytes 02:03:35.364268 Process 93 bytes request 02:03:35.364282 Got request: GET /verifiedserver HTTP/1.1 02:03:35.364292 Are-we-friendly question received 02:03:35.364312 Wrote request (93 bytes) input to log/1/server.input 02:03:35.364330 Identifying ourselves as friends 02:03:35.364392 Response sent (56 bytes) and written to log/1/server.response 02:03:35.364403 special request received, no persistency 02:03:35.364412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 2057 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind2057 ==163775== ==163775== Process terminating with default action of signal 4 (SIGILL) ==163775== Illegal opcode at address 0x10B08D ==163775== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163775== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2057 test 2058...[HTTP POST --digest with PUT, resumed upload, modified method and SHA-256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2058 ../src/curl -q --output log/7/curl2058.out --include --trace-ascii log/7/trace2058 --trace-config all --trace-time http://127.0.0.1:43753/2058 -u auser:apasswd --digest -T log/7/2058 -x http://127.0.0.1:43753 -C 2 -X GET > log/7/stdout2058 2> log/7/stderr2058 2058: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ dir after test 2058 === Start of file 2058 test === End of file 2058 === Start of file http_server.log 02:03:35.478894 ====> Client connect 02:03:35.478932 accept_connection 3 returned 4 02:03:35.478948 accept_connection 3 returned 0 02:03:35.478961 Read 93 bytes 02:03:35.478972 Process 93 bytes request 02:03:35.478986 Got request: GET /verifiedserver HTTP/1.1 02:03:35.478996 Are-we-friendly question received 02:03:35.479020 Wrote request (93 bytes) input to log/7/server.input 02:03:35.479037 Identifying ourselves as friends 02:03:35.479106 Response sent (56 bytes) and written to log/7/server.response 02:03:35.479118 special request received, no persistency 02:03:35.479127 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 2058 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file valgrind2058 ==163897== ==163897== Process terminating with default action of signal 4 (SIGILL) ==163897== Illegal opcode at address 0x10B08D ==163897== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163897== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2058 test 2060...[HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=false] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2060 ../src/curl -q --output log/10/curl2060.out --include --trace-ascii log/10/trace2060 --trace-config all --trace-time http://127.0.0.1:42929/2060 -u auser:apasswd --digest -T log/10/2060 -x http://127.0.0.1:42929 -C 2 -X GET > log/10/stdout2060 2> log/10/stderr2060 2060: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir after test 2060 === Start of file 2060 test === End of file 2060 === Start of file http_server.log 02:03:35.500078 ====> Client connect 02:03:35.500108 accept_connection 3 returned 4 02:03:35.500124 accept_connection 3 returned 0 02:03:35.500139 Read 93 bytes 02:03:35.500149 Process 93 bytes request 02:03:35.500164 Got request: GET /verifiedserver HTTP/1.1 02:03:35.500174 Are-we-friendly question received 02:03:35.500195 Wrote request (93 bytes) input to log/10/server.input 02:03:35.500213 Identifying ourselves as friends 02:03:35.500279 Response sent (56 bytes) and written to log/10/server.response 02:03:35.500291 special request received, no persistency 02:03:35.500301 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 2060 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file valgrind2060 ==163925== ==163925== Process terminating with default action of signal 4 (SIGILL) ==163925== Illegal opcode at address 0x10B08D ==163925== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163925== by 0x10B08D: mCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2059 ../src/curl -q --output log/6/curl2059.out --include --trace-ascii log/6/trace2059 --trace-config all --trace-time http://127.0.0.1:39167/2059 -u auser:apasswd --digest -T log/6/2059 -x http://127.0.0.1:39167 -C 2 -X GET > log/6/stdout2059 2> log/6/stderr2059 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2061 ../src/curl -q --output log/9/curl2061.out --include --trace-ascii log/9/trace2061 --trace-config all --trace-time http://127.0.0.1:38509/2061 -u testuser:testpass --digest > log/9/stdout2061 2> log/9/stderr2061 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2063 ../src/curl -q --output log/11/curl2063.out --include --trace-ascii log/11/trace2063 --trace-config all --trace-time http://127.0.0.1:44137/2063 -u testuser:testpass --digest > log/11/stdout2063 2> log/11/stderr2063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2062 ../src/curl -q --output log/3/curl2062.out --include --trace-ascii log/3/trace2062 --trace-config all --trace-time http://127.0.0.1:34527/2062 -u testuser:testpass --digest > log/3/stdout2062 2> log/3/stderr2062 ain (tool_main.c:232) === End of file valgrind2060 test 2059...[HTTP POST --digest with PUT, resumed upload, modified method, SHA-256 and userhash=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2059 ../src/curl -q --output log/6/curl2059.out --include --trace-ascii log/6/trace2059 --trace-config all --trace-time http://127.0.0.1:39167/2059 -u auser:apasswd --digest -T log/6/2059 -x http://127.0.0.1:39167 -C 2 -X GET > log/6/stdout2059 2> log/6/stderr2059 2059: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 2059 === Start of file 2059 test === End of file 2059 === Start of file http_server.log 02:03:35.487450 ====> Client connect 02:03:35.487481 accept_connection 3 returned 4 02:03:35.487498 accept_connection 3 returned 0 02:03:35.487515 Read 93 bytes 02:03:35.487526 Process 93 bytes request 02:03:35.487540 Got request: GET /verifiedserver HTTP/1.1 02:03:35.487550 Are-we-friendly question received 02:03:35.487572 Wrote request (93 bytes) input to log/6/server.input 02:03:35.487590 Identifying ourselves as friends 02:03:35.487662 Response sent (57 bytes) and written to log/6/server.response 02:03:35.487675 special request received, no persistency 02:03:35.487689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 2059 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file valgrind2059 ==163901== ==163901== Process terminating with default action of signal 4 (SIGILL) ==163901== Illegal opcode at address 0x10B08D ==163901== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==163901== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2059 test 2061...[HTTP with RFC7616 SHA256 Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2061 ../src/curl -q --output log/9/curl2061.out --include --trace-ascii log/9/trace2061 --trace-config all --trace-time http://127.0.0.1:38509/2061 -u testuser:testpass --digest > log/9/stdout2061 2> log/9/stderr2061 2061: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 2061 === Start of file http_server.log 02:03:35.538603 ====> Client connect 02:03:35.538640 accept_connection 3 returned 4 02:03:35.538658 accept_connection 3 returned 0 02:03:35.538673 Read 93 bytes 02:03:35.538683 Process 93 bytes request 02:03:35.538698 Got request: GET /verifiedserver HTTP/1.1 02:03:35.538707 Are-we-friendly question received 02:03:35.538730 Wrote request (93 bytes) input to log/9/server.input 02:03:35.538747 Identifying ourselves as friends 02:03:35.538817 Response sent (56 bytes) and written to log/9/server.response 02:03:35.538829 special request received, no persistency 02:03:35.538838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 2061 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind2061 ==164000== ==164000== Process terminating with default action of signal 4 (SIGILL) ==164000== Illegal opcode at address 0x10B08D ==164000== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164000== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2061 test 2063...[HTTP with RFC7616 SHA-256 Digest authorization and userhash=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2063 ../src/curl -q --output log/11/curl2063.out --include --trace-ascii log/11/trace2063 --trace-config all --trace-time http://127.0.0.1:44137/2063 -u testuser:testpass --digest > log/11/stdout2063 2> log/11/stderr2063 2063: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2063 === Start of file http_server.log 02:03:35.726817 ====> Client connect 02:03:35.726841 accept_connection 3 returned 4 02:03:35.726855 accept_connection 3 returned 0 02:03:35.726866 Read 93 bytes 02:03:35.726874 Process 93 bytes request 02:03:35.726885 Got request: GET /verifiedserver HTTP/1.1 02:03:35.726893 Are-we-friendly question received 02:03:35.726910 Wrote request (93 bytes) input to log/11/server.input 02:03:35.726924 Identifying ourselves as friends 02:03:35.726975 Response sent (56 bytes) and written to log/11/server.response 02:03:35.726983 special request received, no persistency 02:03:35.726990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 2063 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind2063 ==164173== ==164173== Process terminating with default action of signal 4 (SIGILL) ==164173== Illegal opcode at address 0x10B08D ==164173== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164173== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2063 test 2062...[HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2062 ../src/curl -q --output log/3/curl2062.out --include --trace-ascii log/3/trace2062 --trace-config all --trace-time http://127.0.0.1:34527/2062 -u testuser:testpass --digest > log/3/stdout2062 2> log/3/stderr2062 2062: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 2062 === Start of file http_server.log 02:03:35.720190 ====> Client connect 02:03:35.720222 accept_connection 3 returned 4 02:03:35.720238 accept_connection 3 returned 0 02:03:35.720252 Read 93 bytes 02:03:35.720270 Process 93 bytes request 02:03:35.720283 Got request: GET /verifiedserver HTTP/1.1 02:03CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2065 ../src/curl -q --output log/5/curl2065.out --include --trace-ascii log/5/trace2065 --trace-config all --trace-time http://127.0.0.1:34719/2065 -u testuser:test2pass --digest > log/5/stdout2065 2> log/5/stderr2065 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2064 ../src/curl -q --output log/4/curl2064.out --include --trace-ascii log/4/trace2064 --trace-config all --trace-time http://127.0.0.1:36813/2064 -u testuser:test2pass --digest > log/4/stdout2064 2> log/4/stderr2064 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2066 ../src/curl -q --output log/8/curl2066.out --include --trace-ascii log/8/trace2066 --trace-config all --trace-time http://127.0.0.1:38805/2066 -u testuser:test2pass --digest > log/8/stdout2066 2> log/8/stderr2066 :35.720292 Are-we-friendly question received 02:03:35.720315 Wrote request (93 bytes) input to log/3/server.input 02:03:35.720338 Identifying ourselves as friends 02:03:35.720453 Response sent (56 bytes) and written to log/3/server.response 02:03:35.720472 special request received, no persistency 02:03:35.720483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 2062 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind2062 ==164166== ==164166== Process terminating with default action of signal 4 (SIGILL) ==164166== Illegal opcode at address 0x10B08D ==164166== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164166== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2062 test 2065...[HTTP with RFC7616 Digest authorization with bad password, SHA-512-256 and userhash=false] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2065 ../src/curl -q --output log/5/curl2065.out --include --trace-ascii log/5/trace2065 --trace-config all --trace-time http://127.0.0.1:34719/2065 -u testuser:test2pass --digest > log/5/stdout2065 2> log/5/stderr2065 2065: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ dir after test 2065 === Start of file http_server.log 02:03:35.893141 ====> Client connect 02:03:35.893173 accept_connection 3 returned 4 02:03:35.893189 accept_connection 3 returned 0 02:03:35.893203 Read 93 bytes 02:03:35.893214 Process 93 bytes request 02:03:35.893226 Got request: GET /verifiedserver HTTP/1.1 02:03:35.893235 Are-we-friendly question received 02:03:35.893258 Wrote request (93 bytes) input to log/5/server.input 02:03:35.893275 Identifying ourselves as friends 02:03:35.893342 Response sent (57 bytes) and written to log/5/server.response 02:03:35.893354 special request received, no persistency 02:03:35.893364 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 2065 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind2065 ==164318== ==164318== Process terminating with default action of signal 4 (SIGILL) ==164318== Illegal opcode at address 0x10B08D ==164318== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164318== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2065 test 2064...[HTTP with RFC7616 Digest authorization with bad password and SHA256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2064 ../src/curl -q --output log/4/curl2064.out --include --trace-ascii log/4/trace2064 --trace-config all --trace-time http://127.0.0.1:36813/2064 -u testuser:test2pass --digest > log/4/stdout2064 2> log/4/stderr2064 2064: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 2064 === Start of file http_server.log 02:03:35.892087 ====> Client connect 02:03:35.892121 accept_connection 3 returned 4 02:03:35.892139 accept_connection 3 returned 0 02:03:35.892156 Read 93 bytes 02:03:35.892167 Process 93 bytes request 02:03:35.892182 Got request: GET /verifiedserver HTTP/1.1 02:03:35.892193 Are-we-friendly question received 02:03:35.892215 Wrote request (93 bytes) input to log/4/server.input 02:03:35.892233 Identifying ourselves as friends 02:03:35.892301 Response sent (56 bytes) and written to log/4/server.response 02:03:35.892313 special request received, no persistency 02:03:35.892322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 2064 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind2064 ==164314== ==164314== Process terminating with default action of signal 4 (SIGILL) ==164314== Illegal opcode at address 0x10B08D ==164314== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164314== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2064 test 2066...[HTTP with RFC7616 Digest authorization with bad password, SHA-256 and userhash=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2066 ../src/curl -q --output log/8/curl2066.out --include --trace-ascii log/8/trace2066 --trace-config all --trace-time http://127.0.0.1:38805/2066 -u testuser:test2pass --digest > log/8/stdout2066 2> log/8/stderr2066 2066: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 2066 === Start of file http_server.log 02:03:35.912312 ====> Client connect 02:03:35.912345 accept_connection 3 returned 4 02:03:35.912362 accept_connection 3 returned 0 02:03:35.912376 Read 93 bytes 02:03:35.912387 Process 93 bytes request 02:03:35.912401 Got request: GET /verifiedserver HTTP/1.1 02:03:35.912411 Are-we-friendly question received 02:03:35.912432 Wrote request (93 bytes) input to log/8/server.input 02:03:35.912449 Identifying ourselves as friends 02:03:35.912517 Response sent (57 bytes) and written to log/8/server.response 02:03:35.912528 special request received, no persistency 02:03:35.912537 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38805... * Connected to 127.0.0.1 (127.0.0.1) port 38805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38805 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 156665 === End of file http_verify.out === Start of file server.cmd Testnum 2066 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 156665 === End of file server.response === Start of file valgrind2066 =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2067 ../src/curl -q --output log/12/curl2067.out --include --trace-ascii log/12/trace2067 --trace-config all --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:40653/2067 > log/12/stdout2067 2> log/12/stderr2067 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2072 ../src/curl -q --output log/10/curl2072.out --trace-ascii log/10/trace2072 --trace-config all --trace-time file://///startdir/src/build-curl/tests/log/10/test2072.txt > log/10/stdout2072 2> log/10/stderr2072 =164368== ==164368== Process terminating with default action of signal 4 (SIGILL) ==164368== Illegal opcode at address 0x10B08D ==164368== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164368== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2066 test 2067...[HTTP POST --digest with SHA256 and user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2067 ../src/curl -q --output log/12/curl2067.out --include --trace-ascii log/12/trace2067 --trace-config all --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:40653/2067 > log/12/stdout2067 2> log/12/stderr2067 2067: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 2067 === Start of file http_server.log 02:03:35.931431 ====> Client connect 02:03:35.931466 accept_connection 3 returned 4 02:03:35.931483 accept_connection 3 returned 0 02:03:35.931603 Read 93 bytes 02:03:35.931616 Process 93 bytes request 02:03:35.931631 Got request: GET /verifiedserver HTTP/1.1 02:03:35.931641 Are-we-friendly question received 02:03:35.931667 Wrote request (93 bytes) input to log/12/server.input 02:03:35.931686 Identifying ourselves as friends 02:03:35.931755 Response sent (56 bytes) and written to log/12/server.response 02:03:35.931771 special request received, no persistency 02:03:35.931780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 2067 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind2067 ==164438== ==164438== Process terminating with default action of signal 4 (SIGILL) ==164438== Illegal opcode at address 0x10B08D ==164438== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164438== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2067 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2068 ../src/curl -q --output log/2/curl2068.out --include --trace-ascii log/2/trace2068 --trace-config all --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:38781/2068 > log/2/stdout2068 2> log/2/stderr2068 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2069 ../src/curl -q --output log/1/curl2069.out --include --trace-ascii log/1/trace2069 --trace-config all --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:34215/2069 > log/1/stdout2069 2> log/1/stderr2069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2071 ../src/curl -q --output log/7/curl2071.out --trace-ascii log/7/trace2071 --trace-config all --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/7/test2070.txt > log/7/stdout2071 2> log/7/stderr2071 prechecked /usr/bin/perl -e "print 'Test requires a Unix system' if ( $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'dos' || $^O eq 'msys');" test 2072...[file:// with Unix path resolution behavior for the case of extra slashes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2072 ../src/curl -q --output log/10/curl2072.out --trace-ascii log/10/trace2072 --trace-config all --trace-time file://///startdir/src/build-curl/tests/log/10/test2072.txt > log/10/stdout2072 2> log/10/stderr2072 2072: data FAILED: --- log/10/check-expected 2024-12-15 02:03:36.587203986 +0000 +++ log/10/check-generated 2024-12-15 02:03:36.587203986 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/10/ dir after test 2072 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file server.cmd Testnum 2072 === End of file server.cmd === Start of file test2072.txt foo bar bar foo moo === End of file test2072.txt === Start of file valgrind2072 ==164598== ==164598== Process terminating with default action of signal 4 (SIGILL) ==164598== Illegal opcode at address 0x10B08D ==164598== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164598== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2072 test 2068...[HTTP POST --digest with SHA-512-256, userhash=false and user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2068 ../src/curl -q --output log/2/curl2068.out --include --trace-ascii log/2/trace2068 --trace-config all --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:38781/2068 > log/2/stdout2068 2> log/2/stderr2068 2068: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 2068 === Start of file http_server.log 02:03:36.144168 ====> Client connect 02:03:36.144209 accept_connection 3 returned 4 02:03:36.144226 accept_connection 3 returned 0 02:03:36.144241 Read 93 bytes 02:03:36.144251 Process 93 bytes request 02:03:36.144266 Got request: GET /verifiedserver HTTP/1.1 02:03:36.144276 Are-we-friendly question received 02:03:36.144301 Wrote request (93 bytes) input to log/2/server.input 02:03:36.144318 Identifying ourselves as friends 02:03:36.144399 Response sent (56 bytes) and written to log/2/server.response 02:03:36.144411 special request received, no persistency 02:03:36.144420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 2068 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind2068 ==164564== ==164564== Process terminating with default action of signal 4 (SIGILL) ==164564== Illegal opcode at address 0x10B08D ==164564== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164564== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2068 test 2069...[HTTP POST --digest with SHA-256, userhash=true and user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2069 ../src/curl -q --output log/1/curl2069.out --include --trace-ascii log/1/trace2069 --trace-config all --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:34215/2069 > log/1/stdout2069 2> log/1/stderr2069 2069: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 2069 === Start of file http_server.log 02:03:36.165198 ====> Client connect 02:03:36.165232 accept_connection 3 returned 4 02:03:36.165248 accept_connection 3 returned 0 02:03:36.165262 Read 93 bytes 02:03:36.165272 Process 93 bytes request 02:03:36.165287 Got request: GET /verifiedserver HTTP/1.1 02:03:36.165297 Are-we-friendly question received 02:03:36.165320 Wrote request (93 bytes) input to log/1/server.input 02:03:36.165338 Identifying ourselves as friends 02:03:36.165410 Response sent (56 bytes) and written to log/1/server.response 02:03:36.165422 special request received, no persistency 02:03:36.165432 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 2069 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind2069 ==164607== ==164607== Process terminating with default action of signal 4 (SIGILL) ==164607== Illegal opcode at address 0x10B08D ==164607== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164607== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2073 ../src/curl -q --output log/6/curl2073.out --include --trace-ascii log/6/trace2073 --trace-config all --trace-time http://127.0.0.1:39167/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:39167/2073 -F 'name=b;filename=b.jpg' > log/6/stdout2073 2> log/6/stderr2073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2074 ../src/curl -q --output log/9/curl2074.out --include --trace-ascii log/9/trace2074 --trace-config all --trace-time http://127.0.0.1:38509/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout2074 2> log/9/stderr2074 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2075 ../src/curl -q --output log/11/curl2075.out --include --trace-ascii log/11/trace2075 --trace-config all --trace-time --disallow-username-in-url http://username:password@example.com/ > log/11/stdout2075 2> log/11/stderr2075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2076 ../src/curl -q --output log/3/curl2076.out --include --trace-ascii log/3/trace2076 --trace-config all --trace-time "http://127.0.0.1:34527/2076?query" -u testuser:testpass --digest > log/3/stdout2076 2> log/3/stderr2076 test 2071...[basic file:// file with "127.0.0.1" hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2071 ../src/curl -q --output log/7/curl2071.out --trace-ascii log/7/trace2071 --trace-config all --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/7/test2070.txt > log/7/stdout2071 2> log/7/stderr2071 2071: data FAILED: --- log/7/check-expected 2024-12-15 02:03:36.613871126 +0000 +++ log/7/check-generated 2024-12-15 02:03:36.613871126 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/7/ dir after test 2071 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file server.cmd Testnum 2071 === End of file server.cmd === Start of file valgrind2071 ==164560== ==164560== Process terminating with default action of signal 4 (SIGILL) ==164560== Illegal opcode at address 0x10B08D ==164560== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164560== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2071 test 2073...[HTTP form posts with handle reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2073 ../src/curl -q --output log/6/curl2073.out --include --trace-ascii log/6/trace2073 --trace-config all --trace-time http://127.0.0.1:39167/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:39167/2073 -F 'name=b;filename=b.jpg' > log/6/stdout2073 2> log/6/stderr2073 2073: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 2073 === Start of file http_server.log 02:03:36.198210 ====> Client connect 02:03:36.198244 accept_connection 3 returned 4 02:03:36.198262 accept_connection 3 returned 0 02:03:36.198277 Read 93 bytes 02:03:36.198287 Process 93 bytes request 02:03:36.198302 Got request: GET /verifiedserver HTTP/1.1 02:03:36.198311 Are-we-friendly question received 02:03:36.198333 Wrote request (93 bytes) input to log/6/server.input 02:03:36.198351 Identifying ourselves as friends 02:03:36.198418 Response sent (57 bytes) and written to log/6/server.response 02:03:36.198429 special request received, no persistency 02:03:36.198438 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 2073 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file valgrind2073 ==164709== ==164709== Process terminating with default action of signal 4 (SIGILL) ==164709== Illegal opcode at address 0x10B08D ==164709== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164709== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2073 test 2074...[HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2074 ../src/curl -q --output log/9/curl2074.out --include --trace-ascii log/9/trace2074 --trace-config all --trace-time http://127.0.0.1:38509/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout2074 2> log/9/stderr2074 2074: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 2074 === Start of file http_server.log 02:03:36.213446 ====> Client connect 02:03:36.213481 accept_connection 3 returned 4 02:03:36.213499 accept_connection 3 returned 0 02:03:36.213514 Read 93 bytes 02:03:36.213526 Process 93 bytes request 02:03:36.213542 Got request: GET /verifiedserver HTTP/1.1 02:03:36.213553 Are-we-friendly question received 02:03:36.213577 Wrote request (93 bytes) input to log/9/server.input 02:03:36.213595 Identifying ourselves as friends 02:03:36.213667 Response sent (56 bytes) and written to log/9/server.response 02:03:36.213680 special request received, no persistency 02:03:36.213691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 2074 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind2074 ==164767== ==164767== Process terminating with default action of signal 4 (SIGILL) ==164767== Illegal opcode at address 0x10B08D ==164767== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164767== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2074 * starts no server test 2075...[Verify usernames are not allowed in url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2075 ../src/curl -q --output log/11/curl2075.out --include --trace-ascii log/11/trace2075 --trace-config all --trace-time --disallow-username-in-url http://username:password@example.com/ > log/11/stdout2075 2> log/11/stderr2075 curl returned 132, when expecting 67 2075: exit FAILED == Contents of files in the log/11/ dir after test 2075 === Start of file server.cmd Testnum 2075 === End of file server.cmd === Start of file valgrind2075 ==164896== ==164896== Process terminating with default action of signal 4 (SIGILL) ==164896== Illegal opcode at address 0x10B08D ==164896== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164896== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2075 test 2076...[HTTP with digest auth and URI contains query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2076 ../src/curl -q --output log/3/curl2076.out --include --trace-ascii log/3/trace2076 --trace-config all --trace-time "http://127.0.0.1:34527/2076?query" -u testuser:testpass --digest > log/3/stdout2076 2> log/3/stderr2076 2076: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 2076 === Start of file http_server.log 02:03:36.440246 ====> Client connect 02:03:36.440281 accept_connection 3 returned 4 02:03:36.440298 accept_connection 3 returned 0 02:03:36.440313 Read 93 bytes 02:03:36.440324 Process 93 bytes request 02:03:36.440339 Got request: GET /verifiedserver HTTP/1.1 02:03:36.440349 Are-we-friendly question received 02:03:36.440373 Wrote request (93 bytes) input to log/3/server.input 02:03:36.440390 Identifying ourselves as friends 02:03:36.440456 Response sent (56 bytes) and written to log/3/server.response 02:03:36.440468 special request received, no persistency 02:03:36.440478 ====> Client disconnect 0 === EndCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2080 ../src/curl -q --output log/8/curl2080.out --include --trace-ascii log/8/trace2080 --trace-config all --trace-time -K log/8/config2080 file://de\>v/null > log/8/stdout2080 2> log/8/stderr2080 of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34527... * Connected to 127.0.0.1 (127.0.0.1) port 34527 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34527 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74128 === End of file http_verify.out === Start of file server.cmd Testnum 2076 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74128 === End of file server.response === Start of file valgrind2076 ==164955== ==164955== Process terminating with default action of signal 4 (SIGILL) ==164955== Illegal opcode at address 0x10B08D ==164955== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==164955== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2076 * starts no server test 2080...[config file with overly long option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2080 ../src/curl -q --output log/8/curl2080.out --include --trace-ascii log/8/trace2080 --trace-config all --trace-time -K log/8/config2080 file://de\>v/null > log/8/stdout2080 2> log/8/stderr2080 curl returned 132, when expecting 26 2080: exit FAILED == Contents of files in the log/8/ dir after test 2080 === Start of file config2080 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDMDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDeDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDagentDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2078 ../src/curl -q --output log/4/curl2078.out --include --trace-ascii log/4/trace2078 --trace-config all --trace-time http://127.0.0.1:36813/2078 --negotiate --data name=value > log/4/stdout2078 2> log/4/stderr2078 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2077 ../src/curl -q --output log/5/curl2077.out --include --trace-ascii log/5/trace2077 --trace-config all --trace-time http://127.0.0.1:34719/2077 --fail --negotiate > log/5/stdout2077 2> log/5/stderr2077 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD$DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD!DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD === End of file config2080 === Start of file server.cmd Testnum 2080 === End of file server.cmd === Start of file valgrind2080 ==165039== ==165039== Process terminating with default action of signal 4 (SIGILL) ==165039== Illegal opcode at address 0x10B08D ==165039== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165039== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2080 test 2078...[curl --negotiate should not send empty POST request only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2078 ../src/curl -q --output log/4/curl2078.out --include --trace-ascii log/4/trace2078 --trace-config all --trace-time http://127.0.0.1:36813/2078 --negotiate --data name=value > log/4/stdout2078 2> log/4/stderr2078 2078: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 2078 === Start of file http_server.log 02:03:36.588300 ====> Client connect 02:03:36.588339 accept_connection 3 returned 4 02:03:36.588355 accept_connection 3 returned 0 02:03:36.588370 Read 93 bytes 02:03:36.588380 Process 93 bytes request 02:03:36.588394 Got request: GET /verifiedserver HTTP/1.1 02:03:36.588404 Are-we-friendly question received 02:03:36.588425 Wrote request (93 bytes) input to log/4/server.input 02:03:36.588442 Identifying ourselves as friends 02:03:36.588510 Response sent (56 bytes) and written to log/4/server.response 02:03:36.588522 special request received, no persistency 02:03:36.588532 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 2078 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind2078 ==165066== ==165066== Process terminating with default action of signal 4 (SIGILL) ==165066== Illegal opcode at address 0x10B08D ==165066== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165066== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2078 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2081 ../src/curl -q --include --trace-ascii log/12/trace2081 --trace-config all --trace-time http://user:pass@127.0.0.1:40653/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/12/stdout2081 2> log/12/stderr2081 test 2077...[curl --fail --negotiate to unauthenticated service fails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2077 ../src/curl -q --output log/5/curl2077.out --include --trace-ascii log/5/trace2077 --trace-config all --trace-time http://127.0.0.1:34719/2077 --fail --negotiate > log/5/stdout2077 2> log/5/stderr2077 2077: data FAILED: --- log/5/check-expected 2024-12-15 02:03:37.030545184 +0000 +++ log/5/check-generated 2024-12-15 02:03:37.030545184 +0000 @@ -1,4 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] == Contents of files in the log/5/ dir after test 2077 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] === End of file check-expected === Start of file http_server.log 02:03:36.590478 ====> Client connect 02:03:36.590508 accept_connection 3 returned 4 02:03:36.590524 accept_connection 3 returned 0 02:03:36.590538 Read 93 bytes 02:03:36.590549 Process 93 bytes request 02:03:36.590561 Got request: GET /verifiedserver HTTP/1.1 02:03:36.590570 Are-we-friendly question received 02:03:36.590593 Wrote request (93 bytes) input to log/5/server.input 02:03:36.590610 Identifying ourselves as friends 02:03:36.590671 Response sent (57 bytes) and written to log/5/server.response 02:03:36.590681 special request received, no persistency 02:03:36.590690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34719... * Connected to 127.0.0.1 (127.0.0.1) port 34719 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34719 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 143334 === End of file http_verify.out === Start of file server.cmd Testnum 2077 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143334 === End of file server.response === Start of file valgrind2077 ==165063== ==165063== Process terminating with default action of signal 4 (SIGILL) ==165063== Illegal opcode at address 0x10B08D ==165063== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165063== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2077 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2200 ../src/curl -q --output log/6/curl2200.out --include --trace log/6/trace2200 --trace-config all --trace-time mqtt://127.0.0.1:35563/2200 -u fakeuser:fakepasswd > log/6/stdout2200 2> log/6/stderr2200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2201 ../src/curl -q --output log/11/curl2201.out --include --trace log/11/trace2201 --trace-config all --trace-time mqtt://127.0.0.1:34693/2201 -d something -u testuser:testpasswd > log/11/stdout2201 2> log/11/stderr2201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2202 ../src/curl -q --output log/3/curl2202.out --include --trace log/3/trace2202 --trace-config all --trace-time mqtt://127.0.0.1:33095/2202 -d something -u fakeuser:fakepasswd > log/3/stdout2202 2> log/3/stderr2202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2082 ./libtest/libprereq 127.0.0.1:42929/2082 > log/10/stdout2082 2> log/10/stderr2082 test 2081...[Automatic referrer credential and anchor stripping check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2081 ../src/curl -q --include --trace-ascii log/12/trace2081 --trace-config all --trace-time http://user:pass@127.0.0.1:40653/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/12/stdout2081 2> log/12/stderr2081 2081: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:37.037211969 +0000 +++ log/12/check-generated 2024-12-15 02:03:37.037211969 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/20810002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Thanks for following.[LF] -http://127.0.0.1:40653/we/want/our/2081[LF] == Contents of files in the log/12/ dir after test 2081 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/20810002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF] Connection: close[CR][LF] [CR][LF] Thanks for following.[LF] http://127.0.0.1:40653/we/want/our/2081[LF] === End of file check-expected === Start of file http_server.log 02:03:36.616280 ====> Client connect 02:03:36.616317 accept_connection 3 returned 4 02:03:36.616336 accept_connection 3 returned 0 02:03:36.616350 Read 93 bytes 02:03:36.616362 Process 93 bytes request 02:03:36.616378 Got request: GET /verifiedserver HTTP/1.1 02:03:36.616389 Are-we-friendly question received 02:03:36.616414 Wrote request (93 bytes) input to log/12/server.input 02:03:36.616433 Identifying ourselves as friends 02:03:36.616505 Response sent (56 bytes) and written to log/12/server.response 02:03:36.616519 special request received, no persistency 02:03:36.616530 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 2081 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file valgrind2081 ==165142== ==165142== Process terminating with default action of signal 4 (SIGILL) ==165142== Illegal opcode at address 0x10B08D ==165142== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165142== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2081 test 2200...[MQTT SUBSCRIBE with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2200 ../src/curl -q --output log/6/curl2200.out --include --trace log/6/trace2200 --trace-config all --trace-time mqtt://127.0.0.1:35563/2200 -u fakeuser:fakepasswd > log/6/stdout2200 2> log/6/stderr2200 2200: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 2200 === Start of file server.cmd error-CONNACK 5 Testnum 2200 === End of file server.cmd === Start of file valgrind2200 ==165324== ==165324== Process terminating with default action of signal 4 (SIGILL) ==165324== Illegal opcode at address 0x10B08D ==165324== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165324== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2200 test 2201...[MQTT PUBLISH with user and password valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2201 ../src/curl -q --output log/11/curl2201.out --include --trace log/11/trace2201 --trace-config all --trace-time mqtt://127.0.0.1:34693/2201 -d something -u testuser:testpasswd > log/11/stdout2201 2> log/11/stderr2201 2201: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2201 === Start of file server.cmd Testnum 2201 === End of file server.cmd === Start of file valgrind2201 ==165557== ==165557== Process terminating with default action of signal 4 (SIGILL) ==165557== Illegal opcode at address 0x10B08D ==165557== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165557== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2201 test 2202...[MQTT PUBLISH with invalid user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2202 ../src/curl -q --output log/3/curl2202.out --include --trace log/3/trace2202 --trace-config all --trace-time mqtt://127.0.0.1:33095/2202 -d something -u fakeuser:fakepasswd > log/3/stdout2202 2> log/3/stderr2202 2202: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ dir after test 2202 === Start of file server.cmd error-CONNACK 5 Testnum 2202 === End of file server.cmd === Start of file valgrind2202 ==165562== ==165562== Process terminating with default action of signal 4 (SIGILL) ==165562== Illegal opcode at address 0x10B08D ==165562== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165562== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2202 test 2082...[Pre-request callback for HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2082 ./libtest/libprereq 127.0.0.1:42929/2082 > log/10/stdout2082 2> log/10/stderr2082 2082: stdout FAILED: --- log/10/check-expected 2024-12-15 02:03:37.583888335 +0000 +++ log/10/check-generated 2024-12-15 02:03:37.583888335 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 42929[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/10/ dir after test 2082 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 42929[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file http_server.log 02:03:36.823631 ====> Client connect 02:03:36.823662 accept_connection 3 returned 4 02:03:36.823679 accept_connection 3 returned 0 02:03:36.823692 Read 93 bytes 02:03:36.823703 Process 93 bytes request 02:03:36.823718 Got request: GET /verifiedserver HTTP/1.1 02:03:36.823727 Are-we-friendly question received 02:03:36.823749 Wrote request (93 bytes) input to log/10/server.input 02:03:36.823766 Identifying ourselves as friends 02:03:36.823830 Response sent (56 bytes) and written to log/10/server.response 02:03:36.823841 special request received, no persistency 02:03:36.823851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42929... * Connected to 127.0.0.1 (127.0.0.1) port 42929 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42929 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74123 === End of file http_verify.out === Start of file server.cmd Testnum 2082 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74123 === End of file server.response === Start of file stderr2082 URL: 127.0.0.1:42929/2082 === End of file stderr2082 === Start of file valgrind2082 ==165313== ==165313== Process terminating with default action of signal 4 (SIGILL) ==165313== Illegal opcode at address 0x48EA16B ==165313== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==165313== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==165313== by 0x48EA16B: Curl_open (url.c:519) ==165313== by 0x4880EEF: curl_easy_init (easy.c:370) ==165313== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==165313== by 0x10909C: main (first.c:220) ==165313== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==165313== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165313== by 0x4A6D258: __tsearch (tsearch.c:337) ==165313== by 0x4A6D258: tsearch (tsearch.c:290) ==165313== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165313== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165313== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165313== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165313== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165313== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165313== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165313== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165313== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165313== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165313== by 0x498986B: setlocale (setlocale.c:337) ==165313== by 0x109056: main (first.c:160) ==165313== ==165313== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==165313== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165313== by 0x4A6D258: __tsearch (tsearch.c:337) ==165313== by 0x4A6D258: tsearch (tsearch.c:290) ==165313== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165313== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165313== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165313== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165313== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165313== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165313== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165313== by 0x498986B: setlocale (setlocale.c:337) ==165313== by 0x109056: main (first.c:160) ==165313== ==165313== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==165313== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165313== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165313== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165313== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165313== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165313== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165313== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165313== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165313== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165313== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165313== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165313== by 0x498986B: setlocale (setlocale.c:337) ==165313== by 0x109056: main (first.c:160) ==165313== ==165313== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==165313== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165313== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165313== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165313== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165313== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165313== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165313== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165313== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165313== by 0x498986B: setlocale (setlocale.c:337) ==165313== by 0x109056: main (first.c:160) ==165313== ==165313== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==165313== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==165313== by 0x48EA143: Curl_open (url.c:510) ==165313== by 0x4880EEF: curl_easy_init (easy.c:370) ==165313== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==165313== by 0x10909C: main (first.c:220) ==165313== ==165313== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==165313== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165313== by 0x4A6D258: __tsearch (tsearch.c:337) ==165313== by 0x4A6D258: tsearch (tsearch.c:290) ==165313== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165313== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165313== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165313== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165313== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165313== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165313== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165313== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165313== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165313== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165313== by 0x498986B: setlocale (setlocale.c:337) ==165313== by 0x109056: main (first.c:160) ==165313== ==165313== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==165313== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165313== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165313== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165313== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165313== by 0x497DBB2: read_conf_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2085 ./libtest/libprereq 127.0.0.1:43753/2085#redir > log/7/stdout2085 2> log/7/stderr2085 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2084 ./libtest/libprereq 127.0.0.1:34215/2084#err > log/1/stdout2084 2> log/1/stderr2084 file.isra.0 (gconv_parseconfdir.h:101) ==165313== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165313== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165313== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165313== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165313== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165313== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165313== by 0x498986B: setlocale (setlocale.c:337) ==165313== by 0x109056: main (first.c:160) ==165313== === End of file valgrind2082 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2205 ../src/curl -q --output log/5/curl2205.out --include --trace log/5/trace2205 --trace-config all --trace-time mqtt://127.0.0.1:39557/2205 -K log/5/input2205 > log/5/stdout2205 2> log/5/stderr2205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2083 ./libtest/libprereq ftp://127.0.0.1:36595/test-2083/ > log/2/stdout2083 2> log/2/stderr2083 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2203 ../src/curl -q --output log/8/curl2203.out --include --trace log/8/trace2203 --trace-config all --trace-time mqtt://127.0.0.1:44919/2203 > log/8/stdout2203 2> log/8/stderr2203 test 2085...[Pre-request callback for HTTP with location following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2085 ./libtest/libprereq 127.0.0.1:43753/2085#redir > log/7/stdout2085 2> log/7/stderr2085 2085: stdout FAILED: --- log/7/check-expected 2024-12-15 02:03:37.593888513 +0000 +++ log/7/check-generated 2024-12-15 02:03:37.593888513 +0000 @@ -1,10 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 43753[LF] -Local port = stripped[LF] -Returning = 0[LF] -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 43753[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/7/ dir after test 2085 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 43753[LF] Local port = stripped[LF] Returning = 0[LF] Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 43753[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file http_server.log 02:03:36.847334 ====> Client connect 02:03:36.847366 accept_connection 3 returned 4 02:03:36.847383 accept_connection 3 returned 0 02:03:36.847399 Read 93 bytes 02:03:36.847411 Process 93 bytes request 02:03:36.847426 Got request: GET /verifiedserver HTTP/1.1 02:03:36.847435 Are-we-friendly question received 02:03:36.847459 Wrote request (93 bytes) input to log/7/server.input 02:03:36.847475 Identifying ourselves as friends 02:03:36.847540 Response sent (56 bytes) and written to log/7/server.response 02:03:36.847552 special request received, no persistency 02:03:36.847565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43753... * Connected to 127.0.0.1 (127.0.0.1) port 43753 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43753 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74131 === End of file http_verify.out === Start of file server.cmd Testnum 2085 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74131 === End of file server.response === Start of file stderr2085 URL: 127.0.0.1:43753/2085#redir === End of file stderr2085 === Start of file valgrind2085 ==165396== ==165396== Process terminating with default action of signal 4 (SIGILL) ==165396== Illegal opcode at address 0x48EA16B ==165396== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==165396== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==165396== by 0x48EA16B: Curl_open (url.c:519) ==165396== by 0x4880EEF: curl_easy_init (easy.c:370) ==165396== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==165396== by 0x10909C: main (first.c:220) ==165396== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==165396== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165396== by 0x4A6D258: __tsearch (tsearch.c:337) ==165396== by 0x4A6D258: tsearch (tsearch.c:290) ==165396== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165396== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165396== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165396== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165396== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165396== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165396== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165396== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165396== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165396== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165396== by 0x498986B: setlocale (setlocale.c:337) ==165396== by 0x109056: main (first.c:160) ==165396== ==165396== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==165396== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165396== by 0x4A6D258: __tsearch (tsearch.c:337) ==165396== by 0x4A6D258: tsearch (tsearch.c:290) ==165396== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165396== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165396== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165396== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165396== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165396== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165396== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165396== by 0x498986B: setlocale (setlocale.c:337) ==165396== by 0x109056: main (first.c:160) ==165396== ==165396== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==165396== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165396== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165396== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165396== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165396== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165396== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165396== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165396== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165396== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165396== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165396== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165396== by 0x498986B: setlocale (setlocale.c:337) ==165396== by 0x109056: main (first.c:160) ==165396== ==165396== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==165396== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165396== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165396== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165396== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165396== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165396== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165396== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165396== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165396== by 0x498986B: setlocale (setlocale.c:337) ==165396== by 0x109056: main (first.c:160) ==165396== ==165396== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==165396== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==165396== by 0x48EA143: Curl_open (url.c:510) ==165396== by 0x4880EEF: curl_easy_init (easy.c:370) ==165396== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==165396== by 0x10909C: main (first.c:220) ==165396== ==165396== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==165396== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165396== by 0x4A6D258: __tsearch (tsearch.c:337) ==165396== by 0x4A6D258: tsearch (tsearch.c:290) ==165396== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165396== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165396== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165396== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165396== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165396== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165396== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165396== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165396== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165396== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165396== by 0x498986B: setlocale (setlocale.c:337) ==165396== by 0x109056: main (first.c:160) ==165396== ==165396== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==165396== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165396== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165396== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165396== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165396== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165396== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165396== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165396== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165396== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165396== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165396== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165396== by 0x498986B: setlocale (setlocale.c:337) ==165396== by 0x109056: main (first.c:160) ==165396== === End of file valgrind2085 test 2084...[Pre-request callback for HTTP with callback terminating transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2084 ./libtest/libprereq 127.0.0.1:34215/2084#err > log/1/stdout2084 2> log/1/stderr2084 2084: stdout FAILED: --- log/1/check-expected 2024-12-15 02:03:37.600555296 +0000 +++ log/1/check-generated 2024-12-15 02:03:37.600555296 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 34215[LF] -Local port = stripped[LF] -Returning = 1[LF] == Contents of files in the log/1/ dir after test 2084 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 34215[LF] Local port = stripped[LF] Returning = 1[LF] === End of file check-expected === Start of file http_server.log 02:03:36.838117 ====> Client connect 02:03:36.838150 accept_connection 3 returned 4 02:03:36.838168 accept_connection 3 returned 0 02:03:36.838184 Read 93 bytes 02:03:36.838195 Process 93 bytes request 02:03:36.838211 Got request: GET /verifiedserver HTTP/1.1 02:03:36.838220 Are-we-friendly question received 02:03:36.838244 Wrote request (93 bytes) input to log/1/server.input 02:03:36.838262 Identifying ourselves as friends 02:03:36.838333 Response sent (56 bytes) and written to log/1/server.response 02:03:36.838345 special request received, no persistency 02:03:36.838355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 2084 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file stderr2084 URL: 127.0.0.1:34215/2084#err === End of file stderr2084 === Start of file valgrind2084 ==165360== ==165360== Process terminating with default action of signal 4 (SIGILL) ==165360== Illegal opcode at address 0x48EA16B ==165360== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==165360== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==165360== by 0x48EA16B: Curl_open (url.c:519) ==165360== by 0x4880EEF: curl_easy_init (easy.c:370) ==165360== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==165360== by 0x10909C: main (first.c:220) ==165360== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==165360== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165360== by 0x4A6D258: __tsearch (tsearch.c:337) ==165360== by 0x4A6D258: tsearch (tsearch.c:290) ==165360== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165360== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165360== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165360== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165360== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165360== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165360== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165360== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165360== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165360== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165360== by 0x498986B: setlocale (setlocale.c:337) ==165360== by 0x109056: main (first.c:160) ==165360== ==165360== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==165360== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165360== by 0x4A6D258: __tsearch (tsearch.c:337) ==165360== by 0x4A6D258: tsearch (tsearch.c:290) ==165360== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165360== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165360== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165360== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165360== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165360== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165360== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165360== by 0x498986B: setlocale (setlocale.c:337) ==165360== by 0x109056: main (first.c:160) ==165360== ==165360== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==165360== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165360== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165360== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165360== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165360== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165360== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165360== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165360== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165360== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165360== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165360== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165360== by 0x498986B: setlocale (setlocale.c:337) ==165360== by 0x109056: main (first.c:160) ==165360== ==165360== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==165360== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165360== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165360== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165360== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165360== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165360== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165360== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165360== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165360== by 0x498986B: setlocale (setlocale.c:337) ==165360== by 0x109056: main (first.c:160) ==165360== ==165360== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==165360== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==165360== by 0x48EA143: Curl_open (url.c:510) ==165360== by 0x4880EEF: curl_easy_init (easy.c:370) ==165360== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==165360== by 0x10909C: main (first.c:220) ==165360== ==165360== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==165360== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165360== by 0x4A6D258: __tsearch (tsearch.c:337) ==165360== by 0x4A6D258: tsearch (tsearch.c:290) ==165360== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165360== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165360== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165360== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165360== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165360== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165360== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165360== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165360== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165360== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165360== by 0x498986B: setlocale (setlocale.c:337) ==165360== by 0x109056: main (first.c:160) ==165360== ==165360== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==165360== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165360== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165360== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165360== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165360== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165360== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165360== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165360== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165360== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165360== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165360== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165360== by 0x498986B: setlocale (setlocale.c:337) ==165360== by 0x109056: main (first.c:160) ==165360== === End of file valgrind2084 test 2083...[Pre-request callback for FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2083 ./libtest/libprereq ftp://127.0.0.1:36595/test-2083/ > log/2/stdout2083 2> log/2/stderr2083 2083: stdout FAILED: --- log/2/check-expected 2024-12-15 02:03:37.607222081 +0000 +++ log/2/check-generated 2024-12-15 02:03:37.607222081 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 36595[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/2/ dir after test 2083 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 36595[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file ftp_server.log 02:03:36.623279 ====> Client connect 02:03:36.623417 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:36.623673 < "USER anonymous" 02:03:36.623705 > "331 We are happy you popped in![CR][LF]" 02:03:36.623873 < "PASS ftp@example.com" 02:03:36.623898 > "230 Welcome you silly person[CR][LF]" 02:03:36.624050 < "PWD" 02:03:36.624082 > "257 "/" is current directory[CR][LF]" 02:03:36.624238 < "EPSV" 02:03:36.624264 ====> Passive DATA channel requested by client 02:03:36.624278 DATA sockfilt for passive data channel starting... 02:03:36.625945 DATA sockfilt for passive data channel started (pid 165296) 02:03:36.626045 DATA sockfilt for passive data channel listens on port 37725 02:03:36.626082 > "229 Entering Passive Mode (|||37725|)[LF]" 02:03:36.626099 Client has been notified that DATA conn will be accepted on port 37725 02:03:36.626327 Client connects to port 37725 02:03:36.626354 ====> Client established passive DATA connection on port 37725 02:03:36.626422 < "TYPE I" 02:03:36.626448 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:36.626603 < "SIZE verifiedserver" 02:03:36.626638 > "213 17[CR][LF]" 02:03:36.626784 < "RETR verifiedserver" 02:03:36.626812 > "150 Binary junk (17 bytes).[CR][LF]" 02:03:36.626884 =====> Closing passive DATA connection... 02:03:36.626899 Server disconnects passive DATA connection 02:03:36.627118 Server disconnected passive DATA connection 02:03:36.627142 DATA sockfilt for passive data channel quits (pid 165296) 02:03:36.627319 DATA sockfilt for passive data channel quit (pid 165296) 02:03:36.627343 =====> Closed passive DATA connection 02:03:36.627371 > "226 File transfer complete[CR][LF]" 02:03:36.668969 < "QUIT" 02:03:36.669019 > "221 bye bye baby[CR][LF]" 02:03:36.669700 MAIN sockfilt said DISC 02:03:36.669730 ====> Client disconnected 02:03:36.669799 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:36.823321 ====> Client connect 02:03:36.823565 Received DATA (on stdin) 02:03:36.823581 > 160 bytes data, server => client 02:03:36.823593 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:36.823604 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:36.823614 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:36.823683 < 16 bytes data, client => server 02:03:36.823696 'USER anonymous\r\n' 02:03:36.823848 Received DATA (on stdin) 02:03:36.823861 > 33 bytes data, server => client 02:03:36.823873 '331 We are happy you popped in!\r\n' 02:03:36.823928 < 22 bytes data, client => server 02:03:36.823942 'PASS ftp@example.com\r\n' 02:03:36.824037 Received DATA (on stdin) 02:03:36.824049 > 30 bytes data, server => client 02:03:36.824060 '230 Welcome you silly person\r\n' 02:03:36.824111 < 5 bytes data, client => server 02:03:36.824123 'PWD\r\n' 02:03:36.824221 Received DATA (on stdin) 02:03:36.824233 > 30 bytes data, server => client 02:03:36.824244 '257 "/" is current directory\r\n' 02:03:36.824299 < 6 bytes data, client => server 02:03:36.824311 'EPSV\r\n' 02:03:36.826243 Received DATA (on stdin) 02:03:36.826257 > 38 bytes data, server => client 02:03:36.826268 '229 Entering Passive Mode (|||37725|)\n' 02:03:36.826415 < 8 bytes data, client => server 02:03:36.826427 'TYPE I\r\n' 02:03:36.826587 Received DATA (on stdin) 02:03:36.826598 > 33 bytes data, server => client 02:03:36.826610 '200 I modify TYPE as you wanted\r\n' 02:03:36.826662 < 21 bytes data, client => server 02:03:36.826674 'SIZE verifiedserver\r\n' 02:03:36.826777 Received DATA (on stdin) 02:03:36.826788 > 8 bytes data, server => client 02:03:36.826799 '213 17\r\n' 02:03:36.826848 < 21 bytes data, client => server 02:03:36.826860 'RETR verifiedserver\r\n' 02:03:36.827038 Received DATA (on stdin) 02:03:36.827050 > 29 bytes data, server => client 02:03:36.827061 '150 Binary junk (17 bytes).\r\n' 02:03:36.827513 Received DATA (on stdin) 02:03:36.827532 > 28 bytes data, server => client 02:03:36.827543 '226 File transfer complete\r\n' 02:03:36.868929 < 6 bytes data, client => server 02:03:36.868959 'QUIT\r\n' 02:03:36.869161 Received DATA (on stdin) 02:03:36.869174 > 18 bytes data, server => client 02:03:36.869185 '221 bye bye baby\r\n' 02:03:36.869789 ====> Client disconnect 02:03:36.869919 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:36.825920 Running IPv4 version 02:03:36.825972 Listening on port 37725 02:03:36.826008 Wrote pid 165296 to log/2/server/ftp_sockdata.pid 02:03:36.826025 Received PING (on stdin) 02:03:36.826106 Received PORT (on stdin) 02:03:36.826388 ====> Client connect 02:03:36.827089 Received DATA (on stdin) 02:03:36.827102 > 17 bytes data, server => client 02:03:36.827114 'WE ROOLZ: 80457\r\n' 02:03:36.827141 Received DISC (on stdin) 02:03:36.827154 ====> Client forcibly disconnected 02:03:36.827287 Received QUIT (on stdin) 02:03:36.827299 quits 02:03:36.827343 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2083 === End of file server.cmd === Start of file stderr2083 URL: ftp://127.0.0.1:36595/test-2083/ === End of file stderr2083 === Start of file valgrind2083 ==165478== ==165478== Process terminating with default action of signal 4 (SIGILL) ==165478== Illegal opcode at address 0x48EA16B ==165478== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==165478== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==165478== by 0x48EA16B: Curl_open (url.c:519) ==165478== by 0x4880EEF: curl_easy_init (easy.c:370) ==165478== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==165478== by 0x10909C: main (first.c:220) ==165478== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==165478== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165478== by 0x4A6D258: __tsearch (tsearch.c:337) ==165478== by 0x4A6D258: tsearch (tsearch.c:290) ==165478== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165478== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165478== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165478== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165478== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165478== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165478== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165478== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165478== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165478== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165478== by 0x498986B: setlocale (setlocale.c:337) ==165478== by 0x109056: main (first.c:160) ==165478== ==165478== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==165478== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165478== by 0x4A6D258: __tsearch (tsearch.c:337) ==165478== by 0x4A6D258: tsearch (tsearch.c:290) ==165478== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165478== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165478== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165478== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165478== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165478== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165478== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165478== by 0x498986B: setlocale (setlocale.c:337) ==165478== by 0x109056: main (first.c:160) ==165478== ==165478== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==165478== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165478== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165478== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165478== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165478== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165478== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165478== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165478== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165478== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165478== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165478== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165478== by 0x498986B: setlocale (setlocale.c:337) ==165478== by 0x109056: main (first.c:160) ==165478== ==165478== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==165478== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165478== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165478== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165478== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165478== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165478== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165478== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165478== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165478== by 0x498986B: setlocale (setlocale.c:337) ==165478== by 0x109056: main (first.c:160) ==165478== ==165478== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==165478== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==165478== by 0x48EA143: Curl_open (url.c:510) ==165478== by 0x4880EEF: curl_easy_init (easy.c:370) ==165478== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==165478== by 0x10909C: main (first.c:220) ==165478== ==165478== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==165478== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165478== by 0x4A6D258: __tsearch (tsearch.c:337) ==165478== by 0x4A6D258: tsearch (tsearch.c:290) ==165478== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165478== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165478== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165478== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165478== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165478== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165478== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165478== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165478== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165478== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165478== by 0x498986B: setlocale (setlocale.c:337) ==165478== by 0x109056: main (first.c:160) ==165478== ==165478== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==165478== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165478== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165478== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165478== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165478== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165478== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165478== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165478== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165478== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165478== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165478== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165478== by 0x498986B: setlocale (setlocale.c:337) ==165478== by 0x109056: main (first.c:160) ==165478== === End of file valgrind2083 test 2205...[MQTT with very long user name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2205 ../src/curl -q --output log/5/curl2205.out --include --trace log/5/trace2205 --trace-config all --trace-time mqtt://127.0.0.1:39557/2205 -K log/5/input2205 > log/5/stdout2205 2> log/5/stderr2205 curl returned 132, when expecting 8 2205: exit FAILED == Contents of files in the log/5/ dir after test 2205 === Start of file input2205 user = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (0): ../src/curl --max-time 13 --output log/9/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:33045/verifiedserver" 2>log/9/http_ipv6_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2306 ./libtest/lib2306 http://127.0.0.1:40653/2306 http://127.0.0.1:40653/23060002 > log/12/stdout2306 2> log/12/stderr2306 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:fakepasswd === End of file input2205 === Start of file server.cmd Testnum 2205 === End of file server.cmd === Start of file valgrind2205 ==165671== ==165671== Process terminating with default action of signal 4 (SIGILL) ==165671== Illegal opcode at address 0x10B08D ==165671== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165671== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2205 test 2203...[MQTT with error in CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2203 ../src/curl -q --output log/8/curl2203.out --include --trace log/8/trace2203 --trace-config all --trace-time mqtt://127.0.0.1:44919/2203 > log/8/stdout2203 2> log/8/stderr2203 2203: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir after test 2203 === Start of file server.cmd error-CONNACK 5 Testnum 2203 === End of file server.cmd === Start of file valgrind2203 ==165664== ==165664== Process terminating with default action of signal 4 (SIGILL) ==165664== Illegal opcode at address 0x10B08D ==165664== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==165664== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2203 test 2306...[HTTP GET reused handle with first header folded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2306 ./libtest/lib2306 http://127.0.0.1:40653/2306 http://127.0.0.1:40653/23060002 > log/12/stdout2306 2> log/12/stderr2306 2306: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 2306 === Start of file http_server.log 02:03:37.269191 ====> Client connect 02:03:37.269227 accept_connection 3 returned 4 02:03:37.269246 accept_connection 3 returned 0 02:03:37.269260 Read 93 bytes 02:03:37.269271 Process 93 bytes request 02:03:37.269286 Got request: GET /verifiedserver HTTP/1.1 02:03:37.269296 Are-we-friendly question received 02:03:37.269319 Wrote request (93 bytes) input to log/12/server.input 02:03:37.269336 Identifying ourselves as friends 02:03:37.269405 Response sent (56 bytes) and written to log/12/server.response 02:03:37.269416 special request received, no persistency 02:03:37.269425 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file hCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2308 ./libtest/lib2308 http://127.0.0.1:39167/2308 > log/6/stdout2308 2> log/6/stderr2308 ttp_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 2306 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr2306 URL: http://127.0.0.1:40653/2306 === End of file stderr2306 === Start of file valgrind2306 ==165743== ==165743== Process terminating with default action of signal 4 (SIGILL) ==165743== Illegal opcode at address 0x48EA16B ==165743== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==165743== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==165743== by 0x48EA16B: Curl_open (url.c:519) ==165743== by 0x4880EEF: curl_easy_init (easy.c:370) ==165743== by 0x10909C: UnknownInlinedFun (lib2306.c:40) ==165743== by 0x10909C: UnknownInlinedFun (lib2306.c:32) ==165743== by 0x10909C: main (first.c:220) ==165743== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==165743== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165743== by 0x4A6D258: __tsearch (tsearch.c:337) ==165743== by 0x4A6D258: tsearch (tsearch.c:290) ==165743== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165743== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165743== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165743== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165743== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165743== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165743== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165743== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165743== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165743== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165743== by 0x498986B: setlocale (setlocale.c:337) ==165743== by 0x109045: main (first.c:160) ==165743== ==165743== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==165743== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165743== by 0x4A6D258: __tsearch (tsearch.c:337) ==165743== by 0x4A6D258: tsearch (tsearch.c:290) ==165743== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165743== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165743== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165743== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165743== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165743== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165743== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165743== by 0x498986B: setlocale (setlocale.c:337) ==165743== by 0x109045: main (first.c:160) ==165743== ==165743== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==165743== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165743== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165743== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165743== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165743== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165743== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165743== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165743== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165743== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165743== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165743== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165743== by 0x498986B: setlocale (setlocale.c:337) ==165743== by 0x109045: main (first.c:160) ==165743== ==165743== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==165743== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165743== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165743== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165743== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165743== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165743== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165743== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165743== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165743== by 0x498986B: setlocale (setlocale.c:337) ==165743== by 0x109045: main (first.c:160) ==165743== ==165743== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==165743== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==165743== by 0x48EA143: Curl_open (url.c:510) ==165743== by 0x4880EEF: curl_easy_init (easy.c:370) ==165743== by 0x10909C: UnknownInlinedFun (lib2306.c:40) ==165743== by 0x10909C: UnknownInlinedFun (lib2306.c:32) ==165743== by 0x10909C: main (first.c:220) ==165743== ==165743== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==165743== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165743== by 0x4A6D258: __tsearch (tsearch.c:337) ==165743== by 0x4A6D258: tsearch (tsearch.c:290) ==165743== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165743== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165743== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165743== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165743== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165743== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165743== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165743== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165743== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165743== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165743== by 0x498986B: setlocale (setlocale.c:337) ==165743== by 0x109045: main (first.c:160) ==165743== ==165743== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==165743== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165743== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165743== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165743== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165743== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165743== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165743== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165743== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165743== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165743== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165743== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165743== by 0x498986B: setlocale (setlocale.c:337) ==165743== by 0x109045: main (first.c:160) ==165743== === End of file valgrind2306 test 2308...[verify return code when write callback returns error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2308 ./libtest/lib2308 http://127.0.0.1:39167/2308 > log/6/stdout2308 2> log/6/stderr2308 2308: stdout FAILED: --- log/6/check-expected 2024-12-15 02:03:38.050563280 +0000 +++ log/6/check-generated 2024-12-15 02:03:38.050563280 +0000 @@ -1 +0,0 @@ -Returned 23, should be 23.[CR][LF] == Contents of files in the log/6/ dir after test 2308 === Start of file check-expected Returned 23, should be 23.[CR][LF] === End of file check-expected === Start of file http_server.log 02:03:37.468514 ====> Client connect 02:03:37.468550 accept_connection 3 returned 4 02:03:37.468570 accept_connection 3 returned 0 02:03:37.468587 Read 93 bytes 02:03:37.468599 Process 93 bytes request 02:03:37.468616 Got request: GET /verifiedserver HTTP/1.1 02:03:37.468626 Are-we-friendly question received 02:03:37.468649 Wrote request (93 bytes) input to log/6/server.input 02:03:37.468668 Identifying ourselves as friends 02:03:37.468735 Response sent (57 bytes) and written to log/6/server.response 02:03:37.468751 special request received, no persistency 02:03:37.468761 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 2308 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file stderr2308 URL: http://127.0.0.1:39167/2308 === End of file stderr2308 === Start of file valgrind2308 ==165851== ==165851== Process terminating with default action of signal 4 (SIGILL) ==165851== Illegal opcode at address 0x48EA16B ==165851== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==165851== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==165851== by 0x48EA16B: Curl_open (url.c:519) ==165851== by 0x4880EEF: curl_easy_init (easy.c:370) ==165851== by 0x10908B: UnknownInlinedFun (lib2308.c:45) ==165851== by 0x10908B: UnknownInlinedFun (lib2308.c:39) ==165851== by 0x10908B: main (first.c:220) ==165851== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==165851== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165851== by 0x4A6D258: __tsearch (tsearch.c:337) ==165851== by 0x4A6D258: tsearch (tsearch.c:290) ==165851== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165851== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165851== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165851== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165851== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165851== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165851== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165851== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165851== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165851== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165851== by 0x498986B: setlocale (setlocale.c:337) ==165851== by 0x109045: main (first.c:160) ==165851== ==165851== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==165851== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165851== by 0x4A6D258: __tsearch (tsearch.c:337) ==165851== by 0x4A6D258: tsearch (tsearch.c:290) ==165851== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165851== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165851== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165851== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165851== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165851== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165851== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165851== by 0x498986B: setlocale (setlocale.c:337) ==165851== by 0x109045: main (first.c:160) ==165851== ==165851== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==165851== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165851== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165851== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165851== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165851== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165851== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165851== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165851== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165851== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165851== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165851== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165851== by 0x498986B: setlocale (setlocale.c:337) ==165851== by 0x109045: main (first.c:160) ==165851== ==165851== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==165851== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165851== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165851== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165851== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165851== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165851== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165851== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165851== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165851== by 0x498986B: setlocale (setlocale.c:337) ==165851== by 0x109045: main (first.c:160) ==165851== ==165851== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==165851== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==165851== by 0x48EA143: Curl_open (url.c:510) ==165851== by 0x4880EEF: curl_easy_init (easy.c:370) ==165851== by 0x10908B: UnknownInlinedFun (lib2308.c:45) ==165851== by 0x10908B: UnknownInlinedFun (lib2308.c:39) ==165851== by 0x10908B: main (first.c:220) ==165851== ==165851== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==165851== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165851== by 0x4A6D258: __tsearch (tsearch.c:337) ==165851== by 0x4A6D258: tsearch (tsearch.c:290) ==165851== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165851== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165851== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165851== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165851== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165851== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165851== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165851== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165851== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165851== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165851== by 0x498986B: setlocale (setlocale.c:337) ==165851== by 0x109045: main (first.c:160) ==165851== ==165851== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==165851== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165851== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165851== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165851== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165851== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3003 ../src/curl -q --output log/1/curl3003.out --include --trace-ascii log/1/trace3003 --trace-config all --trace-time smtp://127.0.0.1:41437/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/1/stdout3003 2> log/1/stderr3003 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3002 ../src/curl -q --output log/2/curl3002.out --include --trace-ascii log/2/trace3002 --trace-config all --trace-time smtp://127.0.0.1:40763/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/2/stdout3002 2> log/2/stderr3002 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2309 ./libtest/lib2309 http://github.com log/11/netrc2309 http://127.0.0.1:44137/ > log/11/stdout2309 2> log/11/stderr2309 ==165851== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165851== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165851== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165851== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165851== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165851== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165851== by 0x498986B: setlocale (setlocale.c:337) ==165851== by 0x109045: main (first.c:160) ==165851== === End of file valgrind2308 test 3003...[SMTP with multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3003 ../src/curl -q --output log/1/curl3003.out --include --trace-ascii log/1/trace3003 --trace-config all --trace-time smtp://127.0.0.1:41437/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/1/stdout3003 2> log/1/stderr3003 3003: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 3003 === Start of file server.cmd Testnum 3003 === End of file server.cmd === Start of file smtp_server.log 02:03:37.637203 ====> Client connect 02:03:37.637317 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:37.637581 < "EHLO verifiedserver" 02:03:37.637620 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:37.637790 < "HELP" 02:03:37.637819 > "214 WE ROOLZ: 109154[CR][LF]" 02:03:37.637834 return proof we are we 02:03:37.638020 < "QUIT" 02:03:37.638045 > "221 curl ESMTP server signing off[CR][LF]" 02:03:37.638672 MAIN sockfilt said DISC 02:03:37.638699 ====> Client disconnected 02:03:37.638749 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:37.837257 ====> Client connect 02:03:37.837466 Received DATA (on stdin) 02:03:37.837486 > 160 bytes data, server => client 02:03:37.837499 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:37.837512 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:37.837523 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:37.837593 < 21 bytes data, client => server 02:03:37.837607 'EHLO verifiedserver\r\n' 02:03:37.837761 Received DATA (on stdin) 02:03:37.837774 > 53 bytes data, server => client 02:03:37.837787 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:37.837843 < 6 bytes data, client => server 02:03:37.837855 'HELP\r\n' 02:03:37.837971 Received DATA (on stdin) 02:03:37.837984 > 22 bytes data, server => client 02:03:37.837995 '214 WE ROOLZ: 109154\r\n' 02:03:37.838075 < 6 bytes data, client => server 02:03:37.838090 'QUIT\r\n' 02:03:37.838184 Received DATA (on stdin) 02:03:37.838196 > 35 bytes data, server => client 02:03:37.838208 '221 curl ESMTP server signing off\r\n' 02:03:37.838763 ====> Client disconnect 02:03:37.838879 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3003 From: different To: another body === End of file stdin-for-3003 === Start of file valgrind3003 ==166104== ==166104== Process terminating with default action of signal 4 (SIGILL) ==166104== Illegal opcode at address 0x10B08D ==166104== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166104== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3003 test 3002...[SMTP with multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3002 ../src/curl -q --output log/2/curl3002.out --include --trace-ascii log/2/trace3002 --trace-config all --trace-time smtp://127.0.0.1:40763/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/2/stdout3002 2> log/2/stderr3002 3002: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 3002 === Start of file server.cmd Testnum 3002 === End of file server.cmd === Start of file smtp_server.log 02:03:37.633930 ====> Client connect 02:03:37.634029 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:37.634236 < "EHLO verifiedserver" 02:03:37.634269 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:37.634404 < "HELP" 02:03:37.634425 > "214 WE ROOLZ: 120689[CR][LF]" 02:03:37.634436 return proof we are we 02:03:37.634579 < "QUIT" 02:03:37.634598 > "221 curl ESMTP server signing off[CR][LF]" 02:03:37.635071 MAIN sockfilt said DISC 02:03:37.635098 ====> Client disconnected 02:03:37.635147 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:36.833982 ====> Client connect 02:03:36.834172 Received DATA (on stdin) 02:03:36.834183 > 160 bytes data, server => client 02:03:36.834194 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:36.834202 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:36.834210 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:36.834267 < 21 bytes data, client => server 02:03:36.834276 'EHLO verifiedserver\r\n' 02:03:36.834405 Received DATA (on stdin) 02:03:36.834415 > 53 bytes data, server => client 02:03:36.834423 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:36.834470 < 6 bytes data, client => server 02:03:36.834479 'HELP\r\n' 02:03:36.834569 Received DATA (on stdin) 02:03:36.834578 > 22 bytes data, server => client 02:03:36.834586 '214 WE ROOLZ: 120689\r\n' 02:03:36.834650 < 6 bytes data, client => server 02:03:36.834660 'QUIT\r\n' 02:03:36.834732 Received DATA (on stdin) 02:03:36.834740 > 35 bytes data, server => client 02:03:36.834748 '221 curl ESMTP server signing off\r\n' 02:03:36.835161 ====> Client disconnect 02:03:36.835286 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3002 From: different To: another body === End of file stdin-for-3002 === Start of file valgrind3002 ==166103== ==166103== Process terminating with default action of signal 4 (SIGILL) ==166103== Illegal opcode at address 0x10B08D ==166103== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166103== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3002 test 2309...[HTTP with .netrc using duped easy handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2309 ./libtest/lib2309 http://github.com log/11/netrc2309 http://127.0.0.1:44137/ > log/11/stdout2309 2> log/11/stderr2309 2309: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 2309 === Start of file http_server.log 02:03:37.639456 ====> Client connect 02:03:37.639488 accept_connection 3 returned 4 02:03:37.639506 accept_connection 3 returned 0 02:03:37.639521 Read 93 bytes 02:03:37.639532 Process 93 bytes request 02:03:37.639546 Got request: GET /verifiedserver HTTP/1.1 02:03:37.639557CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2086 ./libtest/libprereq [::1]:33045/2086#ipv6 > log/9/stdout2086 2> log/9/stderr2086 Are-we-friendly question received 02:03:37.639580 Wrote request (93 bytes) input to log/11/server.input 02:03:37.639598 Identifying ourselves as friends 02:03:37.639664 Response sent (56 bytes) and written to log/11/server.response 02:03:37.639675 special request received, no persistency 02:03:37.639685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file netrc2309 machine github.com login daniel password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1 === End of file netrc2309 === Start of file server.cmd Testnum 2309 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file stderr2309 URL: http://github.com === End of file stderr2309 === Start of file valgrind2309 ==165932== ==165932== Process terminating with default action of signal 4 (SIGILL) ==165932== Illegal opcode at address 0x48EA16B ==165932== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==165932== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==165932== by 0x48EA16B: Curl_open (url.c:519) ==165932== by 0x4880EEF: curl_easy_init (easy.c:370) ==165932== by 0x1090AD: UnknownInlinedFun (lib2309.c:46) ==165932== by 0x1090AD: UnknownInlinedFun (lib2309.c:39) ==165932== by 0x1090AD: main (first.c:220) ==165932== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==165932== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165932== by 0x4A6D258: __tsearch (tsearch.c:337) ==165932== by 0x4A6D258: tsearch (tsearch.c:290) ==165932== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165932== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165932== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165932== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165932== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165932== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165932== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165932== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165932== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165932== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165932== by 0x498986B: setlocale (setlocale.c:337) ==165932== by 0x109045: main (first.c:160) ==165932== ==165932== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==165932== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165932== by 0x4A6D258: __tsearch (tsearch.c:337) ==165932== by 0x4A6D258: tsearch (tsearch.c:290) ==165932== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165932== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165932== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165932== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165932== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165932== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165932== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165932== by 0x498986B: setlocale (setlocale.c:337) ==165932== by 0x109045: main (first.c:160) ==165932== ==165932== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==165932== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165932== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165932== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165932== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165932== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165932== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==165932== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==165932== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165932== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165932== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165932== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165932== by 0x498986B: setlocale (setlocale.c:337) ==165932== by 0x109045: main (first.c:160) ==165932== ==165932== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==165932== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165932== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165932== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==165932== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==165932== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165932== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165932== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165932== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165932== by 0x498986B: setlocale (setlocale.c:337) ==165932== by 0x109045: main (first.c:160) ==165932== ==165932== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==165932== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==165932== by 0x48EA143: Curl_open (url.c:510) ==165932== by 0x4880EEF: curl_easy_init (easy.c:370) ==165932== by 0x1090AD: UnknownInlinedFun (lib2309.c:46) ==165932== by 0x1090AD: UnknownInlinedFun (lib2309.c:39) ==165932== by 0x1090AD: main (first.c:220) ==165932== ==165932== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==165932== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165932== by 0x4A6D258: __tsearch (tsearch.c:337) ==165932== by 0x4A6D258: tsearch (tsearch.c:290) ==165932== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==165932== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165932== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165932== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165932== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165932== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165932== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165932== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165932== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165932== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165932== by 0x498986B: setlocale (setlocale.c:337) ==165932== by 0x109045: main (first.c:160) ==165932== ==165932== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==165932== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==165932== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==165932== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==165932== by 0x497DBB2: add_alias (gconv_conf.c:178) ==165932== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==165932== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==165932== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==165932== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==165932== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==165932== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==165932== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==165932== by 0x498986B: setlocale (setlocale.c:337) ==165932== by 0x109045: main (first.c:160) ==165932== === End of file valgrind2309 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3004 ../src/curl -q --output log/12/curl3004.out --include --trace-ascii log/12/trace3004 --trace-config all --trace-time smtp://127.0.0.1:34955/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/12/stdout3004 2> log/12/stderr3004 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/server/http_ipv6_server.pid" --logfile "log/9/http_ipv6_server.log" --logdir "log/9" --portfile log/9/server/http_ipv6_server.port --config log/9/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/9/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:33045/verifiedserver" 2>log/9/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 165303 port 33045 * pid http-ipv6 => 165303 165303 setenv MSYS2_ARG_CONV_EXCL = * test 2086...[Pre-request callback for HTTP IPv6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2086 ./libtest/libprereq [::1]:33045/2086#ipv6 > log/9/stdout2086 2> log/9/stderr2086 2086: stdout FAILED: --- log/9/check-expected 2024-12-15 02:03:38.363902171 +0000 +++ log/9/check-generated 2024-12-15 02:03:38.363902171 +0000 @@ -1,5 +0,0 @@ -Connected to [::1][LF] -Connected from [::1][LF] -Remote port = 33045[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/9/ dir after test 2086 === Start of file check-expected Connected to [::1][LF] Connected from [::1][LF] Remote port = 33045[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file http_ipv6_server.log 02:03:36.843288 Running HTTP IPv6 version on port 33045 02:03:36.843365 Wrote pid 165303 to log/9/server/http_ipv6_server.pid 02:03:36.843400 Wrote port 33045 to log/9/server/http_ipv6_server.port 02:03:37.846301 ====> Client connect 02:03:37.846489 accept_connection 3 returned 4 02:03:37.846503 accept_connection 3 returned 0 02:03:37.846515 Read 89 bytes 02:03:37.846526 Process 89 bytes request 02:03:37.846540 Got request: GET /verifiedserver HTTP/1.1 02:03:37.846548 Are-we-friendly question received 02:03:37.846568 Wrote request (89 bytes) input to log/9/server.input 02:03:37.846583 Identifying ourselves as friends 02:03:37.846636 Response sent (57 bytes) and written to log/9/server.response 02:03:37.846645 special request received, no persistency 02:03:37.846652 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:33045... * Connected to ::1 (::1) port 33045 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:33045 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 165303 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 2086 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 165303 === End of file server.response === Start of file stderr2086 URL: [::1]:33045/2086#ipv6 === End of file stderr2086 === Start of file valgrind2086 ==166138== ==166138== Process terminating with default action of signal 4 (SIGILL) ==166138== Illegal opcode at address 0x48EA16B ==166138== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==166138== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==166138== by 0x48EA16B: Curl_open (url.c:519) ==166138== by 0x4880EEF: curl_easy_init (easy.c:370) ==166138== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==166138== by 0x10909C: main (first.c:220) ==166138== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==166138== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166138== by 0x4A6D258: __tsearch (tsearch.c:337) ==166138== by 0x4A6D258: tsearch (tsearch.c:290) ==166138== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==166138== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==166138== by 0x497DBB2: add_alias (gconv_conf.c:178) ==166138== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==166138== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==166138== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==166138== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166138== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166138== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166138== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166138== by 0x498986B: setlocale (setlocale.c:337) ==166138== by 0x109056: main (first.c:160) ==166138== ==166138== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==166138== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166138== by 0x4A6D258: __tsearch (tsearch.c:337) ==166138== by 0x4A6D258: tsearch (tsearch.c:290) ==166138== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==166138== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==166138== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==166138== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166138== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166138== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166138== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166138== by 0x498986B: setlocale (setlocale.c:337) ==166138== by 0x109056: main (first.c:160) ==166138== ==166138== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==166138== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166138== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==166138== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==166138== by 0x497DBB2: add_alias (gconv_conf.c:178) ==166138== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==166138== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==166138== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==166138== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166138== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166138== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166138== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166138== by 0x498986B: setlocale (setlocale.c:337) ==166138== by 0x109056: main (first.c:160) ==166138== ==166138== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==166138== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166138== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==166138== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==166138== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==166138== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166138== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166138== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166138== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166138== by 0x498986B: setlocale (setlocale.c:337) ==166138== by 0x109056: main (first.c:160) ==166138== ==166138== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==166138== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==166138== by 0x48EA143: Curl_open (url.c:510) ==166138== by 0x4880EEF: curl_easy_init (easy.c:370) ==166138== by 0x10909C: UnknownInlinedFun (libprereq.c:64) ==166138== by 0x10909C: main (first.c:220) ==166138== ==166138== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==166138== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166138== by 0x4A6D258: __tsearch (tsearch.c:337) ==166138== by 0x4A6D258: tsearch (tsearch.c:290) ==166138== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==166138== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==166138== by 0x497DBB2: add_alias (gconv_conf.c:178) ==166138== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==166138== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==166138== by 0x497DF71: __gcCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2204 ../src/curl -q --output log/4/curl2204.out --include --trace log/4/trace2204 --trace-config all --trace-time mqtt://127.0.0.1:45425/2204 -u testuser:testpasswd > log/4/stdout2204 2> log/4/stderr2204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3007 ../src/curl -q --output log/2/curl3007.out --include --trace-ascii log/2/trace3007 --trace-config all --trace-time smtp://127.0.0.1:40763/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/2/stdout3007 2> log/2/stderr3007 onv_read_conf (gconv_conf.c:480) ==166138== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166138== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166138== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166138== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166138== by 0x498986B: setlocale (setlocale.c:337) ==166138== by 0x109056: main (first.c:160) ==166138== ==166138== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==166138== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166138== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==166138== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==166138== by 0x497DBB2: add_alias (gconv_conf.c:178) ==166138== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==166138== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==166138== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==166138== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166138== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166138== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166138== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166138== by 0x498986B: setlocale (setlocale.c:337) ==166138== by 0x109056: main (first.c:160) ==166138== === End of file valgrind2086 test 3004...[SMTP with multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3004 ../src/curl -q --output log/12/curl3004.out --include --trace-ascii log/12/trace3004 --trace-config all --trace-time smtp://127.0.0.1:34955/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/12/stdout3004 2> log/12/stderr3004 3004: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 3004 === Start of file server.cmd Testnum 3004 === End of file server.cmd === Start of file smtp_server.log 02:03:37.928460 ====> Client connect 02:03:37.928569 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:37.928783 < "EHLO verifiedserver" 02:03:37.928812 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:37.928939 < "HELP" 02:03:37.928965 > "214 WE ROOLZ: 109452[CR][LF]" 02:03:37.928976 return proof we are we 02:03:37.929133 < "QUIT" 02:03:37.929152 > "221 curl ESMTP server signing off[CR][LF]" 02:03:37.929578 MAIN sockfilt said DISC 02:03:37.929602 ====> Client disconnected 02:03:37.929655 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:38.128497 ====> Client connect 02:03:38.128712 Received DATA (on stdin) 02:03:38.128723 > 160 bytes data, server => client 02:03:38.128733 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:38.128741 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:38.128750 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:38.128813 < 21 bytes data, client => server 02:03:38.128823 'EHLO verifiedserver\r\n' 02:03:38.128948 Received DATA (on stdin) 02:03:38.128958 > 53 bytes data, server => client 02:03:38.128966 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:38.129010 < 6 bytes data, client => server 02:03:38.129018 'HELP\r\n' 02:03:38.129109 Received DATA (on stdin) 02:03:38.129119 > 22 bytes data, server => client 02:03:38.129127 '214 WE ROOLZ: 109452\r\n' 02:03:38.129191 < 6 bytes data, client => server 02:03:38.129201 'QUIT\r\n' 02:03:38.129285 Received DATA (on stdin) 02:03:38.129294 > 35 bytes data, server => client 02:03:38.129303 '221 curl ESMTP server signing off\r\n' 02:03:38.129672 ====> Client disconnect 02:03:38.129760 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3004 From: different To: another body === End of file stdin-for-3004 === Start of file valgrind3004 ==166279== ==166279== Process terminating with default action of signal 4 (SIGILL) ==166279== Illegal opcode at address 0x10B08D ==166279== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166279== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3004 startnew: server/mqttd --port 0 --pidfile log/4/server/mqtt_server.pid --portfile log/4/server/mqtt_server.port --config log/4/server.cmd --logfile log/4/mqtt_server.log --logdir log/4 RUN: MQTT server is now running PID 165659 on PORT 45425 * pid mqtt => 165659 165659 test 2204...[MQTT SUBSCRIBE with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2204 ../src/curl -q --output log/4/curl2204.out --include --trace log/4/trace2204 --trace-config all --trace-time mqtt://127.0.0.1:45425/2204 -u testuser:testpasswd > log/4/stdout2204 2> log/4/stderr2204 2204: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 2204 === Start of file mqtt_server.log 02:03:37.238034 Running IPv4 version 02:03:37.238087 Listening on port 45425 02:03:37.238122 Wrote pid 165659 to log/4/server/mqtt_server.pid 02:03:37.238153 Wrote port 45425 to log/4/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2204 === End of file server.cmd === Start of file valgrind2204 ==166336== ==166336== Process terminating with default action of signal 4 (SIGILL) ==166336== Illegal opcode at address 0x10B08D ==166336== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166336== by 0x10B08D: main (tool_main.c:232) === End of file valgrind2204 test 3007...[SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3007 ../src/curl -q --output log/2/curl3007.out --include --trace-ascii log/2/trace3007 --trace-config all --trace-time smtp://127.0.0.1:40763/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/2/stdout3007 2> log/2/stderr3007 3007: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 3007 === Start of file server.cmd Testnum 3007 === End of file server.cmd === Start of file smtp_server.log 02:03:38.079336 ====> Client connect 02:03:38.079455 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:38.079687 < "EHLO verifiedserver" 02:03:38.079722 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:38.079878 < "HELP" 02:03:38.079903 > "214 WE ROOLZ: 120689[CR][LF]" 02:03:38.079917 return proof we are we 02:03:38.080103 < "QUIT" 02:03:38.080127 > "221 curl ESMTP server signing off[CR][LF]" 02:03:38.080942 MAIN sockfilt said DISC 02:03:38.080977 ====> Client disconnected 02:03:38.081030 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:37.279390 ====> Client connect 02:03:37.279602 Received DATA (on stdin) 02:03:37.279615 > 160 bytes data, server => client 02:03:37.279625 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:37.279634 'CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3005 ../src/curl -q --output log/6/curl3005.out --include --trace-ascii log/6/trace3005 --trace-config all --trace-time smtp://127.0.0.1:36521/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/6/stdout3005 2> log/6/stderr3005 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3006 ../src/curl -q --output log/1/curl3006.out --include --trace-ascii log/1/trace3006 --trace-config all --trace-time smtp://127.0.0.1:41437/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/1/stdout3006 2> log/1/stderr3006 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3008 ../src/curl -q --trace-ascii log/11/trace3008 --trace-config all --trace-time http://127.0.0.1:44137/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/11 > log/11/stdout3008 2> log/11/stderr3008 \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:37.279642 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:37.279701 < 21 bytes data, client => server 02:03:37.279715 'EHLO verifiedserver\r\n' 02:03:37.279863 Received DATA (on stdin) 02:03:37.279875 > 53 bytes data, server => client 02:03:37.279886 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:37.279939 < 6 bytes data, client => server 02:03:37.279950 'HELP\r\n' 02:03:37.280054 Received DATA (on stdin) 02:03:37.280066 > 22 bytes data, server => client 02:03:37.280076 '214 WE ROOLZ: 120689\r\n' 02:03:37.280149 < 6 bytes data, client => server 02:03:37.280161 'QUIT\r\n' 02:03:37.280263 Received DATA (on stdin) 02:03:37.280274 > 35 bytes data, server => client 02:03:37.280285 '221 curl ESMTP server signing off\r\n' 02:03:37.280836 ====> Client disconnect 02:03:37.281170 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3007 From: different To: another body === End of file stdin-for-3007 === Start of file valgrind3007 ==166437== ==166437== Process terminating with default action of signal 4 (SIGILL) ==166437== Illegal opcode at address 0x10B08D ==166437== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166437== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3007 test 3005...[SMTP with multiple and invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3005 ../src/curl -q --output log/6/curl3005.out --include --trace-ascii log/6/trace3005 --trace-config all --trace-time smtp://127.0.0.1:36521/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/6/stdout3005 2> log/6/stderr3005 3005: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 3005 === Start of file server.cmd Testnum 3005 === End of file server.cmd === Start of file smtp_server.log 02:03:38.074338 ====> Client connect 02:03:38.074468 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:38.075048 < "EHLO verifiedserver" 02:03:38.075086 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:38.075258 < "HELP" 02:03:38.075286 > "214 WE ROOLZ: 120742[CR][LF]" 02:03:38.075299 return proof we are we 02:03:38.075507 < "QUIT" 02:03:38.075530 > "221 curl ESMTP server signing off[CR][LF]" 02:03:38.075642 MAIN sockfilt said DISC 02:03:38.075662 ====> Client disconnected 02:03:38.075835 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:38.274368 ====> Client connect 02:03:38.274923 Received DATA (on stdin) 02:03:38.274945 > 160 bytes data, server => client 02:03:38.274957 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:38.274969 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:38.274979 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:38.275048 < 21 bytes data, client => server 02:03:38.275060 'EHLO verifiedserver\r\n' 02:03:38.275217 Received DATA (on stdin) 02:03:38.275231 > 53 bytes data, server => client 02:03:38.275242 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:38.275309 < 6 bytes data, client => server 02:03:38.275320 'HELP\r\n' 02:03:38.275443 Received DATA (on stdin) 02:03:38.275454 > 22 bytes data, server => client 02:03:38.275463 '214 WE ROOLZ: 120742\r\n' 02:03:38.275563 < 6 bytes data, client => server 02:03:38.275575 'QUIT\r\n' 02:03:38.275673 Received DATA (on stdin) 02:03:38.275684 > 35 bytes data, server => client 02:03:38.275693 '221 curl ESMTP server signing off\r\n' 02:03:38.275744 ====> Client disconnect 02:03:38.275891 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3005 From: different To: another body === End of file stdin-for-3005 === Start of file valgrind3005 ==166434== ==166434== Process terminating with default action of signal 4 (SIGILL) ==166434== Illegal opcode at address 0x10B08D ==166434== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166434== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3005 test 3006...[SMTP with multiple invalid (all) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3006 ../src/curl -q --output log/1/curl3006.out --include --trace-ascii log/1/trace3006 --trace-config all --trace-time smtp://127.0.0.1:41437/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/1/stdout3006 2> log/1/stderr3006 3006: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 3006 === Start of file server.cmd Testnum 3006 === End of file server.cmd === Start of file smtp_server.log 02:03:38.077790 ====> Client connect 02:03:38.077896 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:38.078252 < "EHLO verifiedserver" 02:03:38.078292 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 02:03:38.078471 < "HELP" 02:03:38.078499 > "214 WE ROOLZ: 109154[CR][LF]" 02:03:38.078513 return proof we are we 02:03:38.078708 < "QUIT" 02:03:38.078733 > "221 curl ESMTP server signing off[CR][LF]" 02:03:38.078891 MAIN sockfilt said DISC 02:03:38.078915 ====> Client disconnected 02:03:38.078966 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 02:03:38.277851 ====> Client connect 02:03:38.278026 Received DATA (on stdin) 02:03:38.278048 > 160 bytes data, server => client 02:03:38.278061 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:38.278073 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:38.278084 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:38.278180 < 21 bytes data, client => server 02:03:38.278196 'EHLO verifiedserver\r\n' 02:03:38.278433 Received DATA (on stdin) 02:03:38.278446 > 53 bytes data, server => client 02:03:38.278458 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 02:03:38.278526 < 6 bytes data, client => server 02:03:38.278539 'HELP\r\n' 02:03:38.278650 Received DATA (on stdin) 02:03:38.278662 > 22 bytes data, server => client 02:03:38.278673 '214 WE ROOLZ: 109154\r\n' 02:03:38.278767 < 6 bytes data, client => server 02:03:38.278781 'QUIT\r\n' 02:03:38.278918 Received DATA (on stdin) 02:03:38.278933 > 35 bytes data, server => client 02:03:38.278945 '221 curl ESMTP server signing off\r\n' 02:03:38.278990 ====> Client disconnect 02:03:38.279111 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3006 From: different To: another body === End of file stdin-for-3006 === Start of file valgrind3006 ==166435== ==166435== Process terminating with default action of signal 4 (SIGILL) ==166435== Illegal opcode at address 0x10B08D ==166435== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166435== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3006 test 3008...[--output-dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3009 ../src/curl -q --trace-ascii log/9/trace3009 --trace-config all --trace-time http://127.0.0.1:38509/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/9/stdout3009 2> log/9/stderr3009 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3011 ../src/curl -q --trace-ascii log/4/trace3011 --trace-config all --trace-time http://127.0.0.1:36813/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/4/tmp --create-dirs > log/4/stdout3011 2> log/4/stderr3011 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3012 ../src/curl -q --trace-ascii log/2/trace3012 --trace-config all --trace-time http://127.0.0.1:38781/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/2 > log/2/stdout3012 2> log/2/stderr3012 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3013 ../src/curl -q --trace-ascii log/6/trace3013 --trace-config all --trace-time http://127.0.0.1:39167/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/6 http://127.0.0.1:39167/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/6 > log/6/stdout3013 2> log/6/stderr3013 num-callers=16 --log-file=log/11/valgrind3008 ../src/curl -q --trace-ascii log/11/trace3008 --trace-config all --trace-time http://127.0.0.1:44137/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/11 > log/11/stdout3008 2> log/11/stderr3008 3008: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 3008 === Start of file http_server.log 02:03:38.437285 ====> Client connect 02:03:38.437323 accept_connection 3 returned 4 02:03:38.437341 accept_connection 3 returned 0 02:03:38.437357 Read 93 bytes 02:03:38.437368 Process 93 bytes request 02:03:38.437382 Got request: GET /verifiedserver HTTP/1.1 02:03:38.437392 Are-we-friendly question received 02:03:38.437415 Wrote request (93 bytes) input to log/11/server.input 02:03:38.437433 Identifying ourselves as friends 02:03:38.437507 Response sent (56 bytes) and written to log/11/server.response 02:03:38.437519 special request received, no persistency 02:03:38.437528 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 3008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind3008 ==166611== ==166611== Process terminating with default action of signal 4 (SIGILL) ==166611== Illegal opcode at address 0x10B08D ==166611== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166611== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3008 test 3009...[--output-dir a non-existing directory] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3009 ../src/curl -q --trace-ascii log/9/trace3009 --trace-config all --trace-time http://127.0.0.1:38509/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/9/stdout3009 2> log/9/stderr3009 3009: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 3009 === Start of file http_server.log 02:03:38.590982 ====> Client connect 02:03:38.591015 accept_connection 3 returned 4 02:03:38.591032 accept_connection 3 returned 0 02:03:38.591045 Read 93 bytes 02:03:38.591057 Process 93 bytes request 02:03:38.591071 Got request: GET /verifiedserver HTTP/1.1 02:03:38.591080 Are-we-friendly question received 02:03:38.591108 Wrote request (93 bytes) input to log/9/server.input 02:03:38.591125 Identifying ourselves as friends 02:03:38.591196 Response sent (56 bytes) and written to log/9/server.response 02:03:38.591208 special request received, no persistency 02:03:38.591217 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 3009 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind3009 ==166692== ==166692== Process terminating with default action of signal 4 (SIGILL) ==166692== Illegal opcode at address 0x10B08D ==166692== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166692== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3009 test 3011...[--output-dir with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3011 ../src/curl -q --trace-ascii log/4/trace3011 --trace-config all --trace-time http://127.0.0.1:36813/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/4/tmp --create-dirs > log/4/stdout3011 2> log/4/stderr3011 3011: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 3011 === Start of file http_server.log 02:03:38.742798 ====> Client connect 02:03:38.742821 accept_connection 3 returned 4 02:03:38.742834 accept_connection 3 returned 0 02:03:38.742845 Read 93 bytes 02:03:38.742854 Process 93 bytes request 02:03:38.742866 Got request: GET /verifiedserver HTTP/1.1 02:03:38.742873 Are-we-friendly question received 02:03:38.742889 Wrote request (93 bytes) input to log/4/server.input 02:03:38.742902 Identifying ourselves as friends 02:03:38.742952 Response sent (56 bytes) and written to log/4/server.response 02:03:38.742960 special request received, no persistency 02:03:38.742968 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 3011 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind3011 ==166847== ==166847== Process terminating with default action of signal 4 (SIGILL) ==166847== Illegal opcode at address 0x10B08D ==166847== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166847== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3011 test 3012...[--output-dir with -J and -R] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3012 ../src/curl -q --trace-ascii log/2/trace3012 --trace-config all --trace-time http://127.0.0.1:38781/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/2 > log/2/stdout3012 2> log/2/stderr3012 3012: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 3012 === Start of file http_server.log 02:03:38.754109 ====> Client connect 02:03:38.754136 accept_connection 3 returned 4 02:03:38.754149 accept_connection 3 returned 0 02:03:38.754161 Read 93 bytes 02:03:38.754169 Process 93 bytes request 02:03:38.754181 Got request: GET /verifiedserver HTTP/1.1 02:03:38.754188 Are-we-friendly question received 02:03:38.754207 Wrote request (93 bytes) input to log/2/server.input 02:03:38.754220 Identifying ourselves as friends 02:03:38.754277 Response sent (56 bytes) and written to log/2/server.response 02:03:38.754286 special request received, no persistency 02:03:38.754294 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3014 ../src/curl -q --include --trace-ascii log/1/trace3014 --trace-config all --trace-time http://127.0.0.1:34215/1439 --write-out '%{num_headers}' > log/1/stdout3014 2> log/1/stderr3014 27.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 3012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind3012 ==166862== ==166862== Process terminating with default action of signal 4 (SIGILL) ==166862== Illegal opcode at address 0x10B08D ==166862== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166862== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3012 test 3013...[Two --output-dir with --next in between] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3013 ../src/curl -q --trace-ascii log/6/trace3013 --trace-config all --trace-time http://127.0.0.1:39167/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/6 http://127.0.0.1:39167/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/6 > log/6/stdout3013 2> log/6/stderr3013 3013: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 3013 === Start of file http_server.log 02:03:38.755697 ====> Client connect 02:03:38.755720 accept_connection 3 returned 4 02:03:38.755734 accept_connection 3 returned 0 02:03:38.755745 Read 93 bytes 02:03:38.755754 Process 93 bytes request 02:03:38.755765 Got request: GET /verifiedserver HTTP/1.1 02:03:38.755772 Are-we-friendly question received 02:03:38.755789 Wrote request (93 bytes) input to log/6/server.input 02:03:38.755803 Identifying ourselves as friends 02:03:38.755853 Response sent (57 bytes) and written to log/6/server.response 02:03:38.755861 special request received, no persistency 02:03:38.755869 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 3013 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file valgrind3013 ==166873== ==166873== Process terminating with default action of signal 4 (SIGILL) ==166873== Illegal opcode at address 0x10B08D ==166873== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166873== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3013 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3010 ./libtest/lib3010 127.0.0.1:40653/3010 > log/12/stdout3010 2> log/12/stderr3010 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3015 ../src/curl -q --include --trace-ascii log/11/trace3015 --trace-config all --trace-time http://127.0.0.1:44137/3015 -w "%{num_headers}\n" -L -o/dev/null > log/11/stdout3015 2> log/11/stderr3015 test 3014...[Check if %{num_headers} returns correct number of headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3014 ../src/curl -q --include --trace-ascii log/1/trace3014 --trace-config all --trace-time http://127.0.0.1:34215/1439 --write-out '%{num_headers}' > log/1/stdout3014 2> log/1/stderr3014 3014: stdout FAILED: --- log/1/check-expected 2024-12-15 02:03:38.997246741 +0000 +++ log/1/check-generated 2024-12-15 02:03:38.997246741 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -4 == Contents of files in the log/1/ dir after test 3014 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] 4 === End of file check-expected === Start of file http_server.log 02:03:38.757465 ====> Client connect 02:03:38.757496 accept_connection 3 returned 4 02:03:38.757514 accept_connection 3 returned 0 02:03:38.757529 Read 93 bytes 02:03:38.757540 Process 93 bytes request 02:03:38.757553 Got request: GET /verifiedserver HTTP/1.1 02:03:38.757564 Are-we-friendly question received 02:03:38.757587 Wrote request (93 bytes) input to log/1/server.input 02:03:38.757605 Identifying ourselves as friends 02:03:38.757675 Response sent (56 bytes) and written to log/1/server.response 02:03:38.757687 special request received, no persistency 02:03:38.757697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 3014 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind3014 ==166875== ==166875== Process terminating with default action of signal 4 (SIGILL) ==166875== Illegal opcode at address 0x10B08D ==166875== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==166875== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3014 test 3010...[HTTP retry-after reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3010 ./libtest/lib3010 127.0.0.1:40653/3010 > log/12/stdout3010 2> log/12/stderr3010 3010: stdout FAILED: --- log/12/check-expected 2024-12-15 02:03:39.170583149 +0000 +++ log/12/check-generated 2024-12-15 02:03:39.170583149 +0000 @@ -1,2 +0,0 @@ -Retry-After 2[LF] -Retry-After 0[LF] == Contents of files in the log/12/ dir after test 3010 === Start of file check-expected Retry-After 2[LF] Retry-After 0[LF] === End of file check-expected === Start of file http_server.log 02:03:38.596019 ====> Client connect 02:03:38.596046 accept_connection 3 returned 4 02:03:38.596059 accept_connection 3 returned 0 02:03:38.596069 Read 93 bytes 02:03:38.596078 Process 93 bytes request 02:03:38.596087 Got request: GET /verifiedserver HTTP/1.1 02:03:38.596095 Are-we-friendly question received 02:03:38.596111 Wrote request (93 bytes) input to log/12/server.input 02:03:38.596124 Identifying ourselves as friends 02:03:38.596173 Response sent (56 bytes) and written to log/12/server.response 02:03:38.596181 special request received, no persistency 02:03:38.596189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 3010 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr3010 URL: 127.0.0.1:40653/3010 === End of file stderr3010 === Start of file valgrind3010 ==166704== ==166704== Process terminating with default action of signal 4 (SIGILL) ==166704== Illegal opcode at address 0x48EA16B ==166704== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==166704== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==166704== by 0x48EA16B: Curl_open (url.c:519) ==166704== by 0x4880EEF: curl_easy_init (easy.c:370) ==166704== by 0x10909C: UnknownInlinedFun (lib3010.c:36) ==166704== by 0x10909C: main (first.c:220) ==166704== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==166704== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166704== by 0x4A6D258: __tsearch (tsearch.c:337) ==166704== by 0x4A6D258: tsearch (tsearch.c:290) ==166704== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==166704== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==166704== by 0x497DBB2: add_alias (gconv_conf.c:178) ==166704== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==166704== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==166704== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==166704== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166704== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166704== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166704== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166704== by 0x498986B: setlocale (setlocale.c:337) ==166704== by 0x109058: main (first.c:160) ==166704== ==166704== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==166704== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166704== by 0x4A6D258: __tsearch (tsearch.c:337) ==166704== by 0x4A6D258: tsearch (tsearch.c:290) ==166704== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==166704== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==166704== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==166704== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166704== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166704== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166704== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166704== by 0x498986B: setlocale (setlocale.c:337) ==166704== by 0x109058: main (first.c:160) ==166704== ==166704== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==166704== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166704== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==166704== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==166704== by 0x497DBB2: add_alias (gconv_conf.c:178) ==166704== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==166704== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==166704== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==166704== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166704== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166704== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166704== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166704== by 0x498986B: setlocale (setlocale.c:337) ==166704== by 0x109058: main (first.c:160) ==166704== ==166704== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==166704== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166704== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==166704== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==166704== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==166704== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166704== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166704== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166704== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166704== by 0x498986B: setlocale (setlocale.c:337) ==166704== by 0x109058: main (first.c:160) ==166704== ==166704== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==166704== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==166704== by 0x48EA143: Curl_open (url.c:510) ==166704== by 0x4880EEF: curl_easy_init (easy.c:370) ==166704== by 0x10909C: UnknownInlinedFun (lib3010.c:36) ==166704== by 0x10909C: main (first.c:220) ==166704== ==166704== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==166704== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166704== by 0x4A6D258: __tsearch (tsearch.c:337) ==166704== by 0x4A6D258: tsearch (tsearch.c:290) ==166704== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==166704== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==166704== by 0x497DBB2: add_alias (gconv_conf.c:178) ==166704== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==166704== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==166704== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==166704== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166704== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166704== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166704== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166704== by 0x498986B: setlocale (setlocale.c:337) ==166704== by 0x109058: main (first.c:160) ==166704== ==166704== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==166704== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==166704== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==166704== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==166704== by 0x497DBB2: add_alias (gconv_conf.c:178) ==166704== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==166704== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==166704== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==166704== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==166704== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==166704== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==166704== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==166704== by 0x498986B: setlocale (setlocale.c:337) ==166704== by 0x109058: main (first.c:160) ==166704== === End of file valgrind3010 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3016 ../src/curl -q --output log/9/curl3016.out --include --trace-ascii log/9/trace3016 --trace-config all --trace-time file:///startdir/src/build-curl/tests/ > log/9/stdout3016 2> log/9/stderr3016 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3017 ../src/curl -q --output log/4/curl3017.out --include --trace log/4/trace3017 --trace-config all --trace-time mqtt://127.0.0.1:45425/3017 -m 3 > log/4/stdout3017 2> log/4/stderr3017 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3018 ../src/curl -q --output log/2/curl3018.out --include --trace log/2/trace3018 --trace-config all --trace-time mqtt://127.0.0.1:38335/3018 --max-filesize 11 > log/2/stdout3018 2> log/2/stderr3018 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3020 ../src/curl -q --output log/1/curl3020.out --include --trace-ascii log/1/trace3020 --trace-config all --trace-time --connect-to ::example.com:example.com http://example.com:34215/3020 > log/1/stdout3020 2> log/1/stderr3020 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3019 ../src/curl -q --output log/6/curl3019.out --include --trace-ascii log/6/trace3019 --trace-config all --trace-time --resolve 39167:example.com:127.0.0.1 http://example.com:39167/3019 > log/6/stdout3019 2> log/6/stderr3019 test 3015...[HTTP GET -w num_headers with redirected fetch (2 connects)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3015 ../src/curl -q --include --trace-ascii log/11/trace3015 --trace-config all --trace-time http://127.0.0.1:44137/3015 -w "%{num_headers}\n" -L -o/dev/null > log/11/stdout3015 2> log/11/stderr3015 3015: stdout FAILED: --- log/11/check-expected 2024-12-15 02:03:39.177249934 +0000 +++ log/11/check-generated 2024-12-15 02:03:39.177249934 +0000 @@ -1 +0,0 @@ -4[CR][LF] == Contents of files in the log/11/ dir after test 3015 === Start of file check-expected 4[CR][LF] === End of file check-expected === Start of file http_server.log 02:03:38.926534 ====> Client connect 02:03:38.926570 accept_connection 3 returned 4 02:03:38.926587 accept_connection 3 returned 0 02:03:38.926602 Read 93 bytes 02:03:38.926612 Process 93 bytes request 02:03:38.926627 Got request: GET /verifiedserver HTTP/1.1 02:03:38.926637 Are-we-friendly question received 02:03:38.926659 Wrote request (93 bytes) input to log/11/server.input 02:03:38.926677 Identifying ourselves as friends 02:03:38.926740 Response sent (56 bytes) and written to log/11/server.response 02:03:38.926751 special request received, no persistency 02:03:38.926760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44137... * Connected to 127.0.0.1 (127.0.0.1) port 44137 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44137 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74122 === End of file http_verify.out === Start of file server.cmd Testnum 3015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74122 === End of file server.response === Start of file valgrind3015 ==167061== ==167061== Process terminating with default action of signal 4 (SIGILL) ==167061== Illegal opcode at address 0x10B08D ==167061== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167061== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3015 test 3016...[GET a directory using file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3016 ../src/curl -q --output log/9/curl3016.out --include --trace-ascii log/9/trace3016 --trace-config all --trace-time file:///startdir/src/build-curl/tests/ > log/9/stdout3016 2> log/9/stderr3016 curl returned 132, when expecting 0 3016: exit FAILED == Contents of files in the log/9/ dir after test 3016 === Start of file server.cmd Testnum 3016 === End of file server.cmd === Start of file valgrind3016 ==167112== ==167112== Process terminating with default action of signal 4 (SIGILL) ==167112== Illegal opcode at address 0x10B08D ==167112== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167112== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3016 test 3017...[MQTT SUBSCRIBE with pathological PUBLISH length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3017 ../src/curl -q --output log/4/curl3017.out --include --trace log/4/trace3017 --trace-config all --trace-time mqtt://127.0.0.1:45425/3017 -m 3 > log/4/stdout3017 2> log/4/stderr3017 3017: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 3017 === Start of file server.cmd excessive-remaining TRUE Testnum 3017 === End of file server.cmd === Start of file valgrind3017 ==167168== ==167168== Process terminating with default action of signal 4 (SIGILL) ==167168== Illegal opcode at address 0x10B08D ==167168== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167168== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3017 test 3018...[MQTT SUBSCRIBE with PUBLISH larger than --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3018 ../src/curl -q --output log/2/curl3018.out --include --trace log/2/trace3018 --trace-config all --trace-time mqtt://127.0.0.1:38335/3018 --max-filesize 11 > log/2/stdout3018 2> log/2/stderr3018 3018: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 3018 === Start of file server.cmd Testnum 3018 === End of file server.cmd === Start of file valgrind3018 ==167185== ==167185== Process terminating with default action of signal 4 (SIGILL) ==167185== Illegal opcode at address 0x10B08D ==167185== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167185== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3018 test 3020...[HTTP with invalid --connect-to syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3020 ../src/curl -q --output log/1/curl3020.out --include --trace-ascii log/1/trace3020 --trace-config all --trace-time --connect-to ::example.com:example.com http://example.com:34215/3020 > log/1/stdout3020 2> log/1/stderr3020 curl returned 132, when expecting 49 3020: exit FAILED == Contents of files in the log/1/ dir after test 3020 === Start of file http_server.log 02:03:39.225159 ====> Client connect 02:03:39.225202 accept_connection 3 returned 4 02:03:39.225221 accept_connection 3 returned 0 02:03:39.225237 Read 93 bytes 02:03:39.225250 Process 93 bytes request 02:03:39.225265 Got request: GET /verifiedserver HTTP/1.1 02:03:39.225275 Are-we-friendly question received 02:03:39.225297 Wrote request (93 bytes) input to log/1/server.input 02:03:39.225314 Identifying ourselves as friends 02:03:39.225381 Response sent (56 bytes) and written to log/1/server.response 02:03:39.225391 special request received, no persistency 02:03:39.225400 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 3020 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind3020 ==167288== ==167288== Process terminating with default action of signal 4 (SIGILL) ==167288== Illegal opcode at address 0x10B08D ==167288== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167288== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3020 test 3019...[HTTP with invalid --resolve syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3019 ../src/curl -q --output log/6/curl3019.out --include --trace-ascii log/6/trace3019 --trace-config all --trace-time --resolve 39167:example.com:127.0.0.1 http://example.com:39167/3019 > log/6/stdout3019 2> log/6/stderr3019 curl returned 132, when expecting 49 3019: exit FAILED == CoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3026 ./libtest/lib3026 none > log/11/stdout3026 2> log/11/stderr3026 ntents of files in the log/6/ dir after test 3019 === Start of file http_server.log 02:03:39.218921 ====> Client connect 02:03:39.218950 accept_connection 3 returned 4 02:03:39.218966 accept_connection 3 returned 0 02:03:39.218980 Read 93 bytes 02:03:39.218991 Process 93 bytes request 02:03:39.219006 Got request: GET /verifiedserver HTTP/1.1 02:03:39.219016 Are-we-friendly question received 02:03:39.219039 Wrote request (93 bytes) input to log/6/server.input 02:03:39.219057 Identifying ourselves as friends 02:03:39.219128 Response sent (57 bytes) and written to log/6/server.response 02:03:39.219144 special request received, no persistency 02:03:39.219153 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 3019 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file valgrind3019 ==167257== ==167257== Process terminating with default action of signal 4 (SIGILL) ==167257== Illegal opcode at address 0x10B08D ==167257== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167257== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3019 * starts no server test 3026...[curl_global_init thread-safety] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3026 ./libtest/lib3026 none > log/11/stdout3026 2> log/11/stderr3026 lib3026 returned 132, when expecting 0 3026: exit FAILED == Contents of files in the log/11/ dir after test 3026 === Start of file server.cmd Testnum 3026 === End of file server.cmd === Start of file stderr3026 URL: none === End of file stderr3026 === Start of file valgrind3026 ==167406== ==167406== Process terminating with default action of signal 4 (SIGILL) ==167406== Illegal opcode at address 0x491FA2E ==167406== at 0x491FA2E: formatf.constprop.3 (mprintf.c:809) ==167406== by 0x48BA15A: curl_mvsnprintf (mprintf.c:1075) ==167406== by 0x48BA23B: curl_msnprintf (mprintf.c:1095) ==167406== by 0x48F7140: UnknownInlinedFun (version.c:96) ==167406== by 0x48F7140: curl_version_info (version.c:653) ==167406== by 0x109076: UnknownInlinedFun (lib3026.c:135) ==167406== by 0x109076: main (first.c:220) ==167406== 408 bytes in 17 blocks are possibly lost in loss record 9 of 29 ==167406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167406== by 0x4A6D258: __tsearch (tsearch.c:337) ==167406== by 0x4A6D258: tsearch (tsearch.c:290) ==167406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167406== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167406== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167406== by 0x498986B: setlocale (setlocale.c:337) ==167406== by 0x109047: main (first.c:160) ==167406== ==167406== 552 bytes in 23 blocks are possibly lost in loss record 11 of 29 ==167406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167406== by 0x4A6D258: __tsearch (tsearch.c:337) ==167406== by 0x4A6D258: tsearch (tsearch.c:290) ==167406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167406== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167406== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167406== by 0x498986B: setlocale (setlocale.c:337) ==167406== by 0x109047: main (first.c:160) ==167406== ==167406== 681 bytes in 17 blocks are possibly lost in loss record 14 of 29 ==167406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167406== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167406== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167406== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167406== by 0x498986B: setlocale (setlocale.c:337) ==167406== by 0x109047: main (first.c:160) ==167406== ==167406== 1,018 bytes in 23 blocks are possibly lost in loss record 19 of 29 ==167406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167406== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167406== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167406== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167406== by 0x498986B: setlocale (setlocale.c:337) ==167406== by 0x109047: main (first.c:160) ==167406== ==167406== 11,664 bytes in 486 blocks are possibly lost in loss record 26 of 29 ==167406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167406== by 0x4A6D258: __tsearch (tsearch.c:337) ==167406== by 0x4A6D258: tsearch (tsearch.c:290) ==167406== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167406== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167406== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167406== by 0x498986B: setlocale (setlocale.c:337) ==167406== by 0x109047: main (first.c:160) ==167406== ==167406== 18,800 bytes in 486 blocks are possibly lost in loss record 28 of 29 ==167406== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167406== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167406== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167406== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167406== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167406== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167406== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167406== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167406== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_oncCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3031 ../src/curl -q --output log/6/curl3031.out --include --trace-ascii log/6/trace3031 --trace-config all --trace-time http://127.0.0.1:39167/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/6/tmp/out.txt --create-dirs > log/6/stdout3031 2> log/6/stderr3031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3025 ./libtest/lib3025 http://127.0.0.1:40653/3025 > log/12/stdout3025 2> log/12/stderr3025 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3030 ../src/curl -q --output log/1/curl3030.out --include --trace-ascii log/1/trace3030 --trace-config all --trace-time -D log/1/heads3030 http://127.0.0.1:34215/3030 http://127.0.0.1:34215/3030 > log/1/stdout3030 2> log/1/stderr3030 e.c:143) ==167406== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167406== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167406== by 0x498986B: setlocale (setlocale.c:337) ==167406== by 0x109047: main (first.c:160) ==167406== === End of file valgrind3026 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3029 ../src/curl -q --output log/2/curl3029.out --include --trace-ascii log/2/trace3029 --trace-config all --trace-time -D log/2/heads3029 http://127.0.0.1:38781/3029 http://127.0.0.1:38781/3029 --next -D log/2/heads3029 http://127.0.0.1:38781/3029 > log/2/stdout3029 2> log/2/stderr3029 test 3025...[CURLOPT_HTTP200ALIASES] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3025 ./libtest/lib3025 http://127.0.0.1:40653/3025 > log/12/stdout3025 2> log/12/stderr3025 3025: data FAILED: --- log/12/check-expected 2024-12-15 02:03:40.010598047 +0000 +++ log/12/check-generated 2024-12-15 02:03:40.010598047 +0000 @@ -1,4 +0,0 @@ -ICY 200 OK[LF] -Content-Length: 7[LF] -[LF] -MooMoo[LF] == Contents of files in the log/12/ dir after test 3025 === Start of file check-expected ICY 200 OK[LF] Content-Length: 7[LF] [LF] MooMoo[LF] === End of file check-expected === Start of file http_server.log 02:03:39.409322 ====> Client connect 02:03:39.409351 accept_connection 3 returned 4 02:03:39.409364 accept_connection 3 returned 0 02:03:39.409375 Read 93 bytes 02:03:39.409383 Process 93 bytes request 02:03:39.409396 Got request: GET /verifiedserver HTTP/1.1 02:03:39.409403 Are-we-friendly question received 02:03:39.409421 Wrote request (93 bytes) input to log/12/server.input 02:03:39.409434 Identifying ourselves as friends 02:03:39.409489 Response sent (56 bytes) and written to log/12/server.response 02:03:39.409498 special request received, no persistency 02:03:39.409510 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 3025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr3025 URL: http://127.0.0.1:40653/3025 === End of file stderr3025 === Start of file valgrind3025 ==167445== ==167445== Process terminating with default action of signal 4 (SIGILL) ==167445== Illegal opcode at address 0x48EA16B ==167445== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==167445== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==167445== by 0x48EA16B: Curl_open (url.c:519) ==167445== by 0x4880EEF: curl_easy_init (easy.c:370) ==167445== by 0x10908F: UnknownInlinedFun (lib3025.c:39) ==167445== by 0x10908F: main (first.c:220) ==167445== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==167445== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167445== by 0x4A6D258: __tsearch (tsearch.c:337) ==167445== by 0x4A6D258: tsearch (tsearch.c:290) ==167445== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167445== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167445== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167445== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167445== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167445== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167445== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167445== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167445== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167445== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167445== by 0x498986B: setlocale (setlocale.c:337) ==167445== by 0x10904B: main (first.c:160) ==167445== ==167445== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==167445== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167445== by 0x4A6D258: __tsearch (tsearch.c:337) ==167445== by 0x4A6D258: tsearch (tsearch.c:290) ==167445== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167445== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167445== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167445== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167445== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167445== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167445== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167445== by 0x498986B: setlocale (setlocale.c:337) ==167445== by 0x10904B: main (first.c:160) ==167445== ==167445== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==167445== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167445== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167445== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167445== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167445== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167445== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167445== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167445== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167445== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167445== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167445== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167445== by 0x498986B: setlocale (setlocale.c:337) ==167445== by 0x10904B: main (first.c:160) ==167445== ==167445== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==167445== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167445== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167445== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167445== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167445== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167445== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167445== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167445== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167445== by 0x498986B: setlocale (setlocale.c:337) ==167445== by 0x10904B: main (first.c:160) ==167445== ==167445== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==167445== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==167445== by 0x48EA143: Curl_open (url.c:510) ==167445== by 0x4880EEF: curl_easy_init (easy.c:370) ==167445== by 0x10908F: UnknownInlinedFun (lib3025.c:39) ==167445== by 0x10908F: main (first.c:220) ==167445== ==167445== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==167445== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167445== by 0x4A6D258: __tsearch (tsearch.c:337) ==167445== by 0x4A6D258: tsearch (tsearch.c:290) ==167445== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167445== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167445== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167445== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167445== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167445== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167445== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167445== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167445== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167445== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167445== by 0x498986B: setlocale (setlocale.c:337) ==167445== by 0x10904B: main (first.c:160) ==167445== ==167445== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==167445== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167445== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167445== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167445== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167445== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167445== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167445== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167445== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167445== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167445== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167445== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167445== by 0x498986B: setlocale (setlocale.c:337) ==167445== by 0x10904B: main (first.c:160) ==167445== === End of file valgrind3025 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3028 ../src/curl -q --output log/4/curl3028.out --include --trace-ascii log/4/trace3028 --trace-config all --trace-time --haproxy-protocol http://127.0.0.1:36813/page --proxytunnel -x 127.0.0.1:45699 > log/4/stdout3028 2> log/4/stderr3028 test 3030...[HTTP with multiple transfers in one -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3030 ../src/curl -q --output log/1/curl3030.out --include --trace-ascii log/1/trace3030 --trace-config all --trace-time -D log/1/heads3030 http://127.0.0.1:34215/3030 http://127.0.0.1:34215/3030 > log/1/stdout3030 2> log/1/stderr3030 3030: data FAILED: --- log/1/check-expected 2024-12-15 02:03:40.017264832 +0000 +++ log/1/check-generated 2024-12-15 02:03:40.017264832 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/1/ dir after test 3030 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file http_server.log 02:03:39.706209 ====> Client connect 02:03:39.706237 accept_connection 3 returned 4 02:03:39.706253 accept_connection 3 returned 0 02:03:39.706267 Read 93 bytes 02:03:39.706277 Process 93 bytes request 02:03:39.706288 Got request: GET /verifiedserver HTTP/1.1 02:03:39.706297 Are-we-friendly question received 02:03:39.706318 Wrote request (93 bytes) input to log/1/server.input 02:03:39.706335 Identifying ourselves as friends 02:03:39.706399 Response sent (56 bytes) and written to log/1/server.response 02:03:39.706411 special request received, no persistency 02:03:39.706420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34215... * Connected to 127.0.0.1 (127.0.0.1) port 34215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34215 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74132 === End of file http_verify.out === Start of file server.cmd Testnum 3030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74132 === End of file server.response === Start of file valgrind3030 ==167644== ==167644== Process terminating with default action of signal 4 (SIGILL) ==167644== Illegal opcode at address 0x10B08D ==167644== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167644== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3030 test 3029...[HTTP with multiple -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3029 ../src/curl -q --output log/2/curl3029.out --include --trace-ascii log/2/trace3029 --trace-config all --trace-time -D log/2/heads3029 http://127.0.0.1:38781/3029 http://127.0.0.1:38781/3029 --next -D log/2/heads3029 http://127.0.0.1:38781/3029 > log/2/stdout3029 2> log/2/stderr3029 3029: data FAILED: --- log/2/check-expected 2024-12-15 02:03:40.023931617 +0000 +++ log/2/check-generated 2024-12-15 02:03:40.023931617 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/2/ dir after test 3029 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file http_server.log 02:03:39.704997 ====> Client connect 02:03:39.705030 accept_connection 3 returned 4 02:03:39.705046 accept_connection 3 returned 0 02:03:39.705059 Read 93 bytes 02:03:39.705070 Process 93 bytes request 02:03:39.705083 Got request: GET /verifiedserver HTTP/1.1 02:03:39.705093 Are-we-friendly question received 02:03:39.705119 Wrote request (93 bytes) input to log/2/server.input 02:03:39.705135 Identifying ourselves as friends 02:03:39.705251 Response sent (56 bytes) and written to log/2/server.response 02:03:39.705262 special request received, no persistency 02:03:39.705271 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38781... * Connected to 127.0.0.1 (127.0.0.1) port 38781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38781 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76727 === End of file http_verify.out === Start of file server.cmd Testnum 3029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76727 === End of file server.response === Start of file valgrind3029 ==167641== ==167641== Process terminating with default action of signal 4 (SIGILL) ==167641== Illegal opcode at address 0x10B08D ==167641== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167641== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3029 test 3031...[--output-dir with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3031 ../src/curl -q --output log/6/curl3031.out --include --trace-ascii log/6/trace3031 --trace-config all --trace-time http://127.0.0.1:39167/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/6/tmp/out.txt --create-dirs > log/6/stdout3031 2> log/6/stderr3031 3031: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 3031 === Start of file http_server.log 02:03:39.708746 ====> Client connect 02:03:39.708772 accept_connection 3 returned 4 02:03:39.708788 accept_connection 3 returned 0 02:03:39.708799 Read 93 bytes 02:03:39.708807 Process 93 bytes request 02:03:39.708816 Got request: GET /verifiedserver HTTP/1.1 02:03:39.708824 Are-we-friendly question received 02:03:39.708896 Wrote request (93 bytes) input to log/6/server.input 02:03:39.708928 Identifying ourselves as friends 02:03:39.708993 Response sent (57 bytes) and written to log/6/server.response 02:03:39.709004 special request received, no persistency 02:03:39.709013 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 3031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file valgrind3031 ==167659== ==167659== Process terminating with default action of signal 4 (SIGILL) ==167659== Illegal opcode at address 0x10B08D ==167659== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167659== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3031 test 3028...[HTTP GET when PROXY Protocol enabled behind a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3028 ../src/curl -q --output log/4/curl3028.out --include --trace-ascii log/4/trace3028 --trace-config all --trace-time --haproxy-protocol http://127.0.0.1:36813/page --proxytunnel -x 127.0.0.1:45699 > log/4/stdout3028 2> log/4/stderr3028 3028: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 3028 === Start of file http2_server.log 02:03:39.717760 ====> Client connect 02:03:39.717845 accept_connection 3 returned 4 02:03:39.717864 accept_connection 3 returned 0 02:03:39.717878 Read 93 bytes 02:03:39.717888 Process 93 bytes request 02:03:39.717903 Got request: GET /verifiedserver HTTP/1.1 02:03:39.717913 Are-we-friendly question received 02:03:39.717936 Wrote request (93 bytes) input to log/4/proxy.input 02:03:39.717953 Identifying ourselves as friends 02:03:39.718027 Response sent (56 bytes) and written to log/4/proxy.response 02:03:39.718039 special request received, no persistency 02:03:39.718049 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45699... * Connected to 127.0.0.1 (127.0.0.1) port 45699 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45699 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 80241 === End of file http2_verify.out === Start of file http_server.log 02:03:39.696769 ====> Client connect 02:03:39.696799 accept_connection 3 returned 4 02:03:39.696815 accept_connection 3 returned 0 02:03:39.696828 Read 93 bytes 02:03:39.696848 Process 93 bytes request 02:03:39.696864 Got request: GET /verifiedserver HTTP/1.1 02:03:39.696874 Are-we-friendly question received 02:03:39.696898 Wrote request (93 bytes) input to log/4/server.input 02:03:39.696916 Identifying ourselves as friends 02:03:39.696977 Response sent (56 bytes) and written to log/4/server.response 02:03:39.696987 special request received, no persistency 02:03:39.696995 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 80241 === End of file proxy.respoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3027 ./libtest/lib3027 ftp://127.0.0.1:41473/3027 > log/9/stdout3027 2> log/9/stderr3027 nse === Start of file server.cmd Testnum 3028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file valgrind3028 ==167699== ==167699== Process terminating with default action of signal 4 (SIGILL) ==167699== Illegal opcode at address 0x10B08D ==167699== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167699== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3028 test 3027...[Get a file via FTP but 550 after MDTM command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3027 ./libtest/lib3027 ftp://127.0.0.1:41473/3027 > log/9/stdout3027 2> log/9/stderr3027 3027: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 3027 === Start of file ftp_server.log 02:03:39.361507 ====> Client connect 02:03:39.361653 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 02:03:39.362001 < "USER anonymous" 02:03:39.362036 > "331 We are happy you popped in![CR][LF]" 02:03:39.362192 < "PASS ftp@example.com" 02:03:39.362219 > "230 Welcome you silly person[CR][LF]" 02:03:39.362369 < "PWD" 02:03:39.362393 > "257 "/" is current directory[CR][LF]" 02:03:39.362511 < "EPSV" 02:03:39.362530 ====> Passive DATA channel requested by client 02:03:39.362540 DATA sockfilt for passive data channel starting... 02:03:39.363627 DATA sockfilt for passive data channel started (pid 167519) 02:03:39.363732 DATA sockfilt for passive data channel listens on port 41507 02:03:39.363762 > "229 Entering Passive Mode (|||41507|)[LF]" 02:03:39.363774 Client has been notified that DATA conn will be accepted on port 41507 02:03:39.363961 Client connects to port 41507 02:03:39.363985 ====> Client established passive DATA connection on port 41507 02:03:39.364031 < "TYPE I" 02:03:39.364051 > "200 I modify TYPE as you wanted[CR][LF]" 02:03:39.364172 < "SIZE verifiedserver" 02:03:39.364200 > "213 18[CR][LF]" 02:03:39.364312 < "RETR verifiedserver" 02:03:39.364337 > "150 Binary junk (18 bytes).[CR][LF]" 02:03:39.364395 =====> Closing passive DATA connection... 02:03:39.364408 Server disconnects passive DATA connection 02:03:39.364586 Server disconnected passive DATA connection 02:03:39.364608 DATA sockfilt for passive data channel quits (pid 167519) 02:03:39.364759 DATA sockfilt for passive data channel quit (pid 167519) 02:03:39.364861 =====> Closed passive DATA connection 02:03:39.364882 > "226 File transfer complete[CR][LF]" 02:03:39.405536 < "QUIT" 02:03:39.405637 > "221 bye bye baby[CR][LF]" 02:03:39.407233 MAIN sockfilt said DISC 02:03:39.407272 ====> Client disconnected 02:03:39.407336 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 02:03:39.561547 ====> Client connect 02:03:39.561801 Received DATA (on stdin) 02:03:39.561827 > 160 bytes data, server => client 02:03:39.561840 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 02:03:39.561852 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 02:03:39.561862 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 02:03:39.561931 < 16 bytes data, client => server 02:03:39.561944 'USER anonymous\r\n' 02:03:39.562159 Received DATA (on stdin) 02:03:39.562177 > 33 bytes data, server => client 02:03:39.562189 '331 We are happy you popped in!\r\n' 02:03:39.562243 < 22 bytes data, client => server 02:03:39.562256 'PASS ftp@example.com\r\n' 02:03:39.562352 Received DATA (on stdin) 02:03:39.562369 > 30 bytes data, server => client 02:03:39.562381 '230 Welcome you silly person\r\n' 02:03:39.562434 < 5 bytes data, client => server 02:03:39.562447 'PWD\r\n' 02:03:39.562527 Received DATA (on stdin) 02:03:39.562536 > 30 bytes data, server => client 02:03:39.562544 '257 "/" is current directory\r\n' 02:03:39.562588 < 6 bytes data, client => server 02:03:39.562596 'EPSV\r\n' 02:03:39.563912 Received DATA (on stdin) 02:03:39.563923 > 38 bytes data, server => client 02:03:39.563932 '229 Entering Passive Mode (|||41507|)\n' 02:03:39.564031 < 8 bytes data, client => server 02:03:39.564044 'TYPE I\r\n' 02:03:39.564185 Received DATA (on stdin) 02:03:39.564195 > 33 bytes data, server => client 02:03:39.564204 '200 I modify TYPE as you wanted\r\n' 02:03:39.564245 < 21 bytes data, client => server 02:03:39.564255 'SIZE verifiedserver\r\n' 02:03:39.564334 Received DATA (on stdin) 02:03:39.564343 > 8 bytes data, server => client 02:03:39.564351 '213 18\r\n' 02:03:39.564389 < 21 bytes data, client => server 02:03:39.564397 'RETR verifiedserver\r\n' 02:03:39.564616 Received DATA (on stdin) 02:03:39.564626 > 29 bytes data, server => client 02:03:39.564635 '150 Binary junk (18 bytes).\r\n' 02:03:39.565017 Received DATA (on stdin) 02:03:39.565028 > 28 bytes data, server => client 02:03:39.565037 '226 File transfer complete\r\n' 02:03:39.605286 < 6 bytes data, client => server 02:03:39.605336 'QUIT\r\n' 02:03:39.606552 Received DATA (on stdin) 02:03:39.606573 > 18 bytes data, server => client 02:03:39.606585 '221 bye bye baby\r\n' 02:03:39.607315 ====> Client disconnect 02:03:39.607475 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 02:03:39.563602 Running IPv4 version 02:03:39.563653 Listening on port 41507 02:03:39.563691 Wrote pid 167519 to log/9/server/ftp_sockdata.pid 02:03:39.563706 Received PING (on stdin) 02:03:39.563790 Received PORT (on stdin) 02:03:39.564060 ====> Client connect 02:03:39.564542 Received DATA (on stdin) 02:03:39.564553 > 18 bytes data, server => client 02:03:39.564561 'WE ROOLZ: 160589\r\n' 02:03:39.564585 Received DISC (on stdin) 02:03:39.564595 ====> Client forcibly disconnected 02:03:39.564751 Received QUIT (on stdin) 02:03:39.564760 quits 02:03:39.564799 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 Permission denied Testnum 3027 === End of file server.cmd === Start of file stderr3027 URL: ftp://127.0.0.1:41473/3027 === End of file stderr3027 === Start of file valgrind3027 ==167521== ==167521== Process terminating with default action of signal 4 (SIGILL) ==167521== Illegal opcode at address 0x48EA16B ==167521== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==167521== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==167521== by 0x48EA16B: Curl_open (url.c:519) ==167521== by 0x4880EEF: curl_easy_init (easy.c:370) ==167521== by 0x1090AB: UnknownInlinedFun (lib3027.c:38) ==167521== by 0x1090AB: main (first.c:220) ==167521== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==167521== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167521== by 0x4A6D258: __tsearch (tsearch.c:337) ==167521== by 0x4A6D258: tsearch (tsearch.c:290) ==167521== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167521== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167521== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167521== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167521== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167521== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167521== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167521== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167521== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167521== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167521== by 0x498986B: setlocale (setlocale.c:337) ==167521== by 0x109056: main (first.c:160) ==167521== ==167521== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==167521== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167521== by 0x4A6D258: __tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3203 ../src/curl -q --trace-ascii log/1/trace3203 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/1/test3203.dir/ > log/1/stdout3203 2> log/1/stderr3203 search (tsearch.c:337) ==167521== by 0x4A6D258: tsearch (tsearch.c:290) ==167521== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167521== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167521== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167521== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167521== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167521== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167521== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167521== by 0x498986B: setlocale (setlocale.c:337) ==167521== by 0x109056: main (first.c:160) ==167521== ==167521== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==167521== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167521== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167521== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167521== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167521== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167521== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167521== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167521== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167521== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167521== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167521== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167521== by 0x498986B: setlocale (setlocale.c:337) ==167521== by 0x109056: main (first.c:160) ==167521== ==167521== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==167521== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167521== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167521== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167521== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167521== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167521== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167521== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167521== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167521== by 0x498986B: setlocale (setlocale.c:337) ==167521== by 0x109056: main (first.c:160) ==167521== ==167521== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==167521== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==167521== by 0x48EA143: Curl_open (url.c:510) ==167521== by 0x4880EEF: curl_easy_init (easy.c:370) ==167521== by 0x1090AB: UnknownInlinedFun (lib3027.c:38) ==167521== by 0x1090AB: main (first.c:220) ==167521== ==167521== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==167521== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167521== by 0x4A6D258: __tsearch (tsearch.c:337) ==167521== by 0x4A6D258: tsearch (tsearch.c:290) ==167521== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167521== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167521== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167521== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167521== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167521== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167521== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167521== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167521== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167521== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167521== by 0x498986B: setlocale (setlocale.c:337) ==167521== by 0x109056: main (first.c:160) ==167521== ==167521== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==167521== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167521== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167521== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167521== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167521== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167521== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167521== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167521== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167521== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167521== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167521== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167521== by 0x498986B: setlocale (setlocale.c:337) ==167521== by 0x109056: main (first.c:160) ==167521== === End of file valgrind3027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3201 ../src/curl -q --output log/6/curl3201.out --include --trace-ascii log/6/trace3201 --trace-config all --trace-time http://127.0.0.1:39167/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/6/stdout3201 2> log/6/stderr3201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3100 ./libtest/lib3100 rtsp://127.0.0.1:35051/3100 > log/11/stdout3100 2> log/11/stderr3100 test 3203...[GET a directory using file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3203 ../src/curl -q --trace-ascii log/1/trace3203 --trace-config all --trace-time file://localhost/startdir/src/build-curl/tests/log/1/test3203.dir/ > log/1/stdout3203 2> log/1/stderr3203 3203: stdout FAILED: --- log/1/check-expected 2024-12-15 02:03:40.487273168 +0000 +++ log/1/check-generated 2024-12-15 02:03:40.487273168 +0000 @@ -1 +0,0 @@ -dir-listing-test.txt[LF] == Contents of files in the log/1/ dir after test 3203 === Start of file check-expected dir-listing-test.txt[LF] === End of file check-expected === Start of file server.cmd Testnum 3203 === End of file server.cmd === Start of file valgrind3203 ==167958== ==167958== Process terminating with default action of signal 4 (SIGILL) ==167958== Illegal opcode at address 0x10B08D ==167958== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==167958== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3203 test 3201...[HTTP GET when PROXY Protocol enabled and spoofed client IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3201 ../src/curl -q --output log/6/curl3201.out --include --trace-ascii log/6/trace3201 --trace-config all --trace-time http://127.0.0.1:39167/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/6/stdout3201 2> log/6/stderr3201 3201: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir after test 3201 === Start of file http_server.log 02:03:40.249071 ====> Client connect 02:03:40.249098 accept_connection 3 returned 4 02:03:40.249114 accept_connection 3 returned 0 02:03:40.249127 Read 93 bytes 02:03:40.249138 Process 93 bytes request 02:03:40.249154 Got request: GET /verifiedserver HTTP/1.1 02:03:40.249165 Are-we-friendly question received 02:03:40.249186 Wrote request (93 bytes) input to log/6/server.input 02:03:40.249202 Identifying ourselves as friends 02:03:40.249269 Response sent (57 bytes) and written to log/6/server.response 02:03:40.249279 special request received, no persistency 02:03:40.249289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39167... * Connected to 127.0.0.1 (127.0.0.1) port 39167 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39167 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154001 === End of file http_verify.out === Start of file server.cmd Testnum 3201 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154001 === End of file server.response === Start of file valgrind3201 ==168009== ==168009== Process terminating with default action of signal 4 (SIGILL) ==168009== Illegal opcode at address 0x10B08D ==168009== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==168009== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3201 test 3100...[RTSP Authentication check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3100 ./libtest/lib3100 rtsp://127.0.0.1:35051/3100 > log/11/stdout3100 2> log/11/stderr3100 3100: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ dir after test 3100 === Start of file rtsp_server.log 02:03:39.999082 ====> Client connect 02:03:39.999140 Read 93 bytes 02:03:39.999153 ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:35051 User-Agent: curl/8.11.1 Accept: */* ] 02:03:39.999170 Got request: GET /verifiedserver HTTP/1.1 02:03:39.999181 Are-we-friendly question received 02:03:39.999204 Wrote request (93 bytes) input to log/11/server.input 02:03:39.999222 Send response number -2 part 0 02:03:39.999232 Identifying ourselves as friends 02:03:39.999275 Sent off 69 bytes 02:03:39.999297 Response sent (69 bytes) and written to log/11/server.response 02:03:39.999308 special request received, no persistency 02:03:39.999318 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:35051... * Connected to 127.0.0.1 (127.0.0.1) port 35051 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35051 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 106779 === End of file rtsp_verify.out === Start of file server.cmd Testnum 3100 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 106779 === End of file server.response === Start of file stderr3100 URL: rtsp://127.0.0.1:35051/3100 === End of file stderr3100 === Start of file valgrind3100 ==167865== ==167865== Process terminating with default action of signal 4 (SIGILL) ==167865== Illegal opcode at address 0x48EA16B ==167865== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==167865== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==167865== by 0x48EA16B: Curl_open (url.c:519) ==167865== by 0x4880EEF: curl_easy_init (easy.c:370) ==167865== by 0x10908E: UnknownInlinedFun (lib3100.c:37) ==167865== by 0x10908E: main (first.c:220) ==167865== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==167865== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167865== by 0x4A6D258: __tsearch (tsearch.c:337) ==167865== by 0x4A6D258: tsearch (tsearch.c:290) ==167865== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167865== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167865== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167865== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167865== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167865== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167865== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167865== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167865== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167865== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167865== by 0x498986B: setlocale (setlocale.c:337) ==167865== by 0x10904B: main (first.c:160) ==167865== ==167865== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==167865== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167865== by 0x4A6D258: __tsearch (tsearch.c:337) ==167865== by 0x4A6D258: tsearch (tsearch.c:290) ==167865== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167865== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167865== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167865== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167865== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167865== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167865== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167865== by 0x498986B: setlocale (setlocale.c:337) ==167865== by 0x10904B: main (first.c:160) ==167865== ==167865== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==167865== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167865== by 0x497D829: add_alias2.part.0 (gconv_coCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3204 ../src/curl -q --output log/9/curl3204.out --include --trace-ascii log/9/trace3204 --trace-config all --trace-time http://127.0.0.1:38509/3204 --etag-compare log/9/etag3204 --etag-save log/9/etag3204 > log/9/stdout3204 2> log/9/stderr3204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3103 ./libtest/lib3103 http://127.0.0.1:36813/3103 > log/4/stdout3103 2> log/4/stderr3103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3101 ./libtest/lib3101 http://127.0.0.1:40653/3101 > log/12/stdout3101 2> log/12/stderr3101 nf.c:132) ==167865== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167865== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167865== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167865== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167865== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167865== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167865== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167865== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167865== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167865== by 0x498986B: setlocale (setlocale.c:337) ==167865== by 0x10904B: main (first.c:160) ==167865== ==167865== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==167865== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167865== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167865== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167865== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167865== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167865== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167865== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167865== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167865== by 0x498986B: setlocale (setlocale.c:337) ==167865== by 0x10904B: main (first.c:160) ==167865== ==167865== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==167865== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==167865== by 0x48EA143: Curl_open (url.c:510) ==167865== by 0x4880EEF: curl_easy_init (easy.c:370) ==167865== by 0x10908E: UnknownInlinedFun (lib3100.c:37) ==167865== by 0x10908E: main (first.c:220) ==167865== ==167865== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==167865== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167865== by 0x4A6D258: __tsearch (tsearch.c:337) ==167865== by 0x4A6D258: tsearch (tsearch.c:290) ==167865== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167865== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167865== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167865== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167865== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167865== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167865== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167865== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167865== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167865== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167865== by 0x498986B: setlocale (setlocale.c:337) ==167865== by 0x10904B: main (first.c:160) ==167865== ==167865== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==167865== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167865== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167865== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167865== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167865== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167865== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167865== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167865== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167865== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167865== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167865== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167865== by 0x498986B: setlocale (setlocale.c:337) ==167865== by 0x10904B: main (first.c:160) ==167865== === End of file valgrind3100 test 3204...[Use --etag-compare and --etag-save on an existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3204 ../src/curl -q --output log/9/curl3204.out --include --trace-ascii log/9/trace3204 --trace-config all --trace-time http://127.0.0.1:38509/3204 --etag-compare log/9/etag3204 --etag-save log/9/etag3204 > log/9/stdout3204 2> log/9/stderr3204 3204: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir after test 3204 === Start of file etag3204 "21025-dc7-39462498" === End of file etag3204 === Start of file http_server.log 02:03:40.422072 ====> Client connect 02:03:40.422098 accept_connection 3 returned 4 02:03:40.422112 accept_connection 3 returned 0 02:03:40.422122 Read 93 bytes 02:03:40.422131 Process 93 bytes request 02:03:40.422145 Got request: GET /verifiedserver HTTP/1.1 02:03:40.422153 Are-we-friendly question received 02:03:40.422203 Wrote request (93 bytes) input to log/9/server.input 02:03:40.422224 Identifying ourselves as friends 02:03:40.422293 Response sent (56 bytes) and written to log/9/server.response 02:03:40.422304 special request received, no persistency 02:03:40.422313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38509... * Connected to 127.0.0.1 (127.0.0.1) port 38509 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38509 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74126 === End of file http_verify.out === Start of file server.cmd Testnum 3204 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74126 === End of file server.response === Start of file valgrind3204 ==168173== ==168173== Process terminating with default action of signal 4 (SIGILL) ==168173== Illegal opcode at address 0x10B08D ==168173== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==168173== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3204 test 3103...[CURLOPT_COOKIELIST without expiry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3103 ./libtest/lib3103 http://127.0.0.1:36813/3103 > log/4/stdout3103 2> log/4/stderr3103 3103: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ dir after test 3103 === Start of file http_server.log 02:03:40.250073 ====> Client connect 02:03:40.250101 accept_connection 3 returned 4 02:03:40.250116 accept_connection 3 returned 0 02:03:40.250130 Read 93 bytes 02:03:40.250143 Process 93 bytes request 02:03:40.250155 Got request: GET /verifiedserver HTTP/1.1 02:03:40.250165 Are-we-friendly question received 02:03:40.250187 Wrote request (93 bytes) input to log/4/server.input 02:03:40.250204 Identifying ourselves as friends 02:03:40.250267 Response sent (56 bytes) and written to log/4/server.response 02:03:40.250279 special request received, no persistency 02:03:40.250288 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36813... * Connected to 127.0.0.1 (127.0.0.1) port 36813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36813 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74133 === End of file http_verify.out === Start of file server.cmd Testnum 3103 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74133 === End of file server.response === Start of file stderr3103 URL: http://127.0.0.1:36813/3103 === End of file stderr3103 === Start of file valgrind3103 ==168014== ==168014== Process terminating with default action of signal 4 (SIGILL) ==168014== Illegal opcode at address 0x48EA16B ==168014== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==168014== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==168014== by 0x48EA16B: Curl_open (url.c:519) ==168014== by 0x4880EEF: curl_easy_init (easy.c:370) ==168014== by 0x1090A7: UnknownInlinedFun (lib3103.c:39) ==168014== by 0x1090A7: main (first.c:220) ==168014== 408 bytes in 17 blocks are possibly lost in loss record 604 of 656 ==168014== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==168014== by 0x4A6D258: __tsearch (tsearch.c:337) ==168014== by 0x4A6D258: tsearch (tsearch.c:290) ==168014== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==168014== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==168014== by 0x497DBB2: add_alias (gconv_conf.c:178) ==168014== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==168014== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==168014== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==168014== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==168014== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==168014== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==168014== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==168014== by 0x498986B: setlocale (setlocale.c:337) ==168014== by 0x10904E: main (first.c:160) ==168014== ==168014== 552 bytes in 23 blocks are possibly lost in loss record 609 of 656 ==168014== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==168014== by 0x4A6D258: __tsearch (tsearch.c:337) ==168014== by 0x4A6D258: tsearch (tsearch.c:290) ==168014== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==168014== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==168014== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==168014== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==168014== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==168014== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==168014== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==168014== by 0x498986B: setlocale (setlocale.c:337) ==168014== by 0x10904E: main (first.c:160) ==168014== ==168014== 681 bytes in 17 blocks are possibly lost in loss record 615 of 656 ==168014== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==168014== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==168014== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==168014== by 0x497DBB2: add_alias (gconv_conf.c:178) ==168014== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==168014== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==168014== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==168014== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==168014== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==168014== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==168014== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==168014== by 0x498986B: setlocale (setlocale.c:337) ==168014== by 0x10904E: main (first.c:160) ==168014== ==168014== 1,018 bytes in 23 blocks are possibly lost in loss record 629 of 656 ==168014== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==168014== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==168014== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==168014== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==168014== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==168014== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==168014== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==168014== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==168014== by 0x498986B: setlocale (setlocale.c:337) ==168014== by 0x10904E: main (first.c:160) ==168014== ==168014== 5,480 bytes in 1 blocks are definitely lost in loss record 649 of 656 ==168014== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==168014== by 0x48EA143: Curl_open (url.c:510) ==168014== by 0x4880EEF: curl_easy_init (easy.c:370) ==168014== by 0x1090A7: UnknownInlinedFun (lib3103.c:39) ==168014== by 0x1090A7: main (first.c:220) ==168014== ==168014== 11,664 bytes in 486 blocks are possibly lost in loss record 652 of 656 ==168014== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==168014== by 0x4A6D258: __tsearch (tsearch.c:337) ==168014== by 0x4A6D258: tsearch (tsearch.c:290) ==168014== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==168014== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==168014== by 0x497DBB2: add_alias (gconv_conf.c:178) ==168014== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==168014== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==168014== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==168014== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==168014== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==168014== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==168014== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==168014== by 0x498986B: setlocale (setlocale.c:337) ==168014== by 0x10904E: main (first.c:160) ==168014== ==168014== 18,800 bytes in 486 blocks are possibly lost in loss record 654 of 656 ==168014== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==168014== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==168014== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==168014== by 0x497DBB2: add_alias (gconv_conf.c:178) ==168014== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==168014== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==168014== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==168014== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==168014== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==168014== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==168014== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==168014== by 0x498986B: setlocale (setlocale.c:337) ==168014== by 0x10904E: main (first.c:160) ==168014== === End of file valgrind3103 test 3101...[HTTP auth without redirection protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3101 ./libtest/lib3101 http://127.0.0.1:40653/3101 > log/12/stdout3101 2> log/12/stderr3101 3101: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ dir after test 3101 === Start of file http_server.log 02:03:40.237611 ====> Client connect 02:03:40.237636 accept_connection 3 returned 4 02:03:40.237649 accept_connection 3 returned 0 02:03:40.237660 Read 93 bytes 02:03:40.237668 Process 93 bytes request 02:03:40.237680 Got request: GET /verifiedserver HTTP/1.1 02:03:40.237687 Are-we-friendly question received 02:03:40.237704 Wrote request (93 bytes) input to log/12/server.input 02:03:40.237718 Identifying ourselves as friends 02:03:40.237767 Response sent (56 bytes) and written to log/12/server.response 02:03:40.237775 special request received, no persistency 02:03:40.237782 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40653... * Connected to 127.0.0.1 (127.0.0.1) port 40653 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40653 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of fiCMD (0): ../src/curl --max-time 13 --output log/2/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:43749/verifiedserver" 2>log/2/http_ipv6_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3202 ../src/curl -q --output log/2/curl3202.out --include --trace-ascii log/2/trace3202 --trace-config all --trace-time -g "http://[::1]:43749/3202" --haproxy-clientip "2001:db8::" > log/2/stdout3202 2> log/2/stderr3202 le http_verify.log === Start of file http_verify.out WE ROOLZ: 74125 === End of file http_verify.out === Start of file server.cmd Testnum 3101 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74125 === End of file server.response === Start of file stderr3101 URL: http://127.0.0.1:40653/3101 === End of file stderr3101 === Start of file valgrind3101 ==167980== ==167980== Process terminating with default action of signal 4 (SIGILL) ==167980== Illegal opcode at address 0x48EA16B ==167980== at 0x48EA16B: UnknownInlinedFun (string_fortified.h:59) ==167980== by 0x48EA16B: UnknownInlinedFun (request.c:45) ==167980== by 0x48EA16B: Curl_open (url.c:519) ==167980== by 0x4880EEF: curl_easy_init (easy.c:370) ==167980== by 0x10908E: UnknownInlinedFun (lib3101.c:37) ==167980== by 0x10908E: main (first.c:220) ==167980== 408 bytes in 17 blocks are possibly lost in loss record 603 of 654 ==167980== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167980== by 0x4A6D258: __tsearch (tsearch.c:337) ==167980== by 0x4A6D258: tsearch (tsearch.c:290) ==167980== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167980== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167980== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167980== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167980== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167980== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167980== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167980== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167980== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167980== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167980== by 0x498986B: setlocale (setlocale.c:337) ==167980== by 0x10904B: main (first.c:160) ==167980== ==167980== 552 bytes in 23 blocks are possibly lost in loss record 608 of 654 ==167980== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167980== by 0x4A6D258: __tsearch (tsearch.c:337) ==167980== by 0x4A6D258: tsearch (tsearch.c:290) ==167980== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167980== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167980== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167980== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167980== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167980== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167980== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167980== by 0x498986B: setlocale (setlocale.c:337) ==167980== by 0x10904B: main (first.c:160) ==167980== ==167980== 681 bytes in 17 blocks are possibly lost in loss record 614 of 654 ==167980== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167980== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167980== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167980== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167980== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167980== by 0x497DD1F: gconv_parseconfdir (gconv_parseconfdir.h:139) ==167980== by 0x497DD1F: __gconv_read_conf (gconv_conf.c:480) ==167980== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167980== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167980== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167980== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167980== by 0x498986B: setlocale (setlocale.c:337) ==167980== by 0x10904B: main (first.c:160) ==167980== ==167980== 1,018 bytes in 23 blocks are possibly lost in loss record 628 of 654 ==167980== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167980== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167980== by 0x497DF3B: add_alias2 (gconv_conf.c:105) ==167980== by 0x497DF3B: __gconv_read_conf (gconv_conf.c:508) ==167980== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167980== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167980== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167980== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167980== by 0x498986B: setlocale (setlocale.c:337) ==167980== by 0x10904B: main (first.c:160) ==167980== ==167980== 5,480 bytes in 1 blocks are definitely lost in loss record 647 of 654 ==167980== at 0x484BC13: calloc (vg_replace_malloc.c:1675) ==167980== by 0x48EA143: Curl_open (url.c:510) ==167980== by 0x4880EEF: curl_easy_init (easy.c:370) ==167980== by 0x10908E: UnknownInlinedFun (lib3101.c:37) ==167980== by 0x10908E: main (first.c:220) ==167980== ==167980== 11,664 bytes in 486 blocks are possibly lost in loss record 650 of 654 ==167980== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167980== by 0x4A6D258: __tsearch (tsearch.c:337) ==167980== by 0x4A6D258: tsearch (tsearch.c:290) ==167980== by 0x497D877: add_alias2.part.0 (gconv_conf.c:142) ==167980== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167980== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167980== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167980== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167980== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167980== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167980== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167980== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167980== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167980== by 0x498986B: setlocale (setlocale.c:337) ==167980== by 0x10904B: main (first.c:160) ==167980== ==167980== 18,800 bytes in 486 blocks are possibly lost in loss record 652 of 654 ==167980== at 0x48447A8: malloc (vg_replace_malloc.c:446) ==167980== by 0x497D829: add_alias2.part.0 (gconv_conf.c:132) ==167980== by 0x497DBB2: add_alias2 (gconv_conf.c:176) ==167980== by 0x497DBB2: add_alias (gconv_conf.c:178) ==167980== by 0x497DBB2: read_conf_file.isra.0 (gconv_parseconfdir.h:101) ==167980== by 0x497DF71: gconv_parseconfdir (gconv_parseconfdir.h:170) ==167980== by 0x497DF71: __gconv_read_conf (gconv_conf.c:480) ==167980== by 0x49EE8FA: __pthread_once_slow.isra.0 (pthread_once.c:116) ==167980== by 0x49EE978: pthread_once@@GLIBC_2.34 (pthread_once.c:143) ==167980== by 0x497C99C: __gconv_compare_alias (gconv_db.c:692) ==167980== by 0x4986E9D: _nl_find_locale (findlocale.c:298) ==167980== by 0x498986B: setlocale (setlocale.c:337) ==167980== by 0x10904B: main (first.c:160) ==167980== === End of file valgrind3101 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_ipv6_server.pid" --logfile "log/2/http_ipv6_server.log" --logdir "log/2" --portfile log/2/server/http_ipv6_server.port --config log/2/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: ../src/curl --max-time 13 --output log/2/http_ipv6_verify.out --silent --verbose --globoff "http://[::1]:43749/verifiedserver" 2>log/2/http_ipv6_verify.log RUN: HTTP-IPv6 server is on PID 167936 port 43749 * pid http-ipv6 => 167936 167936 test 3202...[HTTP-IPv6 GET with PROXY protocol with spoofed client IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3202 ../src/curl -q --output log/2/curl3202.out --include --trace-ascii log/2/trace3202 --trace-config all --trace-time -g "http://[::1]:43749/3202" --haproxy-clientip "2001:db8::" > log/2/stdout3202 2> log/2/stderr3202 3202: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ dir after test 3202 === Start of file http_ipv6_server.log 02:03:40.246394 Running HTTP IPv* kill pid for ftp-ctrl => 135004 * kill pid for ftp-ctrl => 80535 * kill pid for ftp-ctrl => 80454 * kill pid for ftp-ctrl => 80478 * kill pid for ftp-ctrl => 80453 * kill pid for ftp-ctrl => 80459 * kill pid for ftp-ctrl => 80447 * kill pid for ftp-ctrl => 160677 * kill pid for ftp-ctrl => 88583 * kill pid for ftp-ctrl => 80483 * kill pid for ftp-ctrl => 80455 * kill pid for ftp-ctrl => 80537 * kill pid for ftp-ipv6-ctrl => 90434 * kill pid for imap-filt => 114673 * kill pid for ftp-ipv6-ctrl => 129466 * kill pid for imap-filt => 114671 * kill pid for pop3-filt => 117710 * kill pid for imap-filt => 114666 * kill pid for ftp-ipv6-ctrl => 90437 * kill pid for ftp-ipv6-ctrl => 90379 * kill pid for imap-filt => 110938 * kill pid for ftp-ipv6-ctrl => 129406 * kill pid for smtp-filt => 120754 * kill pid for ftp-ipv6-ctrl => 90421 * kill pid for pop3-filt => 117779 * kill pid for imap-filt => 114876 RUN: Process with pid 80451 signalled to die RUN: Process with pid 89622 signalled to die RUN: Process with pid 92418 signalled to die RUN: Process with pid 111967 signalled to die RUN: Process with pid 114667 signalled to die RUN: Process with pid 117682 signalled to die RUN: Process with pid 120742 signalled to die RUN: Process with pid 137833 signalled to die RUN: Process with pid 154001 signalled to die RUN: Process with pid 156255 signalled to die * kill pid for pop3-filt => 117773 * kill pid for imap-filt => 114601 * kill pid for imap-filt => 114670 * kill pid for imap-filt => 114761 * kill pid for imap-filt => 114669 * kill pid for pop3-filt => 117780 * kill pid for smtp-filt => 120937 RUN: Process with pid 74123 signalled to die RUN: Process with pid 80449 signalled to die RUN: Process with pid 89559 signalled to die RUN: Process with pid 106908 signalled to die RUN: Process with pid 111691 signalled to die RUN: Process with pid 112630 signalled to die RUN: Process with pid 114662 signalled to die RUN: Process with pid 117776 signalled to die RUN: Process with pid 120935 signalled to die * kill pid for pop3-filt => 117771 RUN: Process with pid 137838 signalled to die * kill pid for smtp-filt => 120820 * kill pid for imap-filt => 109829 RUN: Process with pid 74131 signalled to die RUN: Process with pid 90423 signalled to die RUN: Process with pid 92487 signalled to die RUN: Process with pid 111690 signalled to die RUN: Process with pid 114558 signalled to die RUN: Process with pid 117766 signalled to die RUN: Process with pid 120804 signalled to die RUN: Process with pid 134972 signalled to die RUN: Process with pid 137760 signalled to die RUN: Process with pid 140003 signalled to die * kill pid for smtp-filt => 120936 RUN: Process with pid 141049 signalled to die * kill pid for pop3-filt => 117772 * kill pid for pop3-filt => 101981 * kill pid for smtp-filt => 109381 * kill pid for imap-filt => 109160 * kill pid for pop3-filt => 117783 * kill pid for pop3-filt => 117781 RUN: Process with pid 74128 signalled to die RUN: Process with pid 80465 signalled to die RUN: Process with pid 90360 signalled to die RUN: Process with pid 92416 signalled to die RUN: Process with pid 109380 signalled to die RUN: Process with pid 111425 signalled to die RUN: Process with pid 112673 signalled to die RUN: Process with pid 113875 signalled to die RUN: Process with pid 114723 signalled to die RUN: Process with pid 117768 signalled to die RUN: Process with pid 137764 signalled to die RUN: Process with pid 151612 signalled to die RUN: Process with pid 153201 signalled to die * kill pid for smtp-filt => 120703 RUN: Process with pid 74133 signalled to die RUN: Process with pid 80241 signalled to die RUN: Process with pid 80536 signalled to die RUN: Process with pid 89557 signalled to die RUN: Process with pid 106916 signalled to die RUN: Process with pid 111948 signalled to die RUN: Process with pid 114665 signalled to die RUN: Process with pid 117782 signalled to die RUN: Process with pid 120686 signalled to die RUN: Process with pid 129453 signalled to die RUN: Process with pid 137834 signalled to die RUN: Process with pid 165659 signalled to die RUN: Process with pid 74122 signalled to die RUN: Process with pid 80480 signalled to die RUN: Process with pid 106779 signalled to die RUN: Process with pid 112003 signalled to die RUN: Process with pid 114875 signalled to die RUN: Process with pid 117767 signalled to die RUN: Process with pid 120934 signalled to die RUN: Process with pid 137762 signalled to die RUN: Process with pid 142255 signalled to die RUN: Process with pid 144734 signalled to die * kill pid for imap-filt => 114668 * kill pid for pop3-filt => 117778 * kill pid for smtp-filt => 120882 RUN: Process with pid 80441 signalled to die RUN: Process with pid 92489 signalled to die RUN: Process with pid 101957 signalled to die RUN: Process with pid 106907 signalled to die RUN: Process with pid 111688 signalled to die RUN: Process with pid 114664 signalled to die RUN: Process with pid 120866 signalled to die RUN: Process with pid 137832 signalled to die RUN: Process with pid 156665 signalled to die * kill pid for pop3-filt => 117770 * kill pid for smtp-filt => 109156 RUN: Process with pid 74132 signalled to die * kill pid for smtp-filt => 120697 RUN: Process with pid 88524 signalled to die RUN: Process with pid 90424 signalled to die RUN: Process with pid 91834 signalled to die RUN: Process with pid 109154 signalled to die RUN: Process with pid 109828 signalled to die RUN: Process with pid 111657 signalled to die RUN: Process with pid 117765 signalled to die RUN: Process with pid 129253 signalled to die RUN: Process with pid 137835 signalled to die RUN: Process with pid 80534 signalled to die RUN: Process with pid 107283 signalled to die RUN: Process with pid 111949 signalled to die RUN: Process with pid 114661 signalled to die RUN: Process with pid 117775 signalled to die RUN: Process with pid 120666 signalled to die RUN: Process with pid 129454 signalled to die RUN: Process with pid 131770 signalled to die RUN: Process with pid 137758 signalled to die RUN: Process with pid 143334 signalled to die RUN: Process with pid 144522 signalled to die * kill pid for smtp-filt => 120700 RUN: Process with pid 76727 signalled to die RUN: Process with pid 79340 signalled to die RUN: Process with pid 80457 signalled to die RUN: Process with pid 106913 signalled to die RUN: Process with pid 110936 signalled to die RUN: Process with pid 112064 signalled to die RUN: Process with pid 117777 signalled to die RUN: Process with pid 120689 signalled to die RUN: Process with pid 137759 signalled to die RUN: Process with pid 167936 signalled to die * kill pid for pop3-filt => 117711 * kill pid for smtp-filt => 109467 RUN: Process with pid 74125 signalled to die RUN: Process with pid 79237 signalled to die RUN: Process with pid 80450 signalled to die RUN: Process with pid 90417 signalled to die RUN: Process with pid 91586 signalled to die RUN: Process with pid 106780 signalled to die RUN: Process with pid 109159 signalled to die RUN: Process with pid 109452 signalled to die RUN: Process with pid 111950 signalled to die RUN: Process with pid 117699 signalled to die RUN: Process with pid 129708 signalled to die RUN: Process with pid 137763 signalled to die * kill pid for smtp-filt => 120710 RUN: Process with pid 74126 signalled to die RUN: Process with pid 111900 signalled to die RUN: Process with pid 114663 signalled to die RUN: Process with pid 117774 signalled to die RUN: Process with pid 120680 signalled to die RUN: Process with pid 129395 signalled to die RUN: Process with pid 137648 signalled to die RUN: Process with pid 138181 signalled to die RUN: Process with pid 151603 signalled to die RUN: Process with pid 153146 signalled to die RUN: Process with pid 160589 signalled to die RUN: Process with pid 161992 signalled to die RUN: Process with pid 165303 signalled to die RUN: Process with pid 134972 gracefully died RUN: Process with pid 80465 gracefully died RUN: Process with pid 80536 gracefully died RUN: Process with pid 80480 gracefully died RUN: Process with pid 80441 gracefully died RUN: Process with pid 88524 gracefully died RUN: Process with pid 80534 gracefully died RUN: Process with pid 80457 gracefully died RUN: Process with pid 80450 gracefully died RUN: Process with pid 160589 gracefully died RUN: Process with pid 80451 gracefully died RUN: Process with pid 74123 gracefully died RUN: Process with pid 74131 gracefully died RUN: Process with pid 74128 gracefully died RUN: Process with pid 74133 gracefully died RUN: Process with pid 74122 gracefully died RUN: Process with pid 101957 gracefully died RUN: Process with pid 74132 gracefully died RUN: Process with pid 111949 gracefully died RUN: Process with pid 76727 gracefully died RUN: Process with pid 74125 gracefully died RUN: Process with pid 74126 gracefully died RUN: Process with pid 89622 gracefully died RUN: Process with pid 80449 gracefully died RUN: Process with pid 90423 gracefully died RUN: Process with pid 90360 gracefully died RUN: Process with pid 80241 gracefully died RUN: Process with pid 112003 gracefully died RUN: Process with pid 111688 gracefully died RUN: Process with pid 90424 gracefully died RUN: Process with pid 114661 gracefully died RUN: Process with pid 79340 gracefully died RUN: Process with pid 79237 gracefully died RUN: Process with pid 111900 gracefully died RUN: Process with pid 111967 gracefully died RUN: Process with pid 89559 gracefully died RUN: Process with pid 111690 gracefully died RUN: Process with pid 109380 gracefully died RUN: Process with pid 89557 gracefully died RUN: Process with pid 114875 gracefully died RUN: Process with pid 114664 gracefully died RUN: Process with pid 91834 gracefully died RUN: Process with pid 117775 gracefully died RUN: Process with pid 110936 gracefully died RUN: Process with pid 90417 gracefully died RUN: Process with pid 114663 gracefully died RUN: Process with pid 114667 gracefully died RUN: Process with pid 111691 gracefully died RUN: Process with pid 114558 gracefully died RUN: Process with pid 112673 gracefully died RUN: Process with pid 111948 gracefully died RUN: Process with pid 117767 gracefully died RUN: Process with pid 120866 gracefully died RUN: Process with pid 109154 gracefully died RUN: Process with pid 120666 gracefully died RUN: Process with pid 112064 gracefully died RUN: Process with pid 109159 gracefully died RUN: Process with pid 117774 gracefully died RUN: Process with pid 117682 gracefully died RUN: Process with pid 112630 gracefully died RUN: Process with pid 117766 gracefully died RUN: Process with pid 113875 gracefully died RUN: Process with pid 114665 gracefully died RUN: Process with pid 120934 gracefully died RUN: Process with pid 137832 gracefully died RUN: Process with pid 109828 gracefully died RUN: Process with pid 129454 gracefully died RUN: Process with pid 117777 gracefully died RUN: Process with pid 109452 gracefully died RUN: Process with pid 120680 gracefully died RUN: Process with pid 120742 gracefully died RUN: Process with pid 114662 gracefully died RUN: Process with pid 120804 gracefully died RUN: Process with pid 114723 gracefully died RUN: Process with pid 117782 gracefully died RUN: Process with pid 137762 gracefully died RUN: Process with pid 156665 gracefully died RUN: Process with pid 111657 gracefully died RUN: Process with pid 131770 gracefully died RUN: Process with pid 120689 gracefully died RUN: Process with pid 111950 gracefully died RUN: Process with pid 129395 gracefully died RUN: Process with pid 137833 gracefully died RUN: Process with pid 117776 gracefully died RUN: Process with pid 137760 gracefully died RUN: Process with pid 117768 gracefully died RUN: Process with pid 120686 gracefully died RUN: Process with pid 142255 gracefully died RUN: Process with pid 117765 gracefully died RUN: Process with pid 137758 gracefully died RUN: Process with pid 137759 gracefully died RUN: Process with pid 117699 gracefully died RUN: Process with pid 137648 gracefully died RUN: Process with pid 154001 gracefully died RUN: Process with pid 120935 gracefully died RUN: Process with pid 140003 gracefully died RUN: Process with pid 137764 gracefully died RUN: Process with pid 137834 gracefully died RUN: Process with pid 144734 gracefully died RUN: Process with pid 143334 gracefully died RUN: Process with pid 129253 gracefully died RUN: Process with pid 167936 gracefully died RUN: Process with pid 129708 gracefully died RUN: Process with pid 138181 gracefully died RUN: Process with pid 156255 gracefully died RUN: Process with pid 137838 gracefully died RUN: Process with pid 141049 gracefully died RUN: Process with pid 151612 gracefully died RUN: Process with pid 165659 gracefully died RUN: Process with pid 137835 gracefully died RUN: Process with pid 144522 gracefully died RUN: Process with pid 137763 gracefully died RUN: Process with pid 151603 gracefully died RUN: Process with pid 153201 gracefully died RUN: Process with pid 153146 gracefully died RUN: Process with pid 165303 gracefully died RUN: Process with pid 92418 forced to die with SIGKILL RUN: Process with pid 106908 forced to die with SIGKILL RUN: Process with pid 92487 forced to die with SIGKILL RUN: Process with pid 92416 forced to die with SIGKILL RUN: Process with pid 111425 forced to die with SIGKILL RUN: Process with pid 106916 forced to die with SIGKILL RUN: Process with pid 129453 forced to die with SIGKILL RUN: Process with pid 106779 forced to die with SIGKILL RUN: Process with pid 107283 forced to die with SIGKILL RUN: Process with pid 92489 forced to die with SIGKILL RUN: Process with pid 106907 forced to die with SIGKILL RUN: Process with pid 106913 forced to die with SIGKILL RUN: Process with pid 91586 forced to die with SIGKILL RUN: Process with pid 106780 forced to die with SIGKILL RUN: Process with pid 161992 forced to die with SIGKILL Runner 74116 exiting Runner 74121 exiting Runner 74114 exiting Runner 74117 exiting Runner 74112 exiting Runner 74111 exiting Runner 74119 exiting Runner 74120 exiting Runner 74118 exiting Runner 74115 exiting Runner 74110 exiting Runner 74113 exiting 6 version on port 43749 02:03:40.246451 Wrote pid 167936 to log/2/server/http_ipv6_server.pid 02:03:40.246478 Wrote port 43749 to log/2/server/http_ipv6_server.port 02:03:41.248819 ====> Client connect 02:03:41.248833 accept_connection 3 returned 4 02:03:41.248844 accept_connection 3 returned 0 02:03:41.248854 Read 89 bytes 02:03:41.248866 Process 89 bytes request 02:03:41.248880 Got request: GET /verifiedserver HTTP/1.1 02:03:41.248887 Are-we-friendly question received 02:03:41.248909 Wrote request (89 bytes) input to log/2/server.input 02:03:41.248925 Identifying ourselves as friends 02:03:41.248967 Response sent (57 bytes) and written to log/2/server.response 02:03:41.248975 special request received, no persistency 02:03:41.248982 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:43749... * Connected to ::1 (::1) port 43749 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:43749 > User-Agent: curl/8.11.1 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 167936 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 3202 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 167936 === End of file server.response === Start of file valgrind3202 ==168255== ==168255== Process terminating with default action of signal 4 (SIGILL) ==168255== Illegal opcode at address 0x10B08D ==168255== at 0x10B08D: UnknownInlinedFun (string_fortified.h:59) ==168255== by 0x10B08D: main (tool_main.c:232) === End of file valgrind3202 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 38795 --port2 43075 --nghttpx "nghttpx" --pidfile "log/3/server/http_v2_server.pid" --logfile "log/3/http_v2_server.log" --logdir "log/3" --connect 127.0.0.1:34527 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 34259 --port2 40199 --nghttpx "nghttpx" --pidfile "log/10/server/http_v2_server.pid" --logfile "log/10/http_v2_server.log" --logdir "log/10" --connect 127.0.0.1:42929 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 43647 --port2 39929 --nghttpx "nghttpx" --pidfile "log/7/server/http_v2_server.pid" --logfile "log/7/http_v2_server.log" --logdir "log/7" --connect 127.0.0.1:43753 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 37017 --port2 43581 --nghttpx "nghttpx" --pidfile "log/8/server/http_v2_server.pid" --logfile "log/8/http_v2_server.log" --logdir "log/8" --connect 127.0.0.1:38805 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http3-server.pl --port 33101 --nghttpx "nghttpx" --pidfile "log/5/server/http_v3_server.pid" --logfile "log/5/http_v3_server.log" --logdir "log/5" --connect 127.0.0.1:34719 startnew: child process has died, server might start up RUN: failed to start the HTTP/3 server test 2502 SKIPPED: failed starting HTTP/3 server * kill pid for http-ipv6 => 141049 * kill pid for mqtt => 137760 * kill pid for tftp => 92487 * kill pid for http-proxy => 140003 * kill pid for socks => 111690 * kill pid for ftp => 134972 * kill pid for pop3 => 117766 * kill pid for imap => 114558 * kill pid for smtp => 120804 * kill pid for http => 74131 * kill pid for ftp-ipv6 => 90423 * kill pid for smtp => 109452 * kill pid for imap => 109159 * kill pid for http => 74125 * kill pid for mqtt => 137763 * kill pid for socks => 111950 * kill pid for ftp => 80450 * kill pid for pop3 => 117699 * kill pid for ftp-ipv6 => 90417 * kill pid for tftp => 91586 * kill pid for rtsp => 106780 * kill pid for http-ipv6 => 129708 * kill pid for http-proxy => 79237 * kill pid for socks => 111949 * kill pid for http-proxy => 144522 * kill pid for mqtt => 137758 * kill pid for rtsp => 107283 * kill pid for http-ipv6 => 131770 * kill pid for http => 143334 * kill pid for ftp-ipv6 => 129454 * kill pid for smtp => 120666 * kill pid for imap => 114661 * kill pid for pop3 => 117775 * kill pid for ftp => 80534 * kill pid for socks => 111688 * kill pid for rtsp => 106907 * kill pid for mqtt => 137832 * kill pid for tftp => 92489 * kill pid for http => 156665 * kill pid for imap => 114664 * kill pid for smtp => 120866 * kill pid for pop3 => 101957 * kill pid for ftp => 80441 * kill pid for smtp => 109380 * kill pid for imap => 114723 * kill pid for http => 74128 * kill pid for socks5unix => 153201 * kill pid for mqtt => 137764 * kill pid for http-unix => 151612 * kill pid for socks => 113875 * kill pid for ftp => 80465 * kill pid for pop3 => 117768 * kill pid for ftp-ipv6 => 90360 * kill pid for tftp => 92416 * kill pid for rtsp => 111425 * kill pid for http-proxy => 112673 * kill pid for socks => 112064 * kill pid for mqtt => 137759 * kill pid for http => 76727 * kill pid for smtp => 120689 * kill pid for imap => 110936 * kill pid for http-proxy => 79340 * kill pid for http-ipv6 => 167936 * kill pid for rtsp => 106913 * kill pid for ftp => 80457 * kill pid for pop3 => 117777 * kill pid for rtsp => 106908 * kill pid for http-ipv6 => 89559 * kill pid for socks => 111691 * kill pid for http-proxy => 112630 * kill pid for smtp => 120935 * kill pid for imap => 114662 * kill pid for pop3 => 117776 * kill pid for ftp => 80449 * kill pid for gopher => 137838 * kill pid for http => 74123 * kill pid for http-ipv6 => 142255 * kill pid for rtsp => 106779 * kill pid for mqtt => 137762 * kill pid for socks => 112003 * kill pid for http-proxy => 144734 * kill pid for imap => 114875 * kill pid for smtp => 120934 * kill pid for ftp => 80480 * kill pid for pop3 => 117767 * kill pid for http => 74122 * kill pid for mqtt => 137648 * kill pid for socks5unix => 153146 * kill pid for socks => 111900 * kill pid for http-unix => 151603 * kill pid for gopher-ipv6 => 138181 * kill pid for imap => 114663 * kill pid for smtp => 120680 * kill pid for http => 74126 * kill pid for http-ipv6 => 165303 * kill pid for tftp => 161992 * kill pid for ftp => 160589 * kill pid for pop3 => 117774 * kill pid for ftp-ipv6 => 129395 * kill pid for socks => 111967 * kill pid for http-proxy => 156255 * kill pid for http-ipv6 => 89622 * kill pid for tftp => 92418 * kill pid for mqtt => 137833 * kill pid for http => 154001 * kill pid for imap => 114667 * kill pid for smtp => 120742 * kill pid for pop3 => 117682 * kill pid for ftp => 80451 * kill pid for ftp => 88524 * kill pid for pop3 => 117765 * kill pid for smtp => 109154 * kill pid for imap => 109828 * kill pid for ftp-ipv6 => 90424 * kill pid for http => 74132 * kill pid for gopher => 137835 * kill pid for http-ipv6 => 129253 * kill pid for http-proxy => 91834 * kill pid for socks => 111657 * kill pid for http => 74133 * kill pid for smtp => 120686 * kill pid for imap => 114665 * kill pid for socks => 111948 * kill pid for mqtt => 165659 * kill pid for gopher => 137834 * kill pid for ftp => 80536 * kill pid for pop3 => 117782 * kill pid for http-proxy => 80241 * kill pid for tftp => 129453 * kill pid for rtsp => 106916 * kill pid for http-ipv6 => 89557 TESTDONE: 1745 tests were considered during 155 seconds. TESTINFO: 283 tests were skipped due to these restraints: TESTINFO: "curl lacks Debug support" 68 times (159, 356, 358, 359, 363, 412, 413, 437, 438 and 59 more) TESTINFO: "no stunnel" 55 times (300, 301, 302, 303, 304, 305, 306, 307, 308 and 46 more) TESTINFO: "failed starting SSH server" 52 times (582, 583, 600, 601, 602, 603, 604, 605, 606 and 43 more) TESTINFO: "curl lacks unittest support" 51 times (1300, 1302, 1303, 1304, 1305, 1306, 1308, 1309, 1323 and 42 more) TESTINFO: "configured as DISABLED" 16 times (323, 433, 594, 836, 882, 938, 1182, 1184, 1209 and 7 more) TESTINFO: "curl lacks manual support" 7 times (1026, 1179, 1461, 1707, 1708, 1709, 1710) TESTINFO: "failed starting HTTP/2 server" 7 times (1700, 1701, 1702, 2402, 2403, 2404, 2405) TESTINFO: "curl lacks Schannel support" 6 times (2033, 2070, 2079, 2087, 3023, 3024) TESTINFO: "no gnutls-serv (with SRP support)" 4 times (320, 321, 322, 324) TESTINFO: "curl has IDN support" 3 times (959, 960, 961) TESTINFO: "curl lacks ldap support" 2 times (445, 1560) TESTINFO: "curl lacks nghttpx-h3 support" 2 times (2500, 2503) TESTINFO: "curl lacks TrackMemory support" 2 times (96, 558) TESTINFO: "curl has IPv6 support" 1 time (1454) TESTINFO: "curl has proxy support" 1 time (375) TESTINFO: "curl has threaded-resolver support" 1 time (506) TESTINFO: "curl lacks Unicode support" 1 time (1703) TESTINFO: "failed starting DICT server" 1 time (1450) TESTINFO: "failed starting HTTP/3 server" 1 time (2502) TESTINFO: "failed starting neg TELNET server" 1 time (1452) TESTINFO: "failed starting SMB server" 1 time (1451) FAIL-IGNORED 573: 'verify connect time with multi interface' HTTP, multi, flaky FAIL-IGNORED 587: 'HTTP multi-part formpost with aborted read callback' HTTP, HTTP POST, FORM, flaky FAIL-IGNORED 1086: 'FTP download with strict timeout and slow data transfer' FTP, EPSV, RETR, timeout, FAILURE, SLOWDOWNDATA, flaky, timing-dependent FAIL-IGNORED 1113: 'FTP wildcard download - changed fnmatch, 2x perform (DOS LIST response)' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1162: 'FTP wildcard with crazy pattern' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1163: 'FTP wildcard with pattern ending with an open-bracket' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1208: 'FTP PORT download, no data conn and no transient negative reply' FTP, PORT, RETR, NODATACONN150, timeout, FAILURE, flaky, timing-dependent FAIL-IGNORED 1592: 'HTTP request, remove handle while resolving, don't block' HTTP, multi, resolve, speedcheck, flaky, timing-dependent FAIL-IGNORED 2032: 'NTLM connection mapping' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM, flaky, timing-dependent IGNORED: failed tests: 573 587 1086 1113 1162 1163 1208 1592 2032 TESTDONE: 31 tests out of 1462 reported OK: 2% FAIL 1: 'HTTP GET' HTTP, HTTP GET FAIL 2: 'HTTP GET with user and password' HTTP, HTTP GET, HTTP Basic auth FAIL 3: 'HTTP POST with auth and contents but with content-length set to 0' HTTP, HTTP POST, HTTP Basic auth FAIL 4: 'Replaced internal and added custom HTTP headers' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers FAIL 5: 'HTTP over proxy' HTTP, HTTP GET, HTTP proxy FAIL 6: 'HTTP with simple cookie send' HTTP, HTTP GET, HTTP set cookie, cookies FAIL 7: 'HTTP with cookie parser and header recording' HTTP, HTTP GET, cookies, header dump FAIL 8: 'HTTP with cookie parsing from header file' HTTP, HTTP GET, cookies FAIL 9: 'HTTP RFC1867-type formposting' HTTP, HTTP FORMPOST, HTTP file upload FAIL 10: 'simple HTTP PUT from file' HTTP, HTTP PUT FAIL 11: 'simple HTTP Location: following' HTTP, HTTP GET, followlocation FAIL 12: 'HTTP range support' HTTP, HTTP GET, Content-Range FAIL 13: 'HTTP custom request 'DELETE'' HTTP, HTTP custom request FAIL 14: 'HTTP HEAD with Connection: close' HTTP, HTTP HEAD FAIL 15: '--write-out test' HTTP, HTTP GET, --write-out FAIL 16: 'HTTP with proxy authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 17: 'HTTP with config file on stdin' HTTP, HTTP custom request, config file FAIL 18: 'multiple requests using {} in URL' HTTP, HTTP GET, globbing, {} list FAIL 19: 'attempt connect to non-listening socket' HTTP, connect to non-listen, FAILURE FAIL 20: 'attempt connect to non-existing host name' HTTP, FAILURE, non-existing host FAIL 21: 'use curl with multiple request methods' FAILURE, multiple HTTP requests FAIL 22: 'get HTTP with URL > 10000 bytes' HTTP, long URL FAIL 23: 'unsupported protocol:// URL' unsupported protocol, FAILURE FAIL 24: 'HTTP GET fail silently on HTTP error return' HTTP, HTTP GET, --fail FAIL 25: 'looping HTTP Location: following with --max-redirs' HTTP, HTTP GET, followlocation, --max-redirs FAIL 26: 'specify more -o than URLs' HTTP, HTTP GET FAIL 27: 'Get same cookie page several times' HTTP, HTTP GET, cookies FAIL 28: 'HTTP Location: following with extra spaces in header' HTTP, HTTP GET FAIL 29: 'HTTP with 2 secs timeout' HTTP, HTTP GET, timeout, FAILURE FAIL 30: 'HTTP with no data in server reply' HTTP, HTTP GET, FAILURE FAIL 31: 'HTTP with weirdly formatted cookies and cookiejar storage' HTTP, HTTP GET, cookies, cookiejar FAIL 32: 'HTTP with -d and -G' HTTP, HTTP GET, -G FAIL 33: 'HTTP PUT with resume' HTTP, HTTP PUT, Resume, Content-Range FAIL 34: 'HTTP GET with chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 35: 'HTTP POST binary data with embedded NUL' HTTP, HTTP POST, --data-binary FAIL 36: 'HTTP GET with bad chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding, FAILURE FAIL 37: 'HTTP GET with nothing returned from server' HTTP, HTTP GET, FAILURE FAIL 38: 'HTTP resume request without server supporting it' HTTP, HTTP GET, Resume, FAILURE FAIL 39: 'HTTP RFC1867-type formposting with filename= and type=' HTTP, HTTP FORMPOST FAIL 40: 'HTTP redirect with whitespace after ? (and conversion)' HTTP, HTTP GET, followlocation FAIL 41: 'HTTP formpost with missing file' HTTP, HTTP FORMPOST, FAILURE FAIL 42: 'HTTP redirect with whitespace in path (and conversion)' HTTP, HTTP GET, followlocation FAIL 43: 'HTTP Location: following over HTTP proxy' HTTP, HTTP GET, followlocation, HTTP proxy FAIL 44: 'HTTP RFC1867-type formposting without Expect: header' HTTP, HTTP FORMPOST, HTTP replaced headers FAIL 45: 'simple HTTP Location: without protocol in initial URL' HTTP, HTTP GET, followlocation FAIL 46: 'HTTP with bad domain name, get cookies and store in cookie jar' HTTP, HTTP GET, cookies, cookiejar, --resolve FAIL 47: 'simple HTTP 1.0 GET' HTTP, HTTP GET, HTTP/1.0 FAIL 48: 'HTTP with -d and -G and -I' HTTP, HTTP HEAD, -G FAIL 49: 'HTTP follow redirect with ../' HTTP, HTTP GET, followlocation FAIL 50: 'HTTP follow redirect with ../../' HTTP, HTTP GET, followlocation FAIL 51: 'HTTP follow redirect with excessive ../' HTTP, HTTP GET, followlocation FAIL 52: 'HTTP follow redirect with ./-prefix' HTTP, HTTP GET, followlocation FAIL 53: 'HTTP, junk session cookies' HTTP, HTTP GET, cookies FAIL 54: 'HTTP with blank Location:' HTTP, HTTP GET, followlocation FAIL 55: 'HTTP follow redirect with single slash in path' HTTP, HTTP GET, followlocation FAIL 56: 'HTTP POST with *HUGE* request and chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding, config file, -A FAIL 57: 'HTTP content-type with spaces in' HTTP, HTTP GET, --write-out FAIL 58: 'HTTP PUT from file with weird letters' HTTP, HTTP PUT FAIL 59: 'HTTP URL with slash but with "parameter"' HTTP, HTTP GET FAIL 60: 'HTTP PUT from stdin with wrong content-length' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 61: 'HTTP with various cookies and custom Host:' HTTP, HTTP GET, cookies, cookiejar, HTTP replaced headers, httponly FAIL 62: 'HTTP, send cookies when using custom Host:' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly FAIL 63: 'HTTP with proxy authorization set in environment' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 64: 'HTTP with Digest authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 65: 'HTTP with Digest authorization with bad password' HTTP, HTTP GET, HTTP Digest auth FAIL 66: 'HTTP GET without headers in the response' HTTP, HTTP GET, HTTP/0.9 FAIL 67: 'HTTP with NTLM authorization' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 68: 'HTTP with NTLM authorization and wrong password' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 69: 'HTTP with NTLM, Basic or Wild-and-crazy authorization' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 70: 'HTTP with Digest *OR* NTLM authorization' HTTP, HTTP GET, HTTP Digest auth, --anyauth FAIL 71: 'HTTP and -F upload in config file' HTTP, HTTP FORMPOST, config file FAIL 72: 'HTTP with Digest *OR* Basic authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 73: 'HTTP, receive cookies when using custom Host:, domain using only two dots' HTTP, HTTP GET, cookies, cookiejar FAIL 74: 'HTTP, urlglob {}-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, {} list FAIL 75: 'HTTP, urlglob retrieval with bad range' HTTP, HTTP GET, globbing, FAILURE FAIL 77: 'HTTP with -z "older date"' HTTP, HTTP GET, If-Modified-Since, -z FAIL 78: 'HTTP with -z "newer date"' HTTP, HTTP GET, If-Modified-Since, -z FAIL 79: 'FTP over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy FAIL 80: 'HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth, proxytunnel FAIL 81: 'HTTP with proxy using NTLM authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 82: 'HTTP with proxy requiring NTLM, but we send Basic' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP proxy NTLM auth FAIL 83: 'HTTP over proxy-tunnel with site authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 84: 'HTTP over proxy with site authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy FAIL 85: 'HTTP over proxy with site and proxy authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth FAIL 86: 'HTTP, urlglob []-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, [] range FAIL 87: 'urlglob with out of range -o #[num] usage' HTTP, HTTP GET, globbing, [] range, FAILURE FAIL 88: 'HTTP PUT with Digest authorization' HTTP, HTTP PUT, HTTP Digest auth FAIL 89: 'HTTP with NTLM and follow-location' HTTP, HTTP GET, HTTP NTLM auth, followlocation, NTLM FAIL 90: 'HTTP with NTLM via --anyauth, and then follow-location with NTLM again' HTTP, HTTP GET, HTTP NTLM auth, --anyauth, followlocation, NTLM FAIL 91: 'HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 92: 'HTTP resume transfer with the whole file already downloaded' HTTP, HTTP GET, Content-Range, Resume FAIL 93: 'HTTP GET with failed proxy auth' HTTP, HTTP GET, HTTP proxy FAIL 94: 'HTTPS GET with failed proxy auth (CONNECT 1.0)' HTTPS, HTTP GET, HTTP CONNECT, HTTP proxy, FAILURE FAIL 95: 'HTTP over proxytunnel using POST' HTTP, HTTP POST, HTTP CONNECT, proxytunnel FAIL 97: 'HTTP POST with custom content-type' HTTP, HTTP POST, HTTP replaced headers FAIL 98: 'HTTP PUT from stdin with set size, disabling chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 99: 'HTTP GET with large-file resume point and failed resume' HTTP, HTTP GET, Resume, Largefile, FAILURE FAIL 100: 'FTP dir list PASV' FTP, PASV, LIST FAIL 101: 'FTP dir list, PORT with specified IP' FTP, PORT, LIST FAIL 102: 'FTP RETR PASV' FTP, PASV, RETR FAIL 103: 'FTP RETR PORT with CWD' FTP, PORT, RETR FAIL 104: 'FTP --head to get file size only' FTP, NOBODY FAIL 105: 'FTP user+password in URL and ASCII transfer' FTP, PASV, TYPE A, RETR FAIL 106: 'FTP GET with type=A style ASCII URL using %20 codes' FTP, EPSV, TYPE A, RETR, type= FAIL 107: 'FTP PASV upload file' FTP, EPSV, STOR FAIL 108: 'FTP PORT upload with CWD' FTP, PORT, STOR FAIL 109: 'FTP PASV upload append' FTP, EPSV, APPE FAIL 110: 'FTP download resume with set limit' FTP, PASV, RETR, Resume FAIL 111: 'FTP download resume beyond file size' FTP, EPSV, Resume, FAILURE FAIL 112: 'FTP PASV upload resume' FTP, EPSV, APPE, Resume FAIL 113: 'FTP download, failed login: USER not valid' FTP, FAILURE FAIL 114: 'FTP download, failed login: PASS not valid' FTP, FAILURE FAIL 115: 'FTP download, failed PASV' FTP, PASV, FAILURE FAIL 116: 'FTP download, failed PORT' FTP, EPRT, PORT, FAILURE, EPRT refused FAIL 117: 'FTP download, failed TYPE' FTP, FAILURE FAIL 118: 'FTP download, failed RETR' FTP, PASV, RETR, FAILURE FAIL 119: 'FTP download, failed RETR with PORT' FTP, PORT, RETR, FAILURE FAIL 120: 'ftp download with post-quote delete operation' FTP, PASV, RETR, post-quote FAIL 121: 'ftp download with post- and pre-transfer delete operations' FTP, EPSV, RETR, post-quote, pre-quote FAIL 122: 'FTP download resume with whole file already downloaded' FTP, PASV, Resume FAIL 123: 'FTP upload resume with whole file already downloaded' FTP, EPSV, Resume FAIL 124: 'FTP download, failed PWD' FTP, PASV, RETR FAIL 125: 'FTP download, failed CWD' FTP, FAILURE FAIL 126: 'FTP download with multiple replies at once in RETR' FTP, EPSV, RETR, RETRWEIRDO FAIL 127: 'FTP --disable-epsv' FTP, PASV, RETR, --disable-epsv FAIL 128: 'FTP upload with --crlf' FTP, EPSV, STOR, --crlf FAIL 129: 'HTTP/1.2 is rejected' HTTP, HTTP GET FAIL 130: 'FTP (optional .netrc; no user/pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 131: 'FTP (optional .netrc; user/no pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 132: 'FTP (optional .netrc; user/passwd supplied) dir list PASV' FTP, EPSV, LIST, netrc FAIL 133: 'FTP compulsory .netrc; ignore passwd in URL' FTP, EPSV, LIST, netrc FAIL 134: 'FTP (optional .netrc; programmatic user/passwd) dir list PASV' FTP, EPSV, LIST, netrc FAIL 135: 'FTP retrieve a byte-range' FTP, EPSV, RETR, Range FAIL 136: 'FTP with user and no password' FTP, EPSV, RETR FAIL 137: 'FTP download without size in RETR string' FTP, RETR, --data-binary FAIL 138: 'FTP download without size in RETR string and no SIZE command' FTP, RETR FAIL 139: 'FTP download a newer file with -z' FTP, RETR, -z FAIL 140: 'FTP download file with -z, expected to not transfer' FTP, -z, --data-binary FAIL 141: 'FTP download info with -I' FTP, NOBODY FAIL 142: 'FTP URL with 150 dir levels' FTP FAIL 143: 'FTP URL with type=a' FTP, RETR, type= FAIL 144: 'FTP NLST dir list without contents, using PORT' FTP, PORT, NLST, --data-binary FAIL 145: 'FTP NLST dir list with weird reply code, using PORT' FTP, NLST, PORT FAIL 146: 'persistent FTP with different paths' FTP, RETR, persistent connection FAIL 147: 'FTP with --ftp-create-dirs (failing CWD)' FTP FAIL 148: 'FTP with --ftp-create-dirs (failing MKD)' FTP FAIL 149: 'FTP with multiple uploads' FTP FAIL 150: 'HTTP with NTLM authorization and --fail' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 151: 'HTTP GET with an error code that might trick authentication' HTTP, HTTP GET FAIL 152: 'HTTP GET with an error code that might trick authentication and --fail' HTTP, HTTP GET, --fail FAIL 153: 'HTTP with Digest authorization with stale=true' HTTP, HTTP GET, HTTP Digest auth FAIL 154: 'HTTP PUT with --anyauth authorization (picking Digest)' HTTP, HTTP PUT, HTTP Digest auth, --anyauth FAIL 155: 'HTTP PUT with --anyauth authorization (picking NTLM)' HTTP, HTTP PUT, HTTP NTLM auth, NTLM FAIL 156: 'HTTP PUT with --anyauth (when the server requires none)' HTTP, HTTP PUT, --anyauth FAIL 157: 'HTTP GET with --anyauth (when the server requires none)' HTTP, HTTP GET, --anyauth FAIL 158: 'HTTP multipart formpost with only a 100 reply' HTTP, HTTP POST FAIL 160: 'HTTP with delayed close, conn reuse, connection reset and retry' HTTP, HTTP GET, DELAY FAIL 161: 'FTP RETR PASV' FTP, CURLE_PARTIAL_FILE, RETR, PASV FAIL 162: 'HTTP GET asking for --proxy-ntlm when some other authentication is required' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, FAILURE FAIL 163: 'HTTP multipart formpost with contents from a file' HTTP, HTTP POST FAIL 164: 'HTTP range with multiple ranges' HTTP, HTTP GET FAIL 165: 'HTTP over proxy with IDN host name' HTTP, HTTP GET, HTTP proxy, IDN FAIL 166: 'HTTP formpost a file with spaces in name' HTTP, HTTP POST FAIL 167: 'HTTP with proxy-requiring-Basic to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP Digest auth FAIL 168: 'HTTP with proxy-requiring-Digest to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth FAIL 169: 'HTTP with proxy-requiring-NTLM to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, HTTP Digest auth, NTLM FAIL 170: 'HTTP POST with --proxy-ntlm and no SSL with no response' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth FAIL 171: 'HTTP, get cookie with dot prefixed full domain' HTTP, HTTP GET, HTTP proxy, cookies FAIL 172: 'HTTP with cookies file and custom added cookie' HTTP, HTTP GET, cookies FAIL 173: 'HTTP RFC1867-formpost a file from stdin with "faked" filename' HTTP, HTTP POST FAIL 174: 'HTTP POST --anyauth to server not requiring any auth at all' HTTP, HTTP POST FAIL 175: 'HTTP POST --digest to server not requiring any auth at all' HTTP, HTTP POST, HTTP Digest auth FAIL 176: 'HTTP POST --ntlm to server not requiring any auth at all' HTTP, HTTP POST, HTTP NTLM auth FAIL 177: 'HTTP POST --digest to server doing a 302-location response' HTTP, HTTP POST, HTTP Digest auth, followlocation FAIL 178: 'HTTP response with negative Content-Length' HTTP, HTTP GET FAIL 179: 'HTTP using proxy and cookies with path checks' HTTP, HTTP GET, HTTP proxy, cookies FAIL 180: 'HTTP 1.0 PUT' HTTP, HTTP PUT, HTTP/1.0 FAIL 181: 'HTTP 1.0 POST' HTTP, HTTP POST, HTTP/1.0 FAIL 182: 'FTP download an empty file' FTP FAIL 183: 'HTTP GET two URLs over a single proxy with persistent connection' HTTP, HTTP GET, HTTP proxy, persistent connection FAIL 184: 'HTTP replace Host: when following Location: to new host' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 185: 'HTTP replace Host: when following Location: on the same host' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 186: 'HTTP RFC1867-type formposting with types on text fields' HTTP, HTTP POST FAIL 187: 'HTTP redirect with bad host name separation and slash in parameters' HTTP, HTTP GET, followlocation FAIL 188: 'HTTP GET with resume and redirect' HTTP, HTTP GET, Content-Range, Resume, followlocation FAIL 189: 'HTTP GET with resume and redirect (to a page that doesn't resume)' HTTP, HTTP GET FAIL 190: 'FTP download with strict timeout and slow CWD' FTP, timeout, FAILURE, DELAY FAIL 191: 'FTP URL with ?-letters in username and password' FTP FAIL 192: 'HTTP GET -w num_connects with one simple connect' HTTP, HTTP GET FAIL 193: 'HTTP GET -w num_connects with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, --write-out FAIL 194: 'HTTP resume transfer with the whole file already downloaded and --fail' HTTP, HTTP GET, Content-Range, Resume FAIL 195: 'FTP response 530 after PASS, temporarily not allowed access' FTP FAIL 196: 'FTP transient error, retry request once' FTP, retry FAIL 197: 'HTTP GET --retry on 503 error with output to stdout' HTTP, HTTP GET, retry FAIL 198: 'HTTP GET --retry on 503 error with output to file' HTTP, HTTP GET, retry FAIL 199: 'HTTP with -d, -G and {}' HTTP, HTTP GET, globbing FAIL 200: 'basic file:// file' FILE FAIL 201: 'missing file:// file' FILE, FAILURE FAIL 202: 'two file:// URLs to stdout' FILE FAIL 203: 'file:/path URL with a single slash' FILE FAIL 204: '"upload" with file://' FILE FAIL 205: '"upload" nonexisting with file://' FILE, FAILURE FAIL 206: 'HTTP proxy CONNECT auth Digest' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 207: 'HTTP GET with chunked Transfer-Encoding closed prematurely' HTTP, HTTP GET, CURLE_PARTIAL_FILE, FAILURE, chunked Transfer-Encoding FAIL 208: 'HTTP PUT to a FTP URL with username+password - over HTTP proxy' FTP, HTTP, HTTP PUT, HTTP proxy FAIL 209: 'HTTP proxy CONNECT auth NTLM' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 210: 'Get two FTP files from the same remote dir: no second CWD' FTP FAIL 211: 'Get two FTP files with no remote EPSV support' FTP FAIL 212: 'Get two FTP files with no remote EPRT support' FTP, EPRT FAIL 213: 'HTTP 1.0 proxy CONNECT auth NTLM and then POST' HTTP, HTTP POST, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 214: 'HTTP URL with escaped { and }' HTTP, HTTP GET FAIL 215: 'Get two FTP dir listings from the same remote dir: no second CWD' FTP FAIL 216: 'FTP upload two files to the same dir' FTP FAIL 217: 'HTTP proxy CONNECT to proxy returning 405' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, followlocation, --write-out FAIL 218: 'HTTP PUT from a file but enforce chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 219: 'try using proxy with unsupported scheme' proxy FAIL 220: 'HTTP GET gzip compressed content' HTTP, HTTP GET, compressed FAIL 221: 'HTTP GET gzip compressed content with broken gzip header' HTTP, HTTP GET, compressed, FAILURE FAIL 222: 'HTTP GET deflate compressed content' HTTP, HTTP GET, compressed FAIL 223: 'HTTP GET deflate compressed content with broken deflate header' HTTP, HTTP GET, compressed, FAILURE FAIL 224: 'HTTP GET gzip compressed content with huge comment and extra field' HTTP, HTTP GET, compressed FAIL 225: 'FTP %0a-code in URL's name part' FTP, FAILURE FAIL 226: 'FTP %0d-code in URL's CWD part' FTP, FAILURE FAIL 227: 'FTP with quote ops' FTP, post-quote, pre-quote FAIL 228: 'FTP RETR with ACCT' FTP, ACCT FAIL 229: 'FTP RETR with bad ACCT' FTP, ACCT, FAILURE FAIL 230: 'HTTP GET multiply compressed content' HTTP, HTTP GET, compressed FAIL 231: 'file:// with resume' FILE FAIL 232: 'HTTP GET deflate raw-compressed content' HTTP, HTTP GET, compressed FAIL 233: 'HTTP, proxy, site+proxy auth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 234: 'HTTP, proxy, site+proxy auth and Location: to new host using location-trusted' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, followlocation, --location-trusted FAIL 235: 'FTP resumed upload but no file present remotely' FTP FAIL 236: 'FTP resume upload but denied access to remote file' FTP FAIL 237: 'FTP getting bad host in 227-response to PASV' FTP FAIL 238: 'FTP getting bad port in response to EPSV' FTP FAIL 239: 'HTTP proxy-auth NTLM and then POST' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 240: 'HTTP-IPv6 GET' HTTP, HTTP GET, IPv6 FAIL 241: 'HTTP-IPv6 GET (using ip6-localhost)' HTTP, HTTP GET, IPv6, IPv6-hostname FAIL 242: 'HTTP-IPv6 GET with username+password in URL' HTTP, HTTP GET, IPv6, HTTP Basic auth FAIL 243: 'HTTP POST with --proxy-anyauth, picking NTLM' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, --proxy-anyauth, NTLM FAIL 244: 'FTP dir listing with nocwd and URL encoded path' FTP, PASV, CWD, --ftp-method, nocwd FAIL 245: 'HTTP POST --digest' HTTP, HTTP POST, HTTP Digest auth FAIL 246: 'HTTP POST --digest with server doing a 100 before 401 response' HTTP, HTTP POST, HTTP Digest auth FAIL 247: 'FTP upload time condition evaluates TRUE => skip upload' FTP FAIL 248: 'FTP upload time condition evaluates FALSE => upload anyway' FTP FAIL 249: 'HTTP 304 response with "illegal" Content-Length: header' HTTP, HTTP GET, -z FAIL 250: 'FTP dir list PASV with slow response' FTP, SLOWDOWN FAIL 251: 'FTP dir list, PORT with specified IP and slow response' FTP, SLOWDOWN FAIL 252: 'FTP IPv6 dir list PASV' FTP, FTP-ipv6, IPv6, EPSV FAIL 253: 'FTP IPv6 dir list with EPRT' FTP, FTP-ipv6, IPv6, EPRT FAIL 254: 'FTP IPv6 dir list PASV and --disable-epsv' FTP, FTP-ipv6, IPv6, EPSV, --disable-epsv FAIL 255: 'FTP IPv6 dir list with EPRT and --disable-eprt' FTP, FTP-ipv6, IPv6, EPRT, --disable-eprt FAIL 256: 'HTTP resume request over proxy with auth without server supporting it' HTTP, HTTP GET, HTTP proxy, Resume, FAILURE FAIL 257: 'HTTP Location: following with --netrc-optional' HTTP, HTTP GET, HTTP proxy, HTTP Basic auth, followlocation, netrc FAIL 258: 'HTTP POST multipart without Expect: header using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP replaced headers, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth FAIL 259: 'HTTP POST multipart with Expect: header using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth FAIL 260: 'HTTP GET URL without slash but with questionmark' HTTP, HTTP GET FAIL 261: 'FTP RETR with 226 response code to TYPE' FTP, EPSV, RETR FAIL 262: 'Reject HTTP response with binary zero in header' HTTP, HTTP GET FAIL 263: 'HTTP-IPv6 GET with proxy specified using IPv6-numerical address' HTTP, HTTP GET, IPv6, HTTP proxy FAIL 264: 'HTTP with proxy string including http:// and user+password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 265: 'HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407' HTTP, HTTP POST, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 266: 'HTTP GET with chunked Transfer-Encoding and chunked trailer' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 267: 'HTTP POST with NTLM authorization and added custom headers' HTTP, HTTP POST, HTTP NTLM auth, NTLM FAIL 268: 'JSON encoding of Unicode string' HTTP, variables FAIL 269: 'HTTP --ignore-content-length' HTTP, HTTP GET FAIL 270: 'FTP RETR PASV --ftp-skip-pasv-ip' FTP, PASV, RETR FAIL 271: 'TFTP retrieve' TFTP, TFTP RRQ FAIL 272: 'FTP timed conditioned get file with identical time stamp' FTP, PASV, RETR FAIL 273: 'HTTP with two Digest authorization headers' HTTP, HTTP GET, HTTP Digest auth FAIL 274: 'HTTP Location: following with --max-redirs 0' HTTP, HTTP GET, followlocation, --max-redirs FAIL 275: 'HTTP CONNECT with proxytunnel getting two URLs from the same host' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth, proxytunnel FAIL 276: 'HTTP Location: following with multiple question marks in URLs' HTTP, HTTP GET, followlocation FAIL 277: 'HTTP RFC1867-type formposting with custom Content-Type' HTTP, HTTP FORMPOST FAIL 278: 'HTTP with proxy string including http:// and user+empty password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 279: 'HTTP with proxy string including http:// and user only' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 280: 'FTP --ftp-alternative-to-user on USER failure' FTP, PASV, LIST, --ftp-alternative-to-user FAIL 281: 'HTTP PUT from file with 100 + 401 responses and -f without auth given' HTTP, HTTP PUT FAIL 282: 'HTTP GET with no response body or headers' HTTP, HTTP GET FAIL 283: 'TFTP retrieve on invalid file' TFTP, TFTP RRQ, FAILURE FAIL 284: 'TFTP retrieve of boundary case 512 byte file' TFTP, TFTP RRQ FAIL 285: 'TFTP send' TFTP, TFTP WRQ FAIL 286: 'TFTP send of boundary case 512 byte file' TFTP, TFTP WRQ FAIL 287: 'HTTP proxy CONNECT with custom User-Agent header' HTTP, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 288: 'file:// with (unsupported) proxy, authentication and range' FILE FAIL 289: 'FTP resume upload but denied access to local file' FTP, STOR, Resume, FAILURE FAIL 290: 'FTP download maximum filesize exceeded' FTP, --max-filesize FAIL 291: 'FTP download maximum filesize not exceeded' FTP, RETR, --max-filesize FAIL 292: 'HTTP GET with maximum filesize not exceeded' HTTP, HTTP GET, --max-filesize FAIL 293: 'HTTP GET with maximum filesize exceeded' HTTP, HTTP GET, --max-filesize, FAILURE FAIL 294: 'FTP --ftp-account on ACCT request' FTP, PASV, LIST, ACCT, --ftp-account FAIL 295: 'FTP ACCT request without --ftp-account' FTP, PASV, LIST, ACCT, FAILURE FAIL 296: 'FTP CWD with --ftp-method multicwd' FTP, PASV, CWD, --ftp-method, multicwd FAIL 297: 'FTP CWD with --ftp-method singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd FAIL 298: 'FTP CWD with --ftp-method nocwd' FTP, PASV, CWD, --ftp-method, nocwd FAIL 299: 'FTP over HTTP proxy with user:pass not in url' FTP, HTTP, CURLOPT_USERPWD, HTTP proxy FAIL 314: 'HTTP GET brotli compressed content' HTTP, HTTP GET, compressed FAIL 315: 'HTTP GET brotli compressed content with broken header' HTTP, HTTP GET, compressed, FAILURE FAIL 316: 'HTTP GET brotli compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed FAIL 317: 'HTTP with custom Authorization: and redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 318: 'HTTP with custom Authorization: and redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 319: 'HTTP GET gzip transfer-encoded data in raw mode' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 326: 'HTTP GET chunked data in raw mode' HTTP, HTTP GET FAIL 327: 'HTTP with cookiejar without cookies left' HTTP, HTTP GET, cookies, header dump FAIL 328: 'HTTP with "Content-Encoding: none' HTTP, HTTP GET, Content-Encoding FAIL 329: 'HTTP cookie with Max-Age=0' HTTP, HTTP GET, cookies FAIL 330: 'HTTP with custom Cookie: and redirect to new host' HTTP, HTTP proxy, followlocation, cookies FAIL 331: 'HTTP with cookie using host name 'moo'' HTTP, HTTP GET, HTTP proxy, cookies FAIL 332: 'TFTP retrieve with blksize 400' TFTP, TFTP RRQ, FAILURE FAIL 333: 'Try a non-boolean command line option with --no-' command-line FAIL 334: 'HTTP 204 No content with chunked header' HTTP, 204 FAIL 335: 'HTTP with proxy Digest and site Digest with creds in URLs' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth, HTTP auth in URL FAIL 336: 'FTP range download when SIZE doesn't work' FTP, PASV, TYPE A, RETR FAIL 337: 'FTP range download with SIZE returning extra crap' FTP, PASV, TYPE A, RETR FAIL 338: 'ANYAUTH connection reuse of non-authed connection' HTTP, HTTP GET FAIL 339: 'Check if --etag-save saved correct etag to a file' HTTP, HTTP GET FAIL 340: 'FTP using %00 in path with singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd FAIL 341: 'Try to open a non existing file with --etag-compare should return an error' HTTP, HTTP GET FAIL 342: 'Check if --etag-compare set correct etag in header' HTTP, HTTP GET FAIL 343: 'Both --etag-compare and --etag-save to save new Etag' HTTP, HTTP GET FAIL 344: 'Both --etag-compare and -save store new Etag using non-existing file' HTTP, HTTP GET FAIL 345: 'Both --etag-compare and -save store new Etag using one pre-existing file' HTTP, HTTP GET FAIL 346: 'HTTP GET over proxy with credentials using blank passwords' HTTP, proxy FAIL 347: '--etag-save with blank incoming header' HTTP, HTTP GET FAIL 348: 'FTP upload file with 552 disk full response' FTP, EPSV, STOR FAIL 349: 'HTTP GET --fail-with-body on HTTP error return' HTTP, HTTP GET, --fail-with-body FAIL 350: 'FTP root dir list multicwd' FTP, PASV, LIST FAIL 351: 'FTP root dir list nocwd' FTP, PASV, LIST FAIL 352: 'FTP root dir list singlecwd' FTP, PASV, LIST FAIL 353: 'FTP home dir list singlecwd' FTP, PASV, LIST FAIL 354: 'FTP without password' FTP, PASV, RETR FAIL 355: 'load Alt-Svc from file and use' HTTP, Alt-Svc FAIL 357: 'HTTP PUT with Expect: 100-continue and 417 response' HTTP, HTTP PUT, Expect FAIL 360: 'Error on both --fail-with-body and --fail' --fail, --fail-with-body FAIL 361: 'HTTP GET --fail-with-body on HTTP error return - twice' HTTP, HTTP GET, --fail-with-body FAIL 362: 'FTP resume upload file with nothing to start from' FTP, EPSV, STOR FAIL 365: 'HTTP/1.1 with chunked AND Content-Length headers' HTTP, HTTP GET, Chunked FAIL 366: 'HTTP --retry-max-time with too long Retry-After' HTTP, HTTP GET, retry FAIL 367: 'Empty user name provided in URL' HTTP, HTTP GET, Basic FAIL 368: 'Append dash if -r range specified without one' HTTP, HTTP GET, Range FAIL 369: '--etag-save with bad path then working transfer' HTTP, HTTP GET, etag FAIL 370: '--etag-save with bad path - no transfer' HTTP, HTTP GET, etag FAIL 371: 'using more -o than URLs in the command line' HTTP, HTTP GET FAIL 372: 'Binary zero in data element.' HTTP, HTTP GET FAIL 373: 'Chunked transfer encoding - Multiple valid chunks with binary zeros.' HTTP, HTTP GET, chunked transfer encoding FAIL 374: 'Valid gif with two frames. No new line in data section.' HTTP, HTTP GET, gif data FAIL 376: '--remove-on-error' HTTP, HTTP GET FAIL 378: 'Reject using -T and -d at once' HTTP PUT, HTTP POST FAIL 379: '--remove-on-error with --no-clobber and an added number' HTTP, HTTP GET FAIL 380: 'pick netrc password based on user name in URL' FTP, EPSV, LIST, netrc FAIL 381: 'netrc-optional lets URL creds override netrc' FTP, EPSV, LIST, netrc FAIL 383: 'HTTP with --json' HTTP, HTTP POST, --json FAIL 384: 'HTTP with --json from stdin' HTTP, HTTP POST, --json FAIL 385: 'HTTP with --json x 2' HTTP, HTTP POST, --json FAIL 386: 'HTTP with --json + --next' HTTP, HTTP POST, --json FAIL 387: 'Response with overly long compression chain' HTTP, gzip FAIL 388: 'HTTP with Digest and multiple qop values with leading space' HTTP, HTTP GET, HTTP Digest auth FAIL 389: '*.localhost is a local host' HTTP, .localhost FAIL 390: 'curl HTTP, FILE and FTP in parallel' HTTP, FTP, parallel FAIL 391: '--path-as-is with redirect, keeping dotdots' HTTP, HTTP GET, --path-as-is FAIL 392: 'HTTP secure cookies over localhost' HTTP, HTTP GET, cookies, secure FAIL 393: 'HTTP max-filesize and out-of-range Content-Length' HTTP, HTTP GET, --max-filesize, FAILURE FAIL 394: 'HTTP with rubbish in Content-Length' HTTP, HTTP GET, FAILURE FAIL 395: 'HTTP and out-of-range Content-Length' HTTP, HTTP GET FAIL 396: 'HTTP GET zstd compressed content' HTTP, HTTP GET, compressed FAIL 397: 'HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed FAIL 398: 'Reject HTTP/1.1 response with colon-less header' HTTP, HTTP GET FAIL 399: '65536 bytes long host name in URL' URL FAIL 402: 'FTP SSL required on non-SSL server' FTP, FTPS, FAILURE FAIL 405: 'FTPS operation to FTP port' FTP, FTPS, FAILURE FAIL 411: '-K with missing file causes error' -K FAIL 415: 'HTTP response with control code then negative Content-Length' HTTP, HTTP GET FAIL 416: 'FTP growing file support' FTP, EPSV, RETR, Range FAIL 418: 'Response with multiple Transfer-Encoding headers' HTTP, gzip FAIL 419: '--dump-header to file that cannot be created' --dump-header, failure FAIL 420: 'Setting cookies set with expired dates that were loaded from jar' HTTP, HTTP GET, cookies FAIL 421: 'HTTP GET multiple headers and %{header_json}' header_json FAIL 422: 'use --next with missing URL before it' cmdline, --next FAIL 423: '-w with url.* variables' -w, --write-out FAIL 424: '-w with urle.* variables' -w, --write-out FAIL 425: 'HTTP PUT with path ending with slash + query' HTTP, HTTP PUT FAIL 426: 'try --data with --continue-at' error detection FAIL 427: 'Keep Cookie: header within 8190 bytes' HTTP, HTTP GET, cookies FAIL 428: 'Expand environment variables within config file' HTTP, variables, --config FAIL 429: 'Expand environment variable in config file - too long name' HTTP, HTTP POST, variables FAIL 430: 'Three -K uses with --next and --data in each' --next, --config, POST FAIL 431: 'Two -K uses with --next and then one on cmdline' --next, --config, POST FAIL 432: 'Use -K with --next and --config from within' --next, --config, POST FAIL 434: '-K with a single line without newline' HTTP, --config FAIL 435: 'verify -w local/remote port+ip after connection reuse' HTTP, HTTP GET FAIL 436: 'Find .curlrc in .config/curlrc via CURL_HOME' --config FAIL 440: 'HSTS with trailing-dot host name in URL but none in hsts file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 441: 'HSTS with no t-dot host name in URL but t-dot in file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 442: 'Send capped huge number of matching cookies' HTTP, cookies, --resolve FAIL 443: 'Cookie header in request no longer than 8K' HTTP, cookies, --resolve FAIL 444: 'Many Set-Cookie response headers' HTTP, cookies, --resolve FAIL 448: 'Environment variables within config file, unbalanced braces' HTTP, variables, --config FAIL 449: 'Environment variables in config file w/o [expand]' HTTP, variables, --config FAIL 450: 'Variable from file that is trimmed and URL encoded' HTTP, variables FAIL 451: 'Variable from file that is JSON and URL encoded (with null byte)' HTTP, variables FAIL 452: 'Variable using illegal function in expansion' variables FAIL 453: 'Variable output containing null byte' HTTP, variables FAIL 454: 'Variable using illegal function separator' variables FAIL 455: 'Variable using base64' variables FAIL 456: 'Variable output starting with null byte' HTTP, variables FAIL 457: 'chunked Transfer-Encoding with --max-filesize' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 458: 'variable expand the file name with --expand-output' HTTP, variables FAIL 459: 'config file with argument using whitespace missing quotes' HTTP, --config FAIL 460: 'try --expand without an argument' variables, expand FAIL 461: 'disable Host: when specified as lower case' HTTP, HTTP GET, --header FAIL 462: 'Missing environment variables in config file' variables, --config FAIL 463: 'HTTP with -d @file with file containing CR, LF and null byte' HTTP, HTTP POST, -d FAIL 467: 'use a bad short option letter that does not exist (after one does exist)' cmdline FAIL 468: 'set -w in config, then reset -w to blank on cmdline' HTTP, --write-out, --config FAIL 469: 'warn about Unicode quote character' HTTP, FAIL 470: 'warn about Unicode quote character read from config file' HTTP, FAIL 471: 'Reject HTTP/1.1 to HTTP/2 switch on the same connection' HTTP, HTTP GET, globbing, {} list FAIL 473: 'Check if --etag-save saved correct etag to a file on 301' HTTP, HTTP GET FAIL 475: 'FTP PASV upload ASCII file' FTP, EPSV, STOR, TYPE A FAIL 476: 'FTP PASV upload ASCII file already using CRLF' FTP, EPSV, STOR, TYPE A FAIL 477: 'HTTP GET with maximum filesize with a redirect sending data' HTTP, HTTP GET, --max-filesize FAIL 478: '.netrc with multiple accounts for same host' netrc, HTTP FAIL 479: '.netrc with redirect and default without password' netrc, HTTP FAIL 480: 'Reject .netrc with credentials using CRLF for POP3' netrc, pop3 FAIL 481: '--no-clobber with --continue-at' HTTP, HTTP GET, --no-clobber, --continue-at FAIL 482: '--remove-on-error with --continue-at' HTTP, --remove-on-error, --continue-at FAIL 490: 'Two globbed HTTP PUTs' HTTP, HTTP PUT FAIL 491: 'Two globbed HTTP PUTs, the second upload file is missing' HTTP, HTTP PUT FAIL 492: 'Two globbed HTTP PUTs to two globbed URLs' HTTP, HTTP PUT FAIL 493: 'HSTS and %{url_effective} after upgrade' HTTP, HTTP proxy, HSTS, url_effective FAIL 494: 'skip 'macdef' when parsing netrc' FTP, EPSV, netrc, macdef FAIL 495: 'user+password in URL with optional netrc' HTTP, netrc FAIL 496: 'parallel upload missing file' curl tool, cmdline, parallel FAIL 497: 'Reject too large accumulated HTTP response headers' HTTP, HTTP GET FAIL 498: 'Reject too large HTTP response headers on endless redirects' HTTP, HTTP GET FAIL 499: 'HTTP HEAD to server still sending a body' HTTP, HTTP GET FAIL 500: 'simple libcurl HTTP GET tool' HTTP, HTTP GET FAIL 501: 'simple libcurl attempt operation without URL set' missing URL FAIL 502: 'simple multi file:// get' FILE FAIL 503: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy Basic auth, proxytunnel, multi FAIL 504: 'simple multi through local proxy without listener' HTTP, HTTP GET, HTTP proxy, multi, FAILURE, connect to non-listen FAIL 505: 'FTP upload with rename after transfer' FTP FAIL 507: 'multi interface get with non-existing host name' HTTP, multi, FAILURE, non-existing host FAIL 508: 'send HTTP POST using read callback' HTTP, POST, POST callback FAIL 509: 'initialization with memory callbacks and actual usage' memory callbacks FAIL 510: 'send HTTP POST using read callback, using chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding FAIL 511: 'FTP with FILETIME and NOBODY but missing file' FTP FAIL 512: 'simple curl_easy_duplicate() test' HTTP, HTTP GET FAIL 513: 'send HTTP POST using read callback that returns CURL_READFUNC_ABORT' HTTP, HTTP POST FAIL 514: 'First set options to POST and then to make HEAD' HTTP, HTTP HEAD FAIL 515: 'make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero' HTTP, HTTP POST FAIL 516: 'make an HTTPPOST set to NULL' HTTP, HTTP POST, FORM FAIL 519: 'GET same URL twice with different users' HTTP, HTTP GET FAIL 520: 'FTP RETR with FILETIME' FTP FAIL 521: 'FTP dir list PASV with CURLOPT_PORT' FTP, PASV, CURLOPT_PORT FAIL 522: 'HTTP GET with CURLOPT_PORT' HTTP, HTTP GET, CURLOPT_PORT FAIL 523: 'HTTP GET with proxy and CURLOPT_PORT' HTTP, HTTP GET, HTTP proxy, CURLOPT_PORT, CURLOPT_PROXY FAIL 524: 'FTP upload with target URL ending with slash' FTP, UPLOAD FAIL 525: 'FTP PORT upload using multi interface' FTP, PORT, STOR, multi FAIL 526: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi FAIL 527: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi FAIL 528: 'HTTP GET same file using different handles but same connection' HTTP, HTTP GET, multi FAIL 529: 'FTP PORT upload using multi interface (weird cleanup function sequence)' FTP, PORT, STOR, multi FAIL 530: 'multi_socket interface transfer with callbacks returning error' multi, HTTP FAIL 531: 'FTP PORT upload using multi interface and get 425 response' FTP, PORT, STOR, multi FAIL 532: 'FTP RETR same file using reset handles between each transfer' FTP, PASV, RETR, multi FAIL 533: 'FTP RETR a non-existing file twice using the multi interface' FTP, PASV, RETR, multi FAIL 534: 'FTP RETR twice using multi: non-existing host and non-existing file' FTP, PASV, RETR, multi, non-existing host FAIL 535: 'HTTP GET multi two files with FAILONERROR' HTTP, HTTP GET, multi FAIL 536: 'CURLINFO_USED_PROXY' HTTP, HTTP GET, HTTP proxy, CURLOPT_PROXY, CURLOPT_NOBODY, CURLINFO_USED_PROXY FAIL 537: 'HTTP GET with a HUGE number of file descriptors open' HTTP, HTTP GET FAIL 538: 'FTP multi-interface download, failed login: PASS not valid' FTP, FAILURE, multi FAIL 539: 'Two FTP fetches using different CURLOPT_FTP_FILEMETHOD' FTP FAIL 540: 'HTTP proxy auth Digest multi API re-using connection' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, multi FAIL 541: 'FTP upload and upload same file again without rewind' FTP FAIL 542: 'FTP a file with NOBODY yes and HEADER no' FTP, PASV, RETR FAIL 543: 'curl_easy_escape' curl_easy_escape FAIL 544: 'HTTP POST text data using CURLOPT_COPYPOSTFIELDS' HTTP, HTTP POST FAIL 545: 'HTTP POST binary with embedded zero and no trailing zero' HTTP, HTTP POST FAIL 546: 'FTP RETR a non-existing file then a found one using the multi interface' FTP, PASV, RETR, multi FAIL 547: 'HTTP proxy auth NTLM with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 548: 'HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 549: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE' FTP, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, HTTP proxy FAIL 550: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY FAIL 551: 'HTTP proxy auth Digest with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth FAIL 552: 'HTTP proxy auth Digest with 70K POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth FAIL 553: 'HTTP post with huge request headers and post data from callback' HTTP, HTTP POST, POST callback, huge request header FAIL 554: 'HTTP multi-part formpost using read callback for the file part' HTTP, HTTP POST, FORM FAIL 555: 'HTTP proxy auth NTLM with POST data from read callback multi-if' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, multi, NTLM FAIL 556: 'send and recv HTTP' HTTP, HTTP GET FAIL 557: 'curl_mprintf() testing' printf, unittest FAIL 559: 'use tiny CURLOPT_BUFFERSIZE' CURLOPT_BUFFERSIZE, HTTP FAIL 561: 'FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, type= FAIL 562: 'FTP a type=A URL and CURLOPT_PORT set' FTP, PASV, RETR FAIL 563: 'FTP type=A URL and CURLOPT_PORT set and proxy' FTP, CURLOPT_PORT, HTTP proxy FAIL 564: 'FTP RETR a file over a SOCKS proxy using the multi interface' FTP, PASV, RETR, multi, SOCKS4 FAIL 565: 'send HTTP POST using read callback, chunked transfer-encoding and Digest' HTTP, HTTP POST, HTTP Digest auth, chunked Transfer-Encoding FAIL 566: 'HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer' HTTP, HTTP GET FAIL 567: 'simple RTSP OPTIONS command' RTSP, OPTIONS FAIL 568: 'RTSP Announce (PUT and POST style) test' RTSP, ANNOUNCE FAIL 569: 'RTSP Session ID parsing' RTSP, SESSION_ID FAIL 570: 'RTSP CSeq and Session Mismatch checks' RTSP, Mismatch checking FAIL 571: 'RTSP RTP Interleaving Test' RTSP, RTP FAIL 572: 'RTSP GET_PARAMETER (Put/Heartbeat/Post)' RTSP, GET_PARAMETER FAIL 574: 'FTP wildcard download - changed fnmatch, 2x perform (Unix LIST response)' FTP, LIST, RETR, wildcardmatch, ftplistparser FAIL 575: 'FTP wildcard download - dup_handle and multi interface' FTP, RETR, multi, wildcardmatch, ftplistparser FAIL 576: 'FTP wildcard download - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)' FTP, wildcardmatch, ftplistparser FAIL 577: 'Funny RTSP version in response' RTSP, OPTIONS FAIL 578: 'HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback' HTTP, HTTP POST FAIL 579: 'small chunked HTTP POSTs with digest auth. and progress callback' HTTP, HTTP POST, HTTP Digest auth FAIL 580: 'multi interface, multiple Location: headers' HTTP, HTTP GET, multi, Duplicate-header FAIL 581: 'multi interface, multiple Content-Type: headers' HTTP, HTTP GET, multi, Duplicate-header FAIL 584: 'CURLOPT_MIMEPOST first set then set to NULL' HTTP, HTTP POST, HTTP MIME FAIL 585: 'socket open/close callbacks' HTTP, HTTP GET, multi, CURLOPT_OPENSOCKETFUNCTION, CURLOPT_CLOSESOCKETFUNCTION FAIL 586: 'FTP and open/close socket callbacks' FTP, PASV, CURLOPT_PORT FAIL 588: 'FTP PORT upload using multi interface, EPRT doesn't work' FTP, PORT, STOR, multi, EPRT refused FAIL 589: 'make an HTTP MIME POST set to NULL' HTTP, HTTP POST, HTTP MIME FAIL 590: 'HTTP proxy offers Negotiate+NTLM, use only NTLM' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 591: 'FTP multi PORT and 425 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN425 FAIL 592: 'FTP multi PORT and 421 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN421 FAIL 593: 'FTP multi PORT upload, no data conn and no transient neg. reply' FTP, PORT, STOR, multi, EPRT refused, NODATACONN150 FAIL 595: 'verify close callbacks with passive FTP' FTP FAIL 596: 'verify close callbacks with active FTP' FTP FAIL 597: 'FTP connect only option' FTP, CONNECT_ONLY FAIL 598: 'curl_easy_reset with referer and other strings set' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset FAIL 599: 'HTTP GET with progress callback and redirects changing content sizes' HTTP, HTTP POST, chunked Transfer-Encoding FAIL 632: 'SFTP syntactically invalid host key' SFTP, FAILURE, server key check FAIL 643: 'HTTP multi-part mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST FAIL 645: 'HTTP multi-part chunked mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST FAIL 646: 'SMTP multipart using mime API' SMTP, MULTIPART FAIL 647: 'IMAP APPEND multipart using mime API' IMAP, APPEND, MULTIPART FAIL 648: 'SMTP multipart with transfer content encoders' SMTP, MULTIPART FAIL 649: 'SMTP multipart with 7bit encoder error' SMTP, MULTIPART FAIL 650: 'HTTP formpost using form API - with redirect and re-POST' HTTP, HTTP POST, FORM FAIL 651: 'curl_formadd with huge COPYCONTENTS' HTTP, HTTP POST, FORM FAIL 652: 'SMTP with encoded huge mime data contents' SMTP, MIME FAIL 653: 'Reuse of handle after altering mime data' HTTP, HTTP POST, MIME FAIL 654: 'HTTP duplicate easy handle with mime data' HTTP, HTTP POST, HTTP MIME POST FAIL 655: 'resolver start callback' HTTP FAIL 658: 'Pass URL to libcurl with CURLOPT_CURLU' HTTP, HTTP GET, CURLOPT_CURLU FAIL 659: 'CURLOPT_CURLU without the path set - over proxy' HTTP, HTTP GET, CURLOPT_CURLU, proxy FAIL 660: 'IMAP CONNECT_ONLY option' IMAP, CONNECT_ONLY FAIL 661: 'Avoid redundant CWDs' FTP FAIL 662: 'HTTP redirect with whitespace in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 663: 'HTTP redirect with dotdots and whitespaces in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 666: 'HTTP mime post with binary-encoded huge data contents' HTTP, HTTP POST, HTTP MIME POST, MIME FAIL 667: 'HTTP chunked mimepost using single-byte read callback with encoder' HTTP, HTTP POST, HTTP MIME POST FAIL 668: 'HTTP mimepost early end of data detection' HTTP, HTTP POST, HTTP MIME POST FAIL 669: 'HTTP custom Content-Type with parameter' HTTP, HTTP POST, HTTP MIME POST, HTTP FORMPOST FAIL 670: 'Request pause from mime read callback: multi' HTTP, HTTP POST, MIME FAIL 671: 'Request pause from mime read callback: easy' HTTP, HTTP POST, MIME FAIL 672: 'Request pause from form read callback: multi' HTTP, HTTP POST, FORM FAIL 673: 'Request pause from form read callback: easy' HTTP, HTTP POST, FORM FAIL 674: 'Set CURLOPT_CURLU and dupe the handle' HTTP, HTTP GET, CURLOPT_CURLU, curl_easy_duphandle FAIL 675: 'HTTP connection reuse and different credentials' HTTP, HTTP GET, HTTP Basic auth FAIL 676: 'verify setting CURLOPT_COOKIEFILE to NULL again' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset FAIL 677: 'IMAP with CONNECT_ONLY, custom command then exit' IMAP, CONNECT_ONLY FAIL 679: 'netrc with quoted password' HTTP, netrc FAIL 680: 'netrc with quoted password but missing end quote' HTTP, netrc FAIL 681: '--remote-name-all with --no-remote-name' HTTP, HTTP GET FAIL 682: 'netrc with multiple logins - pick first' HTTP, netrc FAIL 683: 'netrc with multiple logins - pick second' HTTP, netrc FAIL 684: 'netrc with no login' HTTP, netrc FAIL 685: 'netrc with no login - provided user' HTTP, netrc FAIL 686: 'verify return code for missing URL after --next' errorcode FAIL 689: 'fuzzing crash issue #12701' RTSP, OPTIONS FAIL 690: '-O with URL without path using trailing slash' HTTP, HTTP GET FAIL 691: '-O with URL with path using trailing slash' HTTP, HTTP GET FAIL 692: '-JO with URL without path using trailing slash' HTTP, HTTP GET FAIL 700: 'HTTP GET via SOCKS4 proxy' HTTP, HTTP GET, SOCKS4 FAIL 701: 'HTTP GET via SOCKS5 proxy' HTTP, HTTP GET, SOCKS5 FAIL 702: 'Attempt connect to non-listening HTTP server via SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen, FAILURE FAIL 703: 'Attempt connect to non-listening HTTP server via SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen, FAILURE FAIL 704: 'Attempt connect to non-listening SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen, FAILURE FAIL 705: 'Attempt connect to non-listening SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen, FAILURE FAIL 706: 'FTP dir list PASV via SOCKS4' FTP, PASV, LIST, SOCKS4 FAIL 707: 'FTP dir list PASV via SOCKS5' FTP, PASV, LIST, SOCKS5 FAIL 708: 'HTTP GET via SOCKS4 proxy' HTTP, HTTP GET, SOCKS4 FAIL 709: 'HTTP GET via SOCKS5 set in http_proxy environment variable' HTTP, HTTP GET, SOCKS5 FAIL 710: 'HTTP GET via SOCKS5 set with --proxy' HTTP, HTTP GET, SOCKS5 FAIL 711: 'FTP fetch with all_proxy set to socks5' FTP, PASV, RETR, SOCKS5, all_proxy FAIL 712: 'FTP fetch with --proxy set to socks5://' FTP, PASV, RETR, SOCKS5 FAIL 713: 'FTP fetch with --proxy set to socks5:// and with --connect-to' FTP, PASV, RETR, SOCKS5, CURLOPT_CONNECT_TO FAIL 714: 'FTP fetch with --proxy set to http:// and with --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, CURLOPT_CONNECT_TO FAIL 715: 'FTP fetch with --preproxy, --proxy and --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, SOCKS5, CURLOPT_CONNECT_TO FAIL 716: 'SOCKS5 proxy with too long user name' HTTP, SOCKS5, all_proxy FAIL 717: 'SOCKS5 proxy auth' HTTP, SOCKS5, all_proxy FAIL 718: 'HTTP proxy CONNECT (no auth) with proxy returning 407 and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 719: 'HTTP GET with IPv6 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 720: 'HTTP GET with IPv4 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 721: 'HTTP GET with host name using SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 722: 'IPFS' IPFS FAIL 723: 'IPFS with malformed gateway URL (bad function argument error)' IPFS FAIL 724: 'IPFS with gateway URL from gateway file' IPFS FAIL 725: 'IPFS with malformed gateway URL from gateway file' IPFS FAIL 726: 'IPFS with no gateway URL (no environment or home file either)' IPFS FAIL 727: 'IPNS' IPNS FAIL 728: 'SOCKS5h with HTTP redirect to hostname too long' HTTP, HTTP GET, SOCKS5, SOCKS5h, followlocation FAIL 729: 'SOCKS4 with very long proxy user name' HTTP, HTTP GET, SOCKS4 FAIL 730: 'IPFS arg gateway with path' IPFS FAIL 731: 'IPFS with gateway URL and path from gateway file' IPFS FAIL 732: 'IPFS with path' IPFS FAIL 733: 'IPFS with path and query args' IPFS FAIL 734: 'IPFS with path, query args and gateway with path' IPFS FAIL 735: 'IPNS with path, query args and gateway with path' IPFS FAIL 736: 'IPFS with IPFS_PATH set, no trailing slash' IPFS FAIL 737: 'IPFS with IPFS_PATH set, with trailing slash' IPFS FAIL 738: 'IPFS with IPFS_PATH, no gateway file' IPFS FAIL 739: 'IPNS path and query args for gateway and IPFS url (malformed gateway url)' IPFS FAIL 740: 'IPFS with gateway URL from multiline gateway file' IPFS FAIL 741: 'IPFS with malformed gateway URL from multiline gateway file, first line no url' IPFS FAIL 742: 'SOCKS5-hostname with max length credentials and max host name length' HTTP, SOCKS5, all_proxy FAIL 799: 'IMAP with --login-options 'AUTH=+LOGIN'' IMAP, Clear Text, SASL AUTH +LOGIN FAIL 800: 'IMAP FETCH message' IMAP, Clear Text, FETCH FAIL 801: 'IMAP FETCH message by MAILINDEX and SECTION' IMAP, Clear Text, FETCH FAIL 802: 'IMAP SELECT UIDVALIDITY Success' IMAP, Clear Text, SELECT, UIDVALIDITY FAIL 803: 'IMAP SELECT UIDVALIDITY Failure' IMAP, Clear Text, SELECT, UIDVALIDITY, FAILURE FAIL 804: 'IMAP doesn't perform SELECT if re-using the same mailbox' IMAP, Clear Text, SELECT FAIL 805: 'IMAP APPEND message' IMAP, Clear Text, APPEND, UPLOAD FAIL 806: 'IMAP LIST mailbox' IMAP, Clear Text, LIST FAIL 807: 'IMAP LSUB mailbox' IMAP, Clear Text, LSUB, CUSTOMREQUEST FAIL 808: 'IMAP EXAMINE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, EXAMINE, CUSTOMREQUEST FAIL 809: 'IMAP mailbox STATUS (CUSTOMREQUEST)' IMAP, Clear Text, STATUS, CUSTOMREQUEST FAIL 810: 'IMAP SEARCH for NEW messages' IMAP, Clear Text, SEARCH FAIL 811: 'IMAP CREATE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CREATE, CUSTOMREQUEST FAIL 812: 'IMAP DELETE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, DELETE, CUSTOMREQUEST FAIL 813: 'IMAP RENAME mailbox (CUSTOMREQUEST)' IMAP, Clear Text, RENAME, CUSTOMREQUEST FAIL 814: 'IMAP CHECK mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CHECK, CUSTOMREQUEST FAIL 815: 'IMAP STORE - delete message (CUSTOMREQUEST)' IMAP, Clear Text, STORE, CLOSE, CUSTOMREQUEST FAIL 816: 'IMAP STORE - delete message with confirmation (CUSTOMREQUEST)' IMAP, Clear Text, STORE, EXPUNGE, CUSTOMREQUEST FAIL 817: 'IMAP COPY message to mailbox (CUSTOMREQUEST)' IMAP, Clear Text, COPY, CUSTOMREQUEST FAIL 818: 'IMAP NOOP (CUSTOMREQUEST)' IMAP, Clear Text, NOOP, CUSTOMREQUEST FAIL 819: 'IMAP plain authentication' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 820: 'IMAP login authentication' IMAP, SASL, SASL AUTH LOGIN FAIL 821: 'IMAP CRAM-MD5 authentication' IMAP, SASL, SASL AUTH CRAM-MD5, RFC2195 FAIL 822: 'IMAP NTLM authentication' IMAP, SASL, SASL AUTH NTLM, NTLM FAIL 824: 'IMAP OAuth 2.0 (XOAUTH2) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749 FAIL 825: 'IMAP plain authentication with initial response' IMAP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616 FAIL 826: 'IMAP login authentication with initial response' IMAP, SASL, SASL AUTH LOGIN, SASL-IR FAIL 827: 'IMAP NTLM authentication with initial response' IMAP, SASL, SASL AUTH NTLM, SASL-IR, NTLM FAIL 828: 'IMAP OAuth 2.0 (XOAUTH2) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749 FAIL 829: 'IMAP with URL-encoded CR LF in the URL' IMAP, CRLF-in-URL FAIL 830: 'IMAP CRAM-MD5 graceful cancellation' IMAP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195 FAIL 831: 'IMAP NTLM graceful cancellation' IMAP, SASL, SASL AUTH NTLM, SASL CANCELLATION FAIL 833: 'IMAP CRAM-MD5 authentication with SASL downgrade' IMAP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195 FAIL 834: 'IMAP NTLM authentication with SASL downgrade' IMAP, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE FAIL 837: 'IMAP external authentication' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422 FAIL 838: 'IMAP external authentication without credentials' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422 FAIL 839: 'IMAP external authentication with initial response' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422 FAIL 840: 'IMAP external authentication with initial response without credentials' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422 FAIL 841: 'IMAP custom request doesn't check continuation data' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 842: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628 FAIL 843: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628 FAIL 844: 'IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628 FAIL 845: 'IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628 FAIL 846: 'IMAP PREAUTH response' IMAP FAIL 847: 'IMAP FETCH message' IMAP, Clear Text, FETCH FAIL 848: 'IMAP plain authentication with alternative authorization identity' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 849: 'IMAP plain authentication with alternative authorization identity (Not authorized)' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 850: 'POP3 RETR message' POP3, Clear Text, RETR FAIL 851: 'POP3 LIST one message' POP3, Clear Text, LIST FAIL 852: 'POP3 LIST invalid message' POP3, Clear Text, LIST, FAILURE FAIL 853: 'POP3 LIST messages from *SLOW* server' POP3, Clear Text, LIST, SLOWDOWN FAIL 854: 'POP3 LIST no messages available' POP3, Clear Text, LIST FAIL 855: 'POP3 RETR invalid message' POP3, Clear Text, RETR, FAILURE FAIL 856: 'POP3 invalid login' POP3, Clear Text, FAILURE FAIL 857: 'POP3 RETR message with dot-prefixed line' POP3, Clear Text, RETR FAIL 858: 'POP3 DELE message (CUSTOMREQUEST)' POP3, Clear Text, DELE, CUSTOMREQUEST FAIL 859: 'POP3 STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST FAIL 860: 'POP3 NOOP (CUSTOMREQUEST)' POP3, Clear Text, NOOP, CUSTOMREQUEST FAIL 861: 'POP3 UIDL (CUSTOMREQUEST)' POP3, Clear Text, UIDL, CUSTOMREQUEST, RFC2449 FAIL 862: 'POP3 retrieve message header (CUSTOMREQUEST)' POP3, Clear Text, TOP, CUSTOMREQUEST, RFC2449 FAIL 863: 'POP3 RSET (CUSTOMREQUEST)' POP3, Clear Text, RSET, CUSTOMREQUEST FAIL 864: 'POP3 APOP authentication' POP3, APOP FAIL 865: 'POP3 plain authentication' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 866: 'POP3 login authentication' POP3, SASL, SASL AUTH LOGIN, RFC1734, RFC5034 FAIL 867: 'POP3 CRAM-MD5 authentication' POP3, SASL, SASL AUTH CRAM-MD5, RFC1734, RFC2195, RFC5034 FAIL 868: 'POP3 NTLM authentication' POP3, SASL, SASL AUTH NTLM, RFC1734, RFC5034, NTLM FAIL 870: 'POP3 OAuth 2.0 (XOAUTH2) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749 FAIL 871: 'POP3 plain authentication with initial response' POP3, SASL, SASL AUTH PLAIN, SASL-IR, RFC1734, RFC4616, RFC5034 FAIL 872: 'POP3 login authentication with initial response' POP3, SASL, SASL AUTH LOGIN, SASL-IR, RFC1734, RFC5034 FAIL 873: 'POP3 NTLM authentication with initial response' POP3, SASL, SASL AUTH NTLM, SASL-IR, RFC1734, RFC5034, NTLM FAIL 874: 'POP3 OAuth 2.0 (XOAUTH2) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749 FAIL 875: 'POP3 with URL-encoded CR LF in the URL' POP3, CRLF-in-URL FAIL 876: 'POP3 CRAM-MD5 graceful cancellation' POP3, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC1734, RFC2195, RFC5034 FAIL 877: 'POP3 NTLM graceful cancellation' POP3, SASL, SASL AUTH NTLM, SASL CANCELLATION, RFC1734, RFC5034 FAIL 879: 'POP3 CRAM-MD5 authentication with SASL downgrade' POP3, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, RFC2195, RFC5034 FAIL 880: 'POP3 NTLM authentication with SASL downgrade' POP3, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, RFC5034 FAIL 883: 'POP3 external authentication' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034 FAIL 884: 'POP3 external authentication without credentials' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034 FAIL 885: 'POP3 external authentication with initial response' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034 FAIL 886: 'POP3 external authentication with initial response without credentials' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034 FAIL 887: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 888: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 889: 'POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 890: 'POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 891: 'POP3 with short authentication response' POP3 FAIL 892: 'POP3 plain authentication with alternative authorization identity' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 893: 'POP3 plain authentication with alternative authorization identity (Not authorized)' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 894: 'POP3 with CR in username' POP3, Clear Text, RETR FAIL 895: 'IMAP with --login-options 'AUTH=*'' IMAP, Clear Text, FETCH, --login-options FAIL 896: 'IMAP with --login-options 'AUTH=dummy' (failing)' IMAP, Clear Text, FETCH, --login-options FAIL 897: 'IMAP and envelope meta data after body transfer' IMAP, Clear Text, FETCH FAIL 898: 'HTTP with custom auth and cookies redirected to HTTP on a diff port' HTTP, HTTP proxy, --location, Authorization, Cookie FAIL 899: 'URL with credentials redirects to URL with different credentials' HTTP, HTTP GET, Basic FAIL 900: 'SMTP' SMTP FAIL 901: 'SMTP with CRLF-dot-CRLF in data' SMTP FAIL 902: 'RFC821-only SMTP server (EHLO not supported)' SMTP, SMTP HELO, RFC821 FAIL 903: 'SMTP plain authentication' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 904: 'SMTP login authentication' SMTP, SASL, SASL AUTH LOGIN, RFC4954 FAIL 905: 'SMTP CRAM-MD5 authentication' SMTP, SASL, SASL AUTH CRAM-MD5, RFC2195, RFC4954 FAIL 906: 'SMTP NTLM authentication' SMTP, SASL, SASL AUTH NTLM, RFC4954, NTLM FAIL 908: 'SMTP OAuth 2.0 (XOAUTH2) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749 FAIL 909: 'SMTP without SIZE support' SMTP FAIL 910: 'SMTP without terminating CRLF' SMTP FAIL 911: 'SMTP with no mail data' SMTP FAIL 912: 'SMTP with SIZE support' SMTP, SIZE FAIL 913: 'SMTP with large message SIZE' SMTP, SIZE FAIL 914: 'SMTP invalid --mail-from' SMTP FAIL 915: 'SMTP without --mail-from' SMTP FAIL 916: 'SMTP with invalid --mail-rcpt' SMTP FAIL 917: 'SMTP with multiple --mail-rcpt' SMTP FAIL 918: 'SMTP with multiple and invalid --mail-rcpt' SMTP FAIL 919: 'SMTP plain authentication with initial response' SMTP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616, RFC4954 FAIL 920: 'SMTP login authentication with initial response' SMTP, SASL, SASL AUTH LOGIN, SASL-IR, RFC4954 FAIL 921: 'SMTP NTLM authentication with initial response' SMTP, SASL, SASL AUTH NTLM, SASL-IR, RFC4954, NTLM FAIL 922: 'SMTP OAuth 2.0 (XOAUTH2) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749 FAIL 923: 'SMTP VRFY' SMTP, VRFY FAIL 924: 'SMTP ambiguous VRFY' SMTP, VRFY FAIL 925: 'SMTP external VRFY' SMTP, VRFY FAIL 926: 'SMTP unknown user VRFY' SMTP, VRFY FAIL 927: 'SMTP mailing list EXPN (CUSTOMREQUEST)' SMTP, EXPN, CUSTOMREQUEST FAIL 928: 'SMTP HELP' SMTP, HELP FAIL 929: 'SMTP NOOP (CUSTOMREQUEST)' SMTP, NOOP, CUSTOMREQUEST FAIL 930: 'SMTP RSET (CUSTOMREQUEST)' SMTP, RSET, CUSTOMREQUEST FAIL 931: 'SMTP with URL-encoded CR LF in the URL' SMTP, CRLF-in-URL FAIL 932: 'SMTP CRAM-MD5 graceful cancellation' SMTP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195, RFC4954 FAIL 933: 'SMTP NTLM graceful cancellation' SMTP, SASL, SASL AUTH NTLM, SASL CANCELLATION, RFC4954 FAIL 935: 'SMTP CRAM-MD5 authentication with SASL downgrade' SMTP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195, RFC4954 FAIL 936: 'SMTP NTLM authentication with SASL downgrade' SMTP, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE, RFC4954 FAIL 939: 'RFC821-only SMTP with username and password' SMTP, RFC821 FAIL 940: 'SMTP with username and password but no AUTH capability' SMTP FAIL 941: 'SMTP with --crlf' SMTP, --crlf FAIL 942: 'SMTP external authentication' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954 FAIL 943: 'SMTP external authentication without credentials' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954 FAIL 944: 'SMTP external authentication with initial response' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954 FAIL 945: 'SMTP external authentication with initial response without credentials' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954 FAIL 946: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628 FAIL 947: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628 FAIL 948: 'SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628 FAIL 949: 'SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628 FAIL 950: 'SMTP VRFY with custom request' SMTP, VRFY, --request FAIL 951: 'SMTP data with dot as first character' SMTP FAIL 952: 'SMTP data with single dot-only line' SMTP FAIL 953: 'SMTP plain authentication with alternative authorization identity' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 954: 'SMTP plain authentication with alternative authorization identity (Not authorized)' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4%TESTNUMBER FAIL 955: 'SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)' SMTP FAIL 956: 'SMTP without SMTPUTF8 support - UTF-8 based recipient (local part only)' SMTP FAIL 957: 'SMTP VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)' SMTP, VRFY FAIL 958: 'SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)' SMTP, VRFY FAIL 962: 'SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)' SMTP, IDN FAIL 963: 'SMTP without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)' SMTP, IDN FAIL 964: 'SMTP external VRFY without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)' SMTP, VRFY, IDN FAIL 965: 'SMTP with SMTPUTF8 support - UTF-8 based sender' SMTP, IDN FAIL 966: 'SMTP with SMTPUTF8 support - UTF-8 based recipient' SMTP, IDN FAIL 967: 'SMTP external VRFY with SMTPUTF8 support' SMTP, VRFY, IDN FAIL 968: 'SMTP VRFY with SMTPUTF8 support' SMTP, VRFY, IDN FAIL 969: 'SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support' SMTP, EXPN, CUSTOMREQUEST, IDN FAIL 973: 'HTTP with auth redirected to FTP w/o auth' HTTP, FTP, --location FAIL 974: 'HTTP with auth redirected to HTTP on a diff port w/o auth' HTTP, HTTP proxy, --location FAIL 975: 'HTTP with auth redirected to FTP allowing auth to continue' HTTP, FTP, --location-trusted FAIL 976: 'HTTP with auth redirected to HTTP on a diff port --location-trusted' HTTP, HTTP proxy, --location-trusted FAIL 977: 'URL with trailing dot and receiving a cookie for the TLD with dot' HTTP, HTTP proxy, cookies FAIL 978: 'verify that --stderr works for -w's stderr as well' HTTP, --stderr FAIL 979: '-u with redirect to absolute URL using same origin and auth' HTTP, HTTP GET, Basic FAIL 980: 'SMTP STARTTLS pipelined server response' SMTP, STARTTLS FAIL 981: 'IMAP STARTTLS pipelined server response' IMAP, STARTTLS FAIL 982: 'POP3 STARTTLS pipelined server response' POP3, STARTTLS FAIL 983: 'FTP STARTTLS pipelined server response' FTP, STARTTLS FAIL 984: 'IMAP require STARTTLS with failing capabilities' IMAP, STARTTLS FAIL 985: 'POP3 require STARTTLS with failing capabilities' POP3, STARTTLS FAIL 986: 'FTP require STARTTLS while preauthenticated' FTP, STARTTLS FAIL 990: 'use -w %output{}' HTTP, HTTP GET, -w FAIL 991: 'use -w %output{} append' HTTP, HTTP GET, -w FAIL 992: 'SASL verify default mechanisms are reset by login options' SASL FAIL 993: 'POP3 LIST 1000 messages' POP3, Clear Text, LIST FAIL 994: '--skip-existing with globbing' HTTP, HTTP GET FAIL 995: '--skip-existing without file present' HTTP, HTTP GET FAIL 996: '--skip-existing with file present' HTTP, HTTP GET FAIL 997: 'POP3 retrieve STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST, RFC2449 FAIL 998: 'HTTP with auth in URL redirected to another host' HTTP, --location-trusted FAIL 999: 'HTTP with auth in first URL but not second' HTTP, --location-trusted FAIL 1000: 'FTP dir list PASV with -I' FTP, PASV, LIST, NOBODY FAIL 1001: 'HTTP POST --digest with PUT and resumed upload and modified method' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 1002: 'HTTP PUT with Digest auth, resumed upload and modified method, twice' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 1003: 'FTP with excessively large server command response line' FTP, RETR, huge response FAIL 1004: 'HTTP GET with empty proxy' HTTP, HTTP GET, HTTP proxy FAIL 1005: 'FTP with excessively large number of server command response lines' FTP, RETR, huge response FAIL 1006: 'FTP with excessively large number of server command response lines (boundary condition)' FTP, RETR, huge response FAIL 1007: 'TFTP send with invalid permission on server' TFTP, TFTP WRQ, FAILURE FAIL 1008: 'HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, chunked Transfer-Encoding, NTLM FAIL 1009: 'TFTP retrieve with --local-port' TFTP, TFTP RRQ, --local-port FAIL 1010: 'FTP dir list nocwd' FTP, PASV, LIST FAIL 1011: 'HTTP POST with 301 redirect' HTTP, HTTP POST, followlocation FAIL 1012: 'HTTP POST with 301 redirect and --post301' HTTP, HTTP POST, followlocation FAIL 1013: 'Compare curl --version with curl-config --protocols' curl-config FAIL 1014: 'Compare curl --version with curl-config --features' curl-config FAIL 1015: '--data-urlencode' HTTP, HTTP POST, --data-urlencode FAIL 1016: 'X-Y range on a file:// URL to stdout' FILE, Range FAIL 1017: '0-Y range on a file:// URL to stdout' FILE, Range FAIL 1018: 'X-X range on a file:// URL to stdout' FILE, Range FAIL 1019: 'X- range on a file:// URL to stdout' FILE, Range FAIL 1020: '-Y range on a file:// URL to stdout' FILE, Range FAIL 1021: 'HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, --proxy-anyauth, NTLM FAIL 1022: 'Compare curl --version with curl-config --version' curl-config FAIL 1023: 'Compare curl --version with curl-config --vernum' curl-config FAIL 1024: 'HTTP Location: following with cookies' HTTP, HTTP GET, followlocation, cookies FAIL 1025: 'HTTP Location: following with command-line and server cookies' HTTP, HTTP GET, followlocation, cookies FAIL 1027: 'curl --help' --help FAIL 1028: 'HTTP Location: redirect to FTP URL' HTTP, HTTP GET, followlocation, FTP, PASV, FILE FAIL 1029: 'HTTP Location: and 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1030: 'HTTP PUT with --anyauth authorization (picking Digest)' HTTP, HTTP PUT, HTTP Digest auth, --anyauth FAIL 1031: 'HTTP Location: following to a query string' HTTP, HTTP GET, followlocation FAIL 1032: 'HTTP HEAD with --range' HTTP, HTTP HEAD, Range FAIL 1033: 'HTTP GET with 102 response!' HTTP, HTTP GET FAIL 1034: 'HTTP over proxy with malformatted IDN host name' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE, config file FAIL 1035: 'HTTP over proxy with too long IDN host name' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE FAIL 1036: 'FTP download resume from end of file' FTP, PASV, RETR, Resume FAIL 1037: 'FTP download resume from end of empty file' FTP, PASV, RETR, Resume FAIL 1038: 'FTP PASV upload resume from end of file' FTP, EPSV, APPE, Resume FAIL 1039: 'FTP PASV upload resume from end of empty file' FTP, EPSV, APPE, Resume FAIL 1040: 'HTTP GET with resume from end of entirely-downloaded file' HTTP, HTTP GET, Resume FAIL 1041: 'HTTP PUT with resume from end of already-uploaded file' HTTP, HTTP PUT, Resume, Content-Range FAIL 1042: 'HTTP GET beyond end of entirely-downloaded file, no server resume' HTTP, HTTP GET, Resume, FAILURE FAIL 1043: 'HTTP GET with resume from end of file' HTTP, HTTP GET, Resume FAIL 1044: 'FTP download large file info with -I' FTP, NOBODY, Largefile FAIL 1045: 'HTTP GET with numeric localhost --interface' HTTP, HTTP GET, --interface FAIL 1046: 'HTTP-IPv6 GET with numeric localhost --interface' HTTP, HTTP GET, --interface, IPv6 FAIL 1047: 'FTP dir list PASV with localhost --interface' FTP, PASV, LIST, --interface FAIL 1048: 'FTP-IPv6 dir list PASV with localhost --interface' FTP, FTP-ipv6, IPv6, PASV, LIST, --interface FAIL 1049: 'TFTP retrieve with localhost --interface' TFTP, TFTP RRQ, --interface FAIL 1050: 'FTP-IPv6 dir list, EPRT with specified IP' FTP, FTP-ipv6, IPv6, EPRT FAIL 1051: 'HTTP PUT with Location: following' HTTP, HTTP PUT, followlocation FAIL 1052: 'HTTP 1.0 PUT with Location: following' HTTP, HTTP PUT, followlocation FAIL 1053: 'HTTP RFC1867-type formposting from file with Location: following' HTTP, HTTP FORMPOST, HTTP file upload, followlocation FAIL 1054: 'HTTP POST from file with 301 redirect and --post301' HTTP, HTTP POST, followlocation FAIL 1055: 'HTTP PUT Location: redirect to FTP URL' HTTP, HTTP PUT, followlocation, FTP, EPSV, STOR FAIL 1056: 'HTTP follow redirect from IPv4 to IPv6 with scope' HTTP, HTTP GET, followlocation, IPv6 FAIL 1057: 'FTP retrieve a byte-range relative to end of file' FTP, EPSV, RETR, Range FAIL 1058: 'HTTP range relative to end of file' HTTP, HTTP GET, Content-Range FAIL 1059: 'HTTP CONNECT with proxytunnel to unsupported FTP URL' HTTP, HTTP CONNECT, proxytunnel, FTP, FAILURE FAIL 1060: 'HTTP proxy CONNECT auth Digest, large headers and data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 1061: 'HTTP proxy CONNECT auth Digest, large headers and chunked data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, chunked Transfer-Encoding, proxytunnel, HTTP proxy Digest auth FAIL 1062: 'FTP with excessively long server command response lines, boundary condition' FTP, RETR, huge response FAIL 1063: 'Invalid large X- range on a file://' FILE, Range, FAILURE FAIL 1064: 'HTTP PUT twice' HTTP, HTTP PUT FAIL 1065: 'HTTP PUT with one file but two URLs' HTTP, HTTP PUT, HTTP GET FAIL 1066: 'HTTP --dump-header - with two URLs' HTTP, HTTP GET FAIL 1067: 'HTTP Location: following with auto-referer' HTTP, HTTP GET, followlocation FAIL 1068: 'HTTP PUT from stdin' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 1069: 'HTTP 1.0 PUT from stdin with no content length' HTTP, HTTP PUT, HTTP/1.0 FAIL 1070: 'HTTP POST with server closing connection before (all) data is received' HTTP, HTTP POST FAIL 1071: 'Downgraded HTTP PUT to HTTP 1.0 with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0 FAIL 1072: 'HTTP chunked PUT to HTTP 1.0 server with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0, chunked Transfer-Encoding FAIL 1073: 'HTTP chunked PUT to HTTP 1.0 server with redirect' HTTP, HTTP PUT, HTTP/1.0, followlocation, chunked Transfer-Encoding FAIL 1074: 'HTTP downgrade to HTTP/1.0 on second request' HTTP, HTTP GET, HTTP/1.0, DELAY FAIL 1075: 'HTTP PUT with --anyauth authorization (picking Basic)' HTTP, HTTP PUT, HTTP Basic auth, --anyauth FAIL 1076: 'HTTP POST with 302 redirect and --post302' HTTP, HTTP POST, followlocation FAIL 1077: 'FTP over HTTP proxy with downgrade to HTTP 1.0' FTP, HTTP, HTTP/1.0, HTTP GET, HTTP proxy FAIL 1078: 'HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0' HTTP, HTTP/1.0, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1079: 'HTTP retry after closed connection and empty response' HTTP, HTTP GET, HTTP Digest auth FAIL 1080: 'HTTP Location: on two URLs 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1081: 'HTTP no Location: on second URL 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1082: 'HTTP GET with localhost --interface' HTTP, HTTP GET, --interface FAIL 1083: 'HTTP-IPv6 GET with ip6-localhost --interface' HTTP, HTTP GET, --interface, IPv6 FAIL 1084: 'HTTP GET with invalid --interface' HTTP, HTTP GET, --interface, FAILURE, non-existing host FAIL 1085: 'HTTP-IPv6 GET with invalid --interface' HTTP, HTTP GET, --interface, IPv6, FAILURE, non-existing host FAIL 1087: 'HTTP, proxy with --anyauth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth FAIL 1088: 'HTTP, proxy with --anyauth and Location: to new host using location-trusted' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth, --location-trusted FAIL 1089: 'HTTP GET --write-out with redirected fetch' HTTP, HTTP GET, followlocation, --write-out FAIL 1090: 'HTTP GET --write-out with redirected fetch and chunked reply' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out FAIL 1091: 'FTP URL with type=i' FTP, RETR, type= FAIL 1092: 'FTP with type=i over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy, type= FAIL 1093: 'TFTP retrieve with mode=i' TFTP, TFTP RRQ, mode= FAIL 1094: 'TFTP retrieve with mode=netascii' TFTP, TFTP RRQ, mode= FAIL 1095: 'HTTP with Digest and realm with quoted quotes' HTTP, HTTP GET, HTTP Digest auth FAIL 1096: 'Two FTP downloads, with failed RETR but reused control connection' FTP, PASV, RETR, FAILURE FAIL 1098: 'FTP RETR twice over proxy confirming persistent connection' FTP, HTTP proxy, CURLOPT_PROXY FAIL 1099: 'TFTP get first a non-existing file then an existing' TFTP, TFTP RRQ, FAILURE FAIL 1101: 'NO_PROXY test, with user name in URL' HTTP, HTTP GET, HTTP Basic auth, NO_PROXY FAIL 1102: 'FTP OS/400 server name format check' FTP, SYST, SITE, OS400 FAIL 1103: 'FTP non-OS/400 server' FTP, SYST, SITE, OS400 FAIL 1104: 'HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1105: 'HTTP with cookie parser and header recording' HTTP, HTTP POST, cookies, cookiejar FAIL 1106: 'FTP URL and with ftp_proxy environment variable set' FTP, CURLOPT_PORT, HTTP proxy FAIL 1107: 'FTP RETR PASV with PRET' FTP, PASV, RETR, PRET FAIL 1108: 'FTP RETR PASV with PRET not supported' FTP, PASV, RETR, PRET FAIL 1109: 'HTTP GET with URL that contains fragment after the path' HTTP, CURLOPT_URL FAIL 1110: 'HTTP GET with URL that contains a fragment after the query part' HTTP, CURLOPT_URL FAIL 1111: 'HTTP GET with URL whose fragment contains a # (which is illegal)' HTTP, CURLOPT_URL FAIL 1114: 'FTP wildcard download - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (DOS)' FTP, wildcardmatch, ftplistparser FAIL 1115: 'HTTP GET with unexpected 1xx response' HTTP, HTTP 1xx response code FAIL 1116: 'HTTP GET with chunked trailer without Trailer:' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1117: 'HTTP with invalid range then another URL' HTTP, HTTP GET, Range, DELAY FAIL 1118: 'URL without slash and @-letter in query' HTTP, HTTP GET FAIL 1120: 'FTP with 421 timeout response' FTP, PORT, RETR, 421, timeout, FAILURE FAIL 1121: 'HTTP multiple provided Host: headers' HTTP FAIL 1122: 'HTTP GET gzip transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1123: 'HTTP GET deflate transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1124: 'HTTP GET gzip+chunked transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding, chunked Transfer-Encoding FAIL 1125: 'HTTP GET transfer-encoding with custom Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1126: 'HTTP 200 If-Modified-Since with newer document' HTTP, HTTP GET, If-Modified-Since FAIL 1127: 'HTTP 200 If-Modified-Since with older document' HTTP, HTTP GET, If-Modified-Since FAIL 1128: 'HTTP 200 If-Modified-Since with old+new documents' HTTP, HTTP GET, If-Modified-Since FAIL 1129: 'HTTP POST expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue FAIL 1130: 'HTTP POST forced expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue FAIL 1131: 'HTTP PUT expect 100-continue with a 400' HTTP, HTTP PUT, Expect: 100-continue FAIL 1133: 'HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'' HTTP, HTTP FORMPOST FAIL 1134: 'HTTP connection reuse with different credentials' HTTP, HTTP HEAD, -G FAIL 1136: 'Check cookies against PSL' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, PSL FAIL 1137: 'FTP RETR --ignore-content-length' FTP, PASV, RETR, --ignore-content-length FAIL 1138: 'HTTP redirect with UTF-8 characters' HTTP, HTTP GET, followlocation FAIL 1141: 'HTTP redirect to http:/// (three slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1142: 'HTTP redirect to http://// (four slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1143: 'HTTP URL with http:/ (one slash!)' HTTP, HTTP GET, followlocation FAIL 1144: 'HTTP HEAD, receive no headers only body' HTTP, HTTP HEAD, HTTP/0.9 FAIL 1145: 'file:// bad host' FILE FAIL 1146: '--proto-default file' FILE, --proto-default FAIL 1147: 'Get -H headers from a file' HTTP, HTTP GET, -H FAIL 1148: 'progress-bar' HTTP, progressbar FAIL 1149: 'FTP dir list multicwd then again nocwd' FTP, PASV, LIST FAIL 1150: 'HTTP proxy with URLs using different ports' HTTP, HTTP GET, HTTP proxy FAIL 1151: 'HTTP with too long cookies' HTTP, HTTP GET, cookies FAIL 1152: 'FTP with uneven quote in PWD response' FTP, PASV, LIST FAIL 1153: 'FTP with quoted double quotes' FTP, PASV, LIST FAIL 1154: 'HTTP GET with 100K (too long) response header' HTTP, HTTP GET FAIL 1155: 'HTTP cookie with parameter word as name' HTTP, HTTP GET, cookies FAIL 1156: 'HTTP resume/range fail range-error content-range combinations' HTTP, HTTP GET, Content-Range, Resume, Range FAIL 1157: 'Get -H headers from empty file' HTTP, HTTP GET, -H FAIL 1158: 'HTTP RFC1867-type formposting with filename containing '"'' HTTP, HTTP FORMPOST FAIL 1159: 'HTTP Location: and 'redirect_url' with non-supported scheme' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1160: 'HTTP with long funny format cookie' HTTP, HTTP GET, cookies FAIL 1161: 'HTTP cookie with path set twice' HTTP, HTTP GET, cookies FAIL 1164: 'HTTP/0.9 GET and all zeroes' HTTP, HTTP GET FAIL 1166: 'HTTP response with cookies but not receiving!' HTTP, HTTP GET, followlocation, cookies FAIL 1168: 'HTTP redirect with credentials using # in user and password' HTTP, HTTP GET, followlocation FAIL 1170: 'HTTP GET transfer-encoding with removed Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1171: 'HTTP GET transfer-encoding with blanked Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1172: 'HTTP/0.9 GET response denied' HTTP, HTTP/0.9 FAIL 1174: 'HTTP/0.9 GET response denied by default' HTTP, HTTP/0.9 FAIL 1176: '--output using #0' globbing FAIL 1178: 'HTTP proxy auth with credentials longer than 256 bytes' HTTP, HTTP GET, HTTP proxy FAIL 1180: 'HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"' HTTP, HTTP proxy FAIL 1181: 'HTTP GET request with proxy and --proxy-header "Proxy-Connection: Keep-Alive"' HTTP, HTTP proxy FAIL 1183: '%TESTNUMBER used instead of actual test number' HTTP, HTTP GET FAIL 1186: 'Multipart formposting with backslash-escaping filename containing '"'' HTTP, HTTP FORMPOST FAIL 1187: 'SMTP multipart with file name escaping' SMTP, MULTIPART FAIL 1188: '--write-out with %{onerror} and %{urlnum} to stderr' HTTP, HTTP GET, --write-out FAIL 1189: 'Multipart formposting with backslash-escaping of name= and filename=' HTTP, HTTP FORMPOST FAIL 1190: 'MQTT SUBSCRIBE' MQTT, MQTT SUBSCRIBE FAIL 1191: 'MQTT PUBLISH' MQTT, MQTT PUBLISH FAIL 1192: 'MQTT SUBSCRIBE 2k topic' MQTT, MQTT SUBSCRIBE FAIL 1193: 'MQTT PUBLISH 2k payload' MQTT, MQTT PUBLISH FAIL 1194: 'MQTT SUBSCRIBE with PUBLISH befoire SUBACK' MQTT, MQTT SUBSCRIBE FAIL 1195: 'MQTT SUBSCRIBE with short PUBLISH' MQTT, MQTT SUBSCRIBE FAIL 1196: 'MQTT with error in CONNACK' MQTT, MQTT SUBSCRIBE FAIL 1197: 'HTTP POST redirected to GET and --write-out method' HTTP, HTTP GET, followlocation, --write-out FAIL 1198: 'MQTT PUBLISH empty payload, single space topic' MQTT, MQTT SUBSCRIBE FAIL 1199: 'MQTT PUBLISH empty payload, no topic' MQTT, MQTT SUBSCRIBE FAIL 1200: 'Gopher index' GOPHER, INDEX FAIL 1201: 'Gopher selector' GOPHER, SELECTOR FAIL 1202: 'Gopher query' GOPHER, QUERY FAIL 1203: 'Gopher IPv6 index' GOPHER-ipv6, IPv6, INDEX FAIL 1204: 'HTTP with WWW-Authenticate and multiple auths in a single line' HTTP, HTTP GET, HTTP Basic auth, --anyauth FAIL 1205: 'HTTP GET with 18K HTTP header' HTTP, HTTP GET FAIL 1206: 'FTP PORT and 425 on download' FTP, PORT, RETR, NODATACONN425 FAIL 1207: 'FTP PORT and 421 on download' FTP, PORT, RETR, NODATACONN421 FAIL 1210: 'HTTP GET with -J without Content-Disposition' HTTP, HTTP GET, -J FAIL 1212: 'noproxy setting together with socks proxy' HTTP, SOCKS5, NO_PROXY, noproxy FAIL 1213: 'HTTP with proxy and host-only URL' HTTP, HTTP GET, HTTP proxy FAIL 1214: 'HTTP with proxy and URL with ? and no slash separator' HTTP, HTTP GET, HTTP proxy FAIL 1215: 'HTTP with server NTLM authorization using a proxy' HTTP, HTTP GET, HTTP NTLM auth, HTTP proxy, NTLM FAIL 1216: 'HTTP cookie domains tailmatching the host name' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1217: 'FTP with rubbish before name in 257-response' FTP, PORT, NLST, --data-binary FAIL 1218: 'HTTP cookies and domains with same prefix' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1219: 'FTP with no user+password required (230 response)' FTP, PASV, RETR FAIL 1220: 'file:// URLs with query string' FILE, URL FAIL 1221: '--url-query with --data-urlencode' HTTP, HTTP POST, --data-urlencode, --url-query FAIL 1223: 'HTTP GET -w remote_ip and -w remote_port' HTTP, HTTP GET FAIL 1224: 'FTP fetch a file from the root directory' FTP, PASV, RETR FAIL 1225: 'FTP fetch two files using absolute paths' FTP, PASV, RETR FAIL 1226: 'FTP fetch a file from the root directory with singlecwd' FTP, PASV, RETR FAIL 1227: 'FTP fetch a file from the root directory with nocwd' FTP, PASV, RETR FAIL 1228: 'HTTP cookie path match' HTTP, HTTP GET, HTTP proxy, cookies, cookie path FAIL 1229: 'HTTP with Digest authorization with user name needing escape' HTTP, HTTP GET, HTTP Digest auth FAIL 1230: 'HTTP CONNECT to IPv6 numerical address' HTTP, HTTP CONNECT, HTTP proxy, IPv6 FAIL 1231: 'HTTP URL with dotdot removal from path' HTTP, HTTP GET, dotdot removal FAIL 1232: 'HTTP URL with dotdot removal from path using an HTTP proxy' HTTP, HTTP GET, HTTP proxy, dotdot removal FAIL 1233: 'FTP failing to connect to EPSV port, switching to PASV' FTP, connect to non-listen FAIL 1234: 'abusing {}-globbing' globbing, {} list, FAILURE FAIL 1235: 'multiple requests using {}{} in the URL' HTTP, HTTP GET, globbing, {} list FAIL 1236: '[] globbing overflowing the range counter' globbing, FAILURE FAIL 1237: 'URL with 1000+ letter user name + password' HTTP, HTTP Basic auth FAIL 1238: 'slow TFTP retrieve cancel due to -Y and -y' TFTP, TFTP RRQ, timeout, FAILURE, DELAY FAIL 1239: 'HTTP with -z + -w response_code and simulated 304' HTTP, HTTP GET, -z FAIL 1240: 'glob [0-1] with stuff after range (7.33.0 regression)' globbing, HTTP FAIL 1241: 'HTTP _without_ dotdot removal' HTTP, HTTP GET, HTTP proxy FAIL 1242: 'TFTP retrieve without TFTP options requests' TFTP, TFTP RRQ FAIL 1243: 'TFTP send without TFTP options requests' TFTP, TFTP WRQ FAIL 1245: '--proto deny must override --proto-redir allow' FTP, HTTP, HTTP GET, --proto, --proto-redir, followlocation FAIL 1246: 'URL with '#' at end of host name instead of '/'' HTTP, HTTP GET, HTTP proxy FAIL 1247: '--fail-early' HTTP, --fail-early FAIL 1248: 'Access a non-proxied host with using the combination of --proxy option and --noproxy option' HTTP, HTTP proxy, noproxy FAIL 1249: 'Access a non-proxied host with using the combination of --proxy option and NO_PROXY env var' HTTP, HTTP proxy, NO_PROXY FAIL 1250: 'Access a non-proxied host with using the combination of http_proxy env var and --noproxy option' HTTP, HTTP proxy, http_proxy, noproxy FAIL 1251: 'Access a non-proxied host with using the combination of http_proxy env var and NO_PROXY env var' HTTP, HTTP proxy, http_proxy, NO_PROXY FAIL 1252: 'Under condition using --proxy, override NO_PROXY by --nproxy and access target URL directly' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1253: 'Under condition using --proxy, override NO_PROXY by --nproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1254: 'override NO_PROXY by --noproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1255: 'Under condition using http_proxy, override NO_PROXY by --nproxy and access target URL directly' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1256: 'Under condition using http_proxy, override NO_PROXY by --nproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1257: 'Under condition using http_proxy, override NO_PROXY by --nproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1258: 'HTTP, use cookies with localhost' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly FAIL 1259: 'HTTP URL with semicolon in password' HTTP, HTTP GET FAIL 1260: 'HTTP URL with rubbish after port number' HTTP, HTTP GET FAIL 1261: ''redirect_url' with --location and --max-redirs' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1262: 'FTP request and denied to download an older file with -z' FTP, RETR, -z FAIL 1263: 'HTTP URL with rubbish after IPv6 bracket' HTTP, HTTP GET FAIL 1264: 'HTTP URL with space in host name' HTTP, HTTP GET FAIL 1265: 'NO_PROXY with IPv6 numerical address' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1266: 'HTTP GET with a single-byte HTTP/0.9 response' HTTP/0.9 FAIL 1267: 'HTTP GET with a invalid HTTP/1 response line start' HTTP/0.9 FAIL 1268: 'filename argument looks like a flag' warning FAIL 1269: 'too large --retry-delay value' --retry-delay FAIL 1270: 'Basic 'redirect_url'' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1271: '--write-out from file with empty file' HTTP, HTTP GET, --write-out FAIL 1273: '-f and resume transfer of an entirely-downloaded file' HTTP, HTTP GET, Resume FAIL 1274: 'HTTP header line folding' HTTP, HTTP GET, header line folding FAIL 1277: 'HTTP GET with both content and transfer encoding' HTTP, HTTP GET, compressed, Transfer-Encoding, Content-Encoding FAIL 1278: 'verify extra --no-remote-name' --no-remote-name FAIL 1280: 'simple [a-d] globbing' globbing FAIL 1281: 'reject non-numerical port number in URL' URL FAIL 1282: 'FTP with 633 response before gss initialized' FTP, PASV, RETR FAIL 1283: 'globbing range with same start and stop' HTTP, HTTP GET, globbing, [] range FAIL 1284: 'HTTP POST --digest with user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 1285: 'HTTP PUT --digest with user-specified Content-Length header' HTTP, HTTP PUT, HTTP Digest auth FAIL 1286: 'HTTP GET --digest increasing nonce-count' HTTP, HTTP GET, HTTP Digest auth, followlocation FAIL 1287: 'HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses' HTTP, HTTP GET, HTTP CONNECT, proxytunnel, verbose logs FAIL 1288: 'Suppress proxy CONNECT response headers' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1289: 'globbing with overflow and bad syntxx' HTTP, HTTP GET, globbing FAIL 1290: 'Verify URL globbing ignores []' HTTP, HTTP GET, globbing FAIL 1291: 'Attempt to upload 1000 files but fail immediately' HTTP, HTTP PUT FAIL 1292: 'Replaced internal headers with a blank one' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers FAIL 1293: 'Multipart formpost to two URLs, the first failing' HTTP, HTTP GET, -F FAIL 1296: 'HTTP URL with %0a in name part' HTTP, HTTP Basic FAIL 1297: 'CONNECT to peer that returns nothing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1298: 'HTTP GET special path with --request-target' HTTP, HTTP GET, --request-target FAIL 1299: 'Send "OPTIONS *" with --request-target' HTTP, --request-target FAIL 1310: 'HTTP GET with -J + --show-headers' HTTP, HTTP GET, -J, --show-headers FAIL 1311: 'HTTP GET with -J and Content-Disposition' HTTP, HTTP GET, -J FAIL 1312: 'HTTP GET with -J, Content-Disposition and ; in filename' HTTP, HTTP GET, -J FAIL 1313: 'HTTP GET with -J, Content-Disposition, uneven quotes' HTTP, HTTP GET, -J FAIL 1314: 'HTTP Location: following a // prefixed url' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1315: 'HTTP RFC1867-type formposting - -F with three files, one with explicit type' HTTP, HTTP FORMPOST, HTTP file upload FAIL 1317: 'HTTP with --resolve' HTTP, HTTP GET, --resolve FAIL 1318: 'HTTP with --resolve and same host name using different cases' HTTP, HTTP GET, --resolve FAIL 1319: 'POP3 fetch tunneled through HTTP proxy' POP3, RETR, HTTP, HTTP CONNECT, HTTP proxy FAIL 1320: 'SMTP send tunneled through HTTP proxy' SMTP, HTTP, HTTP CONNECT, HTTP proxy FAIL 1321: 'IMAP FETCH tunneled through HTTP proxy' IMAP, FETCH, HTTP, HTTP CONNECT, HTTP proxy FAIL 1322: 'HTTP with --resolve and hostname with trailing dot' HTTP, HTTP GET, --resolve, trailing dot FAIL 1324: 'HTTP with --resolve and [ipv6address]' HTTP, HTTP GET, --resolve FAIL 1325: 'HTTP 308-redirect with POST' HTTP, HTTP GET, 308, followlocation FAIL 1326: 'TELNET to HTTP server' TELNET, UPLOAD FAIL 1327: 'TELNET check of upload with stdout redirected' TELNET, UPLOAD FAIL 1328: 'HTTP GET a globbed range with -f' HTTP, HTTP GET, globbing, --fail FAIL 1329: '/-prefixed proxy name' HTTP proxy FAIL 1331: 'HTTP --proxy-anyauth and 407 with cookies' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1332: 'HTTP POST with 303 redirect and --post303' HTTP, HTTP POST, followlocation FAIL 1333: 'HTTP POST zero length, chunked-encoded' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1334: 'HTTP GET with -O without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1335: 'HTTP GET with -O without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1336: 'HTTP GET with -O and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1337: 'HTTP GET with -O and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1338: 'HTTP GET with -O -J without Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1339: 'HTTP GET with -O -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1340: 'HTTP GET with -O -J and Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1341: 'HTTP GET with -O -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1342: 'HTTP GET with -O -i without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1343: 'HTTP GET with -O -i without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1344: 'HTTP GET with -O -i and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1345: 'HTTP GET with -O -i and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1346: 'HTTP GET with -O -i without Content-Disposition, without -D' HTTP, HTTP GET FAIL 1347: 'HTTP GET with -O -i and Content-Disposition, without -D' HTTP, HTTP GET FAIL 1348: 'FTP download, file without Content-Disposition inside, using -O' FTP, RETR FAIL 1349: 'FTP download, file without C-D inside, using -O -D file' FTP, RETR FAIL 1350: 'FTP download, file without C-D inside, using -O -D stdout' FTP, RETR FAIL 1351: 'FTP download, file without C-D inside, using -O -J -D file' FTP, RETR, -J FAIL 1352: 'FTP download, file without C-D inside, using -O -J -D stdout' FTP, RETR, -J FAIL 1353: 'FTP download, file without C-D inside, using -O -i -D file' FTP, RETR FAIL 1354: 'FTP download, file without C-D inside, using -O -i -D stdout' FTP, RETR FAIL 1355: 'FTP download, file without C-D inside, using -O -i, without -D' FTP, RETR FAIL 1356: 'FTP download, file with Content-Disposition inside, using -O' FTP, RETR FAIL 1357: 'FTP download, file with C-D inside, using -O -D file' FTP, RETR FAIL 1358: 'FTP download, file with C-D inside, using -O -D stdout' FTP, RETR FAIL 1359: 'FTP download, file with C-D inside, using -O -J -D file' FTP, RETR, -J FAIL 1360: 'FTP download, file with C-D inside, using -O -J -D stdout' FTP, RETR, -J FAIL 1361: 'FTP download, file with C-D inside, using -O -i -D file' FTP, RETR FAIL 1362: 'FTP download, file with C-D inside, using -O -i -D stdout' FTP, RETR FAIL 1363: 'FTP download, file with C-D inside, using -O -i, without -D' FTP, RETR FAIL 1364: 'HTTP GET -o fname without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1365: 'HTTP GET -o fname without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1366: 'HTTP GET -o fname and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1367: 'HTTP GET -o fname and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1368: 'HTTP GET -o fname -J without Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1369: 'HTTP GET -o fname -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1370: 'HTTP GET -o fname -J and Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1371: 'HTTP GET -o fname -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1372: 'HTTP GET -o fname -i without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1373: 'HTTP GET -o fname -i without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1374: 'HTTP GET -o fname -i and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1375: 'HTTP GET -o fname -i and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1376: 'HTTP GET -o fname -i without Content-Disposition, without -D' HTTP, HTTP GET FAIL 1377: 'HTTP GET -o fname -i and Content-Disposition, without -D' HTTP, HTTP GET FAIL 1378: 'FTP DL, file without Content-Disposition inside, using -o fname' FTP, RETR FAIL 1379: 'FTP DL, file without C-D inside, using -o fname -D file' FTP, RETR FAIL 1380: 'FTP DL, file without C-D inside, using -o fname -D stdout' FTP, RETR FAIL 1381: 'FTP DL, file without C-D inside, using -o fname -J -D file' FTP, RETR, -J FAIL 1382: 'FTP DL, file without C-D inside, using -o fname -J -D stdout' FTP, RETR, -J FAIL 1383: 'FTP DL, file without C-D inside, using -o fname -i -D file' FTP, RETR FAIL 1384: 'FTP DL, file without C-D inside, using -o fname -i -D stdout' FTP, RETR FAIL 1385: 'FTP DL, file without C-D inside, using -o fname -i, without -D' FTP, RETR FAIL 1386: 'FTP DL, file with Content-Disposition inside, using -o fname' FTP, RETR FAIL 1387: 'FTP DL, file with C-D inside, using -o fname -D file' FTP, RETR FAIL 1388: 'FTP DL, file with C-D inside, using -o fname -D stdout' FTP, RETR FAIL 1389: 'FTP DL, file with C-D inside, using -o fname -J -D file' FTP, RETR, -J FAIL 1390: 'FTP DL, file with C-D inside, using -o fname -J -D stdout' FTP, RETR, -J FAIL 1391: 'FTP DL, file with C-D inside, using -o fname -i -D file' FTP, RETR FAIL 1392: 'FTP DL, file with C-D inside, using -o fname -i -D stdout' FTP, RETR FAIL 1393: 'FTP DL, file with C-D inside, using -o fname -i, without -D' FTP, RETR FAIL 1400: '--libcurl for simple HTTP GET' HTTP, HTTP GET, --libcurl FAIL 1401: '--libcurl for GET with various options' HTTP, HTTP GET, HTTP Basic auth, HTTP set cookie, cookies, --libcurl FAIL 1402: '--libcurl for simple POST' HTTP, HTTP POST, --libcurl FAIL 1403: '--libcurl for GET with query' HTTP, HTTP GET, --libcurl FAIL 1404: '--libcurl for HTTP RFC1867-type formposting - -F with 3 files, one with explicit type & encoder' HTTP, HTTP FORMPOST, HTTP file upload, --libcurl FAIL 1405: '--libcurl for FTP with quote ops' FTP, post-quote, pre-quote, --libcurl FAIL 1406: '--libcurl for SMTP' SMTP, --libcurl FAIL 1407: '--libcurl for POP3 LIST one message' POP3, Clear Text , LIST, --libcurl FAIL 1408: 'HTTP receive cookies over IPV6' HTTP, HTTP GET, IPv6, cookies, cookiejar FAIL 1409: 'Pass in string to -C' cmdline, FAILURE FAIL 1410: 'Pass in negative number to --max-time' cmdline, FAILURE FAIL 1411: 'HTTP with zero size file PUT' HTTP, HTTP PUT FAIL 1412: 'HTTP GET with --anyauth with two URLs (picking Digest)' HTTP, HTTP GET, HTTP Digest auth, --anyauth FAIL 1413: 'HTTP redirect with fragment in new URL' HTTP, HTTP GET, followlocation FAIL 1414: 'FTP PORT without SIZE or EPRT support' FTP, PORT, RETR, no SIZE FAIL 1415: 'Delete expired cookies' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, delete expired cookie FAIL 1416: 'HTTP GET with chunked Transfer-Encoding overflowed chunked size' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1417: 'HTTP GET with chunked encoding and chunked trailer without CRs' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1418: 'HTTP with --anyauth and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse FAIL 1419: 'HTTP with --anyauth (but no auth!) and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse FAIL 1420: '--libcurl for IMAP FETCH message' IMAP, Clear Text , FETCH, --libcurl FAIL 1421: 'Re-using HTTP proxy connection for two different host names' HTTP, HTTP GET, HTTP proxy FAIL 1422: 'HTTP GET with -O -J and Content-Disposition (empty file)' HTTP, HTTP GET, -J FAIL 1423: 'HTTP GET -o fname without Content-Disposition (empty file)' HTTP, HTTP GET FAIL 1424: 'HTTP GET -o fname without Content-Disposition (unmet time condition)' HTTP, HTTP GET, If-Modified-Since, -z FAIL 1427: 'too large -m timeout value' integer overflow FAIL 1428: 'HTTP over proxy-tunnel with --proxy-header and --header' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 1429: 'HTTP GET with 999 response code' HTTP, HTTP GET, HTTP/0.9 FAIL 1430: 'HTTP GET with negative response code' HTTP, HTTP GET FAIL 1431: 'HTTP GET with single-digit response code' HTTP, HTTP GET FAIL 1432: 'HTTP GET with 100-digit response code and survive' HTTP, HTTP GET FAIL 1433: 'HTTP GET with 100-digit subversion number in response' HTTP, HTTP GET FAIL 1434: 'HTTP GET resume at exactly the existing file size is fine' HTTP, HTTP GET, Resume FAIL 1435: 'simple HTTP GET over Unix socket' HTTP, HTTP GET, UnixSockets FAIL 1436: 'HTTP requests with multiple connections over Unix socket' HTTP, HTTP GET, UnixSockets FAIL 1437: 'HTTP with duplicated WWW-Authenticate parameters' HTTP, HTTP GET, HTTP Digest auth FAIL 1438: 'Check if %{scheme} returns HTTP' HTTP, protocol, --write-out FAIL 1439: 'Check if %{http_version} returns 1.1' HTTP, --write-out FAIL 1440: 'Check --write-out with trailing %{' --write-out, FILE FAIL 1441: 'Check --write-out with trailing %' --write-out, FILE FAIL 1442: 'Check --write-out with trailing \' --write-out, FILE FAIL 1443: 'HTTP GET with -O and --remote-time' HTTP, HTTP GET, -O, --remote-time FAIL 1444: 'FTP with --remote-time' FTP, EPSV, RETR, --remote-time FAIL 1445: 'file:// with --remote-time' FILE, --remote-time FAIL 1447: 'Provide illegal proxy name' HTTP proxy, FAILURE FAIL 1448: 'Redirect following to UTF-8 IDN host name' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 1449: 'FTP download range with integer overflow' FTP, PASV, RETR, Resume FAIL 1453: 'Too long tftp filename' Too long tftp filename, FAILURE FAIL 1455: 'HTTP GET when PROXY Protocol enabled' HTTP, HTTP GET, proxy, haproxy FAIL 1456: 'HTTP-IPv6 GET with PROXY protocol' HTTP, HTTP GET, proxy, haproxy, IPv6 FAIL 1457: 'Check if %{stderr} and %{stdout} switch between stdout and stderr.' HTTP, protocol, --write-out FAIL 1458: 'HTTP with wildcard --resolve' HTTP, HTTP GET, --resolve FAIL 1460: 'HTTP GET with -Ji and Content-Disposition with existing file' HTTP, HTTP GET, -J FAIL 1462: 'curl invalid category --help' --help FAIL 1463: 'curl file category --help' FILE, --help FAIL 1464: 'curl file category --help with lower/upper mix' FILE, --help FAIL 1465: '--libcurl for POST with binary content' HTTP, HTTP POST, --libcurl FAIL 1466: 'HTTP GET with 3-digit response and only digits in reason' HTTP, HTTP GET FAIL 1467: 'HTTP GET via SOCKS5 proxy via Unix sockets' HTTP, HTTP GET, SOCKS5, UnixSockets FAIL 1468: 'HTTP GET with host name using SOCKS5h via Unix sockets' HTTP, HTTP GET, SOCKS5, SOCKS5h, UnixSockets FAIL 1469: 'Space in FTP upload URL' FTP, URL, FAILURE FAIL 1471: 'Fail to resolve .onion TLD' Onion, Tor, FAILURE FAIL 1472: 'Fail to resolve .onion. TLD' Onion, Tor, FAILURE FAIL 1473: 'first HTTP header starts with white space' HTTP, HTTP GET, header line folding FAIL 1474: '--proto -all disables all protocols' HTTP, HTTP GET, --proto FAIL 1475: '-f and 416 with Content-Range: */size' HTTP, HTTP GET, Resume FAIL 1476: 'PSL violating cookie with mixed case domain and cookie domain property' HTTP, HTTP GET, cookies FAIL 1479: 'HTTP/1.1 response followed by an HTTP/0.9 response over the same connection' HTTP, HTTP/0.9 FAIL 1480: 'HTTP Continue response without final response' HTTP FAIL 1481: '--libcurl with TLS version options' HTTP, HTTP GET, --libcurl FAIL 1482: 'HTTP GET with double chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1483: 'HTTP GET with double chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1484: 'HTTP HEAD with response body to ignore' HTTP, HTTP HEAD FAIL 1485: 'get curlinfo on last header in callback' HTTP, HTTP GET FAIL 1487: 'HTTP GET with -J and Content-Disposition on 301' HTTP, HTTP GET, -J FAIL 1489: '-D sent to stderr' HTTP, HTTP GET FAIL 1490: '"upload" with file:// overwriting existing' FILE FAIL 1491: 'file:// don't overwrite self with --skip-existing' FILE FAIL 1492: 'HTTP GET with -J + --show-headers but no Content-Disposition:' HTTP, HTTP GET, -J, --show-headers FAIL 1500: 'curl_multi_wait' HTTP, HTTP GET, multi FAIL 1501: 'FTP with multi interface and slow LIST response' FTP, RETR, multi, LIST, DELAY FAIL 1502: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1503: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1504: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1505: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1506: 'HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)' HTTP, multi, verbose logs FAIL 1507: 'SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK' SMTP, multi FAIL 1508: 'Close a multi handle without using it' HTTP, multi FAIL 1509: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1511: 'HTTP GET time conditions in repeated requests' HTTP, CURLOPT_TIMECONDITION FAIL 1513: 'return failure immediately from progress callback' PROGRESSFUNCTION, DELAY FAIL 1514: 'HTTP POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding FAIL 1515: 'caching of manual libcurl DNS entries after DNS cache timeout' HTTP, multi, FAILURE, resolve FAIL 1516: 'caching of manual libcurl DNS entries after dead connection' HTTP, multi, FAILURE, resolve FAIL 1517: 'HTTP POST, server responds before completed send' HTTP, POST, POST callback, slow callback, early response FAIL 1518: 'Extract Location: with broken URL' HTTP FAIL 1519: 'Extract Location: with broken absolute URL' HTTP FAIL 1520: 'SMTP with CRLF-dot-CRLF in data' SMTP FAIL 1521: 'Test all curl_easy_setopt and curl_easy_getinfo options' curl_easy_setopt FAIL 1522: 'CURLINFO_SIZE_UPLOAD with small SO_SNDBUF' CURLINFO_SIZE_UPLOAD FAIL 1523: 'CURLINFO_LOW_SPEED_LIMIT' CURLINFO_LOW_SPEED_LIMIT, DELAY FAIL 1524: 'HTTP PUT with 303 redirect' HTTP, HTTP PUT, followlocation FAIL 1525: 'CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER FAIL 1526: 'CURLOPT_PROXYHEADER: separate host/proxy headers' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER FAIL 1527: 'Check same headers are generated with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1528: 'Separately specified proxy/server headers sent in a proxy GET' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1529: 'HTTP request-injection in URL sent over proxy' HTTP, HTTP GET, HTTP proxy FAIL 1530: 'CURLOPT_OPENSOCKETFUNCTION returns bad socket' CURLOPT_OPENSOCKETFUNCTION FAIL 1531: 'CURLOPT_POSTFIELDS with binary data set after multi_add_handle' CURLOPT_POSTFIELDS FAIL 1532: 'Test CURLINFO_RESPONSE_CODE' HTTP, HTTP GET FAIL 1533: 'HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response' HTTP, HTTP POST, CURLOPT_KEEP_SENDING_ON_ERROR FAIL 1534: 'CURLINFO_FILETIME init and reset' HTTP, HTTP GET, CURLINFO_FILETIME FAIL 1535: 'Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL' HTTP, HTTP GET FAIL 1536: 'Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME' HTTP, HTTP GET FAIL 1539: 'HTTP 1.0 POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding FAIL 1540: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, CURLPAUSE_RECV, chunked Transfer-Encoding, Trailer:, DELAY FAIL 1541: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, chunked Transfer-Encoding, Trailer:, DELAY FAIL 1542: 'connection reuse with CURLOPT_MAXLIFETIME_CONN' HTTP, connection reuse, persistent connection, CURLOPT_MAXLIFETIME_CONN, verbose logs FAIL 1543: 'CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL' HTTP, CURLOPT_CURLU FAIL 1545: 'use curl_formadd() data twice with unreadable file' HTTP, HTTP GET FAIL 1546: 'HTTP transfer-encoding wrong order' HTTP, HTTP GET, Transfer-Encoding FAIL 1550: 'verify setting pipeling blocklisting options' multi FAIL 1551: 're-run redirected transfer without setting URL again' multi FAIL 1552: 'IMAP multi transfer error without curl_multi_remove_handle' IMAP, Clear Text, FETCH FAIL 1553: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH FAIL 1554: 'HTTP with shared connection cache' HTTP, HTTP GET, shared connections FAIL 1555: 'verify api is protected against calls from callbacks' RECURSIVE_API_CALL, DELAY FAIL 1556: 'send long HTTP headers to header callback' HTTP, HTTP GET FAIL 1557: 'Removing easy handle that's in the pending connections list doesn't leave behind a dangling entry' multi, crash FAIL 1558: 'CURLINFO_PROTOCOL for file:// transfer' curl_easy_getinfo, CURLINFO_PROTOCOL FAIL 1559: 'Set excessive URL lengths' CURLOPT_URL, verbose logs FAIL 1563: 'Make sure redirects to CURLPROTO_GOPHER are forbidden by default' GOPHER, HTTP GET, followlocation FAIL 1564: 'wakeup before poll with no easy handles' multi, wakeup FAIL 1565: 'wakeup from another thread' HTTP, HTTP GET, multi, multi-threaded, wakeup FAIL 1566: '--etag-compare that gets a 304 back shouldn't overwrite the file' HTTP, HTTP GET, --etag-compare FAIL 1567: 're-run redirected transfer without setting CURLU URL again' HTTP, URL API, CURLOPT_CURLU, CURLOPT_FOLLOWLOCATION FAIL 1568: 'HTTP with Digest authorization on custom CURLOPT_PORT' HTTP, HTTP GET, HTTP Digest auth FAIL 1569: 'FTP first type=A then regular URL' FTP, PASV, RETR FAIL 1570: 'FTP first type=D then regular URL' FTP, PASV, RETR FAIL 1590: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH FAIL 1591: 'HTTP PUT with trailers at the end' HTTP, HTTP PUT, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA FAIL 1593: 'HTTP custom header overrides CURLOPT_TIMECONDITION' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1594: 'HTTP Retry-After header parsing and extraction' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1595: 'HTTP Retry-After header extraction (without header)' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1596: 'HTTP Retry-After header parsing using a date' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1597: 'CURLOPT_PROTOCOLS_STR' CURLOPT_PROTOCOLS_STR FAIL 1598: 'HTTP POST with trailers at the end' HTTP, HTTP POST, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA FAIL 1613: 'Send "OPTIONS *" with --request-target to a proxy' HTTP, HTTP proxy, --request-target FAIL 1633: '--retry with a 429 response and Retry-After:' HTTP, HTTP GET, RETRY-AFTER FAIL 1634: '--retry with a 429 response and Retry-After: and --fail' HTTP, HTTP GET, RETRY-AFTER FAIL 1635: '--retry with a 429 response and Retry-After: and --fail-with-body' HTTP, HTTP GET, RETRY-AFTER FAIL 1670: '-w individual header output' HTTP, HTTP GET, -w, %header FAIL 1671: '-w header JSON output' HTTP, HTTP GET, -w, %header FAIL 1680: 'HTTP GET with explicit clobber' HTTP, HTTP GET, --clobber FAIL 1681: 'HTTP GET without clobber' HTTP, HTTP GET, --no-clobber FAIL 1682: 'HTTP GET without clobber and --output-dir' HTTP, HTTP GET, --no-clobber FAIL 1683: 'HTTP GET without clobber when 100 files already exist' HTTP, HTTP GET, --no-clobber FAIL 1704: 'HTTP/1 doing HTTP/2 Upgrade: getting a HTTP/2 101 response' HTTP, HTTP GET, HTTP/2 FAIL 1800: 'HTTP/2 upgrade refused' HTTP, HTTP/2 FAIL 1900: 'HSTS curl_easy_duphandle' HTTP, HSTS FAIL 1901: 'Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set' HTTP, HTTP POST, CURLOPT_READFUNCTION FAIL 1903: 'CURLOPT_COOKIEFILE then reset then set again' HTTP, cookies, CURLOPT_COOKIEFILE FAIL 1904: 'HTTP CONNECT with 204 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1905: 'CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object' HTTP, cookies, FLUSH FAIL 1906: 'CURLOPT_CURLU and CURLOPT_PORT' CURLOPT_CURLU, CURLOPT_PORT FAIL 1907: 'CURLINFO_EFFECTIVE_URL with non-scheme URL' CURLINFO_EFFECTIVE_URL FAIL 1909: 'HTTP GET --retry-all-errors to overcome partial transfer' HTTP, HTTP GET, retry FAIL 1910: 'HTTP credentials with newline and redirect' HTTP, HTTP Basic, CURLOPT_FOLLOWLOCATION FAIL 1911: 'verify that curl_easy_setopt() rejects too long string inputs' curl_easy_option FAIL 1913: 'FTP with NOBODY set, getting a missing file' FTP, CURLOPT_NOBODY FAIL 1914: 'FTP with NOBODY and FILETIME set, getting a missing file' FTP, CURLOPT_NOBODY, CURLOPT_FILETIME FAIL 1915: 'HSTS read/write callbacks' HTTP, HSTS, CURLOPT_HSTSREADFUNCTION FAIL 1916: 'MQTT PUBLISH with no POSTFIELDSIZE set' MQTT, MQTT PUBLISH FAIL 1917: 'MQTT PUBLISH with CURLOPT_POST set (no payload)' MQTT, MQTT PUBLISH FAIL 1919: 'set CURLOPT_XOAUTH2_BEARER and do connection reuse' conn-reuse FAIL 1940: 'curl_easy_header' curl_easy_header FAIL 1941: 'curl_easy_header with CONNECT' curl_easy_header, CONNECT FAIL 1942: 'curl_easy_header with 1xx response' curl_easy_header, CONNECT FAIL 1943: 'curl_easy_header with trailers' curl_easy_header, CONNECT FAIL 1944: 'curl_easy_header with redirect' curl_easy_header FAIL 1945: 'curl_easy_nextheader with server + CONNECT' curl_easy_header, CONNECT FAIL 1946: 'curl_easy_header with redirect but get headers from first request' curl_easy_header FAIL 1947: 'curl_easy_nextheader on second request after first did redirects' curl_easy_nextheader FAIL 1948: 'CURLOPT_POST after CURLOPT_UPLOAD reusing handle' HTTP, HTTP POST, HTTP PUT FAIL 1960: 'application hands over already connected socket' HTTP, CURLOPT_SOCKOPTFUNCTION, CURL_SOCKOPT_ALREADY_CONNECTED FAIL 1964: 'HTTP AWS_SIGV4 with one provider and auth cred via URL, but X-Xxx-Date header set manually' HTTP, CURLOPT_AWS_SIGV4 FAIL 2000: 'FTP RETR followed by FILE' FTP, PASV, FILE, multiprotocol FAIL 2001: 'HTTP GET followed by FTP RETR followed by FILE' HTTP, HTTP GET, FTP, PASV, FILE, multiprotocol FAIL 2002: 'HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol FAIL 2003: 'HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol FAIL 2023: 'HTTP authorization retry (Basic)' HTTP, HTTP GET, HTTP Basic auth FAIL 2024: 'HTTP authorization retry (Basic switching to Digest)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth FAIL 2025: 'HTTP authorization retry (Basic switching to NTLM)' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM FAIL 2026: 'HTTP authorization retry (Digest switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth FAIL 2027: 'HTTP authorization retry (Digest)' HTTP, HTTP GET, HTTP Digest auth FAIL 2028: 'HTTP authorization retry (Digest switching to NTLM)' HTTP, HTTP GET, HTTP Digest auth, HTTP NTLM auth, NTLM FAIL 2029: 'HTTP authorization retry (NTLM switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM FAIL 2030: 'HTTP authorization retry (NTLM switching to Digest)' HTTP, HTTP GET, HTTP Digest auth, HTTP NTLM auth, NTLM FAIL 2031: 'HTTP authorization retry (NTLM)' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 2039: 'FTP (optional .netrc with 'default' override; no user/pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 2040: 'HTTP Basic authorization, then without authorization' HTTP, HTTP GET, HTTP Basic auth FAIL 2044: 'Attempt to set a default protocol that does not exist' --proto-default FAIL 2045: 'Set the default protocol to ftp for a schemeless URL' FTP, --proto-default FAIL 2046: 'Connection reuse with IDN host name' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 2047: 'Connection reuse with IDN host name over HTTP proxy' HTTP, HTTP GET, HTTP proxy, IDN, followlocation, --write-out FAIL 2049: 'Connect to specific host' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2050: 'Connect to specific host via HTTP proxy (switch to tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO FAIL 2051: 'Connect to specific host: Reuse existing connections if possible' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2052: 'Connect to specific host: Do not mix connections with and without a "connect to host"' HTTP, HTTP GET, CURLOPT_CONNECT_TO, --resolve FAIL 2053: 'Connect to specific host with IP addresses' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2054: 'Connect to specific host: use the first "connect-to" string that matches' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2055: 'Connect to specific host via SOCKS proxy and HTTP proxy (switch to tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO, SOCKS5 FAIL 2056: 'HTTP Negotiate authentication (stub krb5)' HTTP, HTTP GET, HTTP Negotiate auth (stub krb5) FAIL 2057: 'HTTP Negotiate authentication (stub NTLM)' HTTP, HTTP GET, HTTP Negotiate auth (stub ntlm) FAIL 2058: 'HTTP POST --digest with PUT, resumed upload, modified method and SHA-256' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2059: 'HTTP POST --digest with PUT, resumed upload, modified method, SHA-256 and userhash=true' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2060: 'HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=false' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2061: 'HTTP with RFC7616 SHA256 Digest authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 2062: 'HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false' HTTP, HTTP GET, HTTP Digest auth FAIL 2063: 'HTTP with RFC7616 SHA-256 Digest authorization and userhash=true' HTTP, HTTP GET, HTTP Digest auth FAIL 2064: 'HTTP with RFC7616 Digest authorization with bad password and SHA256' HTTP, HTTP GET, HTTP Digest auth FAIL 2065: 'HTTP with RFC7616 Digest authorization with bad password, SHA-512-256 and userhash=false' HTTP, HTTP GET, HTTP Digest auth FAIL 2066: 'HTTP with RFC7616 Digest authorization with bad password, SHA-256 and userhash=true' HTTP, HTTP GET, HTTP Digest auth FAIL 2067: 'HTTP POST --digest with SHA256 and user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 2068: 'HTTP POST --digest with SHA-512-256, userhash=false and user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 2069: 'HTTP POST --digest with SHA-256, userhash=true and user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 2071: 'basic file:// file with "127.0.0.1" hostname' FILE FAIL 2072: 'file:// with Unix path resolution behavior for the case of extra slashes' FILE FAIL 2073: 'HTTP form posts with handle reset' HTTP, HTTP FORMPOST FAIL 2074: 'HTTP GET' HTTP, HTTP GET, AUTH OAUTHBEARER FAIL 2075: 'Verify usernames are not allowed in url' --disallow-username-in-url, HTTP FAIL 2076: 'HTTP with digest auth and URI contains query' HTTP, HTTP GET, HTTP Digest auth FAIL 2077: 'curl --fail --negotiate to unauthenticated service fails' HTTP, HTTP GET, GSS-API FAIL 2078: 'curl --negotiate should not send empty POST request only' HTTP, HTTP GET, GSS-API FAIL 2080: 'config file with overly long option' FILE, config FAIL 2081: 'Automatic referrer credential and anchor stripping check' HTTP, HTTP GET, referer, followlocation, --write-out FAIL 2082: 'Pre-request callback for HTTP' HTTP FAIL 2083: 'Pre-request callback for FTP' FTP FAIL 2084: 'Pre-request callback for HTTP with callback terminating transfer' HTTP FAIL 2085: 'Pre-request callback for HTTP with location following' HTTP, followlocation FAIL 2086: 'Pre-request callback for HTTP IPv6' HTTP, IPv6 FAIL 2200: 'MQTT SUBSCRIBE with user and password' MQTT, MQTT SUBSCRIBE FAIL 2201: 'MQTT PUBLISH with user and password valid' MQTT, MQTT PUBLISH FAIL 2202: 'MQTT PUBLISH with invalid user and password' MQTT, MQTT PUBLISH FAIL 2203: 'MQTT with error in CONNACK' MQTT, MQTT SUBSCRIBE FAIL 2204: 'MQTT SUBSCRIBE with user and password' MQTT, MQTT SUBSCRIBE FAIL 2205: 'MQTT with very long user name' MQTT, MQTT SUBSCRIBE FAIL 2306: 'HTTP GET reused handle with first header folded' HTTP, HTTP GET FAIL 2308: 'verify return code when write callback returns error' HTTP, HTTP GET FAIL 2309: 'HTTP with .netrc using duped easy handle' netrc, HTTP FAIL 3002: 'SMTP with multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3003: 'SMTP with multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3004: 'SMTP with multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3005: 'SMTP with multiple and invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3006: 'SMTP with multiple invalid (all) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3007: 'SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3008: '--output-dir' -O FAIL 3009: '--output-dir a non-existing directory' -O FAIL 3010: 'HTTP retry-after reset' HTTP, HTTP Basic, RETRY-AFTER FAIL 3011: '--output-dir with --create-dirs' -O FAIL 3012: '--output-dir with -J and -R' -O, -J, --output-dir, --remote-time FAIL 3013: 'Two --output-dir with --next in between' -O, -J, --output-dir FAIL 3014: 'Check if %{num_headers} returns correct number of headers' HTTP, --write-out FAIL 3015: 'HTTP GET -w num_headers with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out FAIL 3016: 'GET a directory using file://' HTTP, HTTP GET, FILE FAIL 3017: 'MQTT SUBSCRIBE with pathological PUBLISH length' MQTT, MQTT SUBSCRIBE FAIL 3018: 'MQTT SUBSCRIBE with PUBLISH larger than --max-filesize' MQTT, MQTT SUBSCRIBE, --max-filesize FAIL 3019: 'HTTP with invalid --resolve syntax' HTTP, HTTP GET, --resolve FAIL 3020: 'HTTP with invalid --connect-to syntax' HTTP, HTTP GET, --connect-to FAIL 3025: 'CURLOPT_HTTP200ALIASES' HTTP, HTTP GET FAIL 3026: 'curl_global_init thread-safety' curl_global_init, thread-safe, slow FAIL 3027: 'Get a file via FTP but 550 after MDTM command' FTP, CURLOPT_FILETIME, MDTM fail FAIL 3028: 'HTTP GET when PROXY Protocol enabled behind a proxy' HTTP, HTTP CONNECT FAIL 3029: 'HTTP with multiple -D' HTTP FAIL 3030: 'HTTP with multiple transfers in one -D' HTTP FAIL 3031: '--output-dir with --create-dirs' --dump-header FAIL 3100: 'RTSP Authentication check' RTSP, RTSP Basic auth FAIL 3101: 'HTTP auth without redirection protocols' HTTP, HTTP Basic auth FAIL 3103: 'CURLOPT_COOKIELIST without expiry' cookies FAIL 3201: 'HTTP GET when PROXY Protocol enabled and spoofed client IP' HTTP, HTTP GET, proxy, haproxy FAIL 3202: 'HTTP-IPv6 GET with PROXY protocol with spoofed client IP' HTTP, HTTP GET, proxy, haproxy, IPv6 FAIL 3203: 'GET a directory using file://' HTTP, HTTP GET, FILE FAIL 3204: 'Use --etag-compare and --etag-save on an existing file' HTTP, HTTP GET TESTFAIL: These test cases failed: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 314 315 316 317 318 319 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 357 360 361 362 365 366 367 368 369 370 371 372 373 374 376 378 379 380 381 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 402 405 411 415 416 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 434 435 436 440 441 442 443 444 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 467 468 469 470 471 473 475 476 477 478 479 480 481 482 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 507 508 509 510 511 512 513 514 515 516 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 559 561 562 563 564 565 566 567 568 569 570 571 572 574 575 576 577 578 579 580 581 584 585 586 588 589 590 591 592 593 595 596 597 598 599 632 643 645 646 647 648 649 650 651 652 653 654 655 658 659 660 661 662 663 666 667 668 669 670 671 672 673 674 675 676 677 679 680 681 682 683 684 685 686 689 690 691 692 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 824 825 826 827 828 829 830 831 833 834 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 870 871 872 873 874 875 876 877 879 880 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 935 936 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 962 963 964 965 966 967 968 969 973 974 975 976 977 978 979 980 981 982 983 984 985 986 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1098 1099 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1114 1115 1116 1117 1118 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1133 1134 1136 1137 1138 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1164 1166 1168 1170 1171 1172 1174 1176 1178 1180 1181 1183 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1210 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1273 1274 1277 1278 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1296 1297 1298 1299 1310 1311 1312 1313 1314 1315 1317 1318 1319 1320 1321 1322 1324 1325 1326 1327 1328 1329 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1447 1448 1449 1453 1455 1456 1457 1458 1460 1462 1463 1464 1465 1466 1467 1468 1469 1471 1472 1473 1474 1475 1476 1479 1480 1481 1482 1483 1484 1485 1487 1489 1490 1491 1492 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1511 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1539 1540 1541 1542 1543 1545 1546 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1563 1564 1565 1566 1567 1568 1569 1570 1590 1591 1593 1594 1595 1596 1597 1598 1613 1633 1634 1635 1670 1671 1680 1681 1682 1683 1704 1800 1900 1901 1903 1904 1905 1906 1907 1909 1910 1911 1913 1914 1915 1916 1917 1919 1940 1941 1942 1943 1944 1945 1946 1947 1948 1960 1964 2000 2001 2002 2003 2023 2024 2025 2026 2027 2028 2029 2030 2031 2039 2040 2044 2045 2046 2047 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2071 2072 2073 2074 2075 2076 2077 2078 2080 2081 2082 2083 2084 2085 2086 2200 2201 2202 2203 2204 2205 2306 2308 2309 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3025 3026 3027 3028 3029 3030 3031 3100 3101 3103 3201 3202 3203 3204 make[1]: *** [Makefile:914: nonflaky-test] Error 1 make[1]: Leaving directory '/startdir/src/build-curl/tests' make: *** [Makefile:1715: test-nonflaky] Error 2 ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_60c058dc-dbaa-4f61-8327-45f1ec190edb/build